FIlesystem mounting as read only after running zypper dup

I ran “zypper dup”, rebooted, and got put into tty. I’ve had snapper get me out of weird dup situations before, but this time it says it can’t because the filesystem was mounted as read only.
I ran dmesg | more and found this in the output:
(I have typed this out manually so there might be typos)

BTRFS warning (device nvme0n1p2): checksum verify failed on logical 10986531160064 mirror 1 wanted 0xd8b06e1a found 0x0238f990 level 0
BTRFS warning (device nvme0n1p2): checksum verify failed on logical 10986531160064 mirror 1 wanted 0xd8b06e1a found 0x0238f990 level 0 
BTRFS warning (device nvme0n1p2): checksum verify failed on logical 10986531160064 mirror 1 wanted 0xd8b06e1a found 0x0238f990 level 0 
BTRFS warning (device nvme0n1p2): checksum verify failed on logical 10986531160064 mirror 2 wanted 0xd8b06e1a found 0x0238f990 level 0 
BTRFS error (device nvme0n1p2 state A): Transaction aborted (error -5)
BTRFS: error (device nvme01n1p2 state A) in btrfs_drop_snapshot:6184: errno-05 IO failure
BTRFS info (device nvme0n1p2 state EA): forced readonly 

I’ve spent some time trying to figure out what I should do and here is some command output that may be relevant:

sudo btrfs device stats /dev/nvme0n1p2

[/dev/nvme0n1p2].write_io_errs    0
[/dev/nvme0n1p2].read_io_errs     0
[/dev/nvme0n1p2].flush_io_errs    0
[/dev/nvme0n1p2].corruption_errs  0
[/dev/nvme0n1p2].generation_errs  0

I made sure the data I cared about was backed up and then I ran btrfs check --repair /dev/nvme0n1p2. Now I get put into dracut. At this point I don’t want to dig my hole any deeper so I’m asking for any help anyone might be able to give before I just have to reinstall opensuse. Hopefully I’m just being an idiot instead of being an idiot + actually having to format my disk with a new install of tumbleweed. Any pointers or help is greatly appreciated. P.S. I’m new to Linux as of earlier this year so I don’t have much experience.

Hiya. Sometimes OpenSUSE might boot into a wrong snapshot and that causes system to be read only. Could you please show output of sudo snapper list ?

Here is the output of snapper list.

─────┼────────┼───────┼─────────────────────────────────┼──────┼─────────┼──────────────────────────────────────────┼──────────────
  0  │ single │       │                                 │ root │         │ current                                  │
  3  │ single │       │ Tue 08 Apr 2025 07:58:31 PM PDT │ root │         │ prenvidia                                │
 64  │ single │       │ Thu 10 Apr 2025 05:42:19 PM PDT │ root │         │ escription=installing_nvidia_drivers_g06 │
400* │ single │       │ Mon 03 Nov 2025 06:15:12 PM PST │ root │         │ writable copy of #389                    │
435  │ pre    │       │ Sun 07 Dec 2025 03:03:02 PM PST │ root │ number  │ zypp(packagekitd)                        │ important=yes
436  │ post   │   435 │ Sun 07 Dec 2025 03:08:12 PM PST │ root │ number  │                                          │ important=yes
437  │ pre    │       │ Tue 09 Dec 2025 05:41:34 PM PST │ root │ number  │ zypp(zypper)                             │ important=yes
438  │ post   │   437 │ Tue 09 Dec 2025 05:41:51 PM PST │ root │ number  │                                          │ important=yes
443  │ pre    │       │ Sat 13 Dec 2025 11:39:23 PM PST │ root │ number  │ zypp(zypper)                             │ important=yes
444  │ post   │   443 │ Sat 13 Dec 2025 11:46:32 PM PST │ root │ number  │                                          │ important=yes
445  │ pre    │       │ Sat 13 Dec 2025 11:49:37 PM PST │ root │ number  │ zypp(zypper)                             │ important=yes
446  │ post   │   445 │ Sat 13 Dec 2025 11:49:53 PM PST │ root │ number  │                                          │ important=yes
447  │ pre    │       │ Sun 14 Dec 2025 07:44:41 AM PST │ root │ number  │ zypp(zypper)                             │ important=no
448  │ post   │   447 │ Sun 14 Dec 2025 07:44:45 AM PST │ root │ number  │                                          │ important=no
449  │ pre    │       │ Tue 16 Dec 2025 04:39:01 PM PST │ root │ number  │ zypp(zypper)                             │ important=no
450  │ post   │   449 │ Tue 16 Dec 2025 04:39:06 PM PST │ root │ number  │                                          │ important=no
451  │ pre    │       │ Sat 20 Dec 2025 09:49:37 AM PST │ root │ number  │ zypp(zypper)                             │ important=yes
452  │ post   │   451 │ Sat 20 Dec 2025 09:56:37 AM PST │ root │ number  │                                          │ important=yes

For some reason last night it wasn’t getting me to where I could log in with my user (in tty) but was throwing me straight into dracut, but now it’s letting me log into my user again (again in tty, no GUI, and still with a read only root filesystem). I also realized I can scroll down the list in grub to reveal the boot from snapshot option, so I hadn’t tried that at the time of making the post. I did just try booting into 450 (the most recent snapshot prior to the day I ran zypper dup), but everything seems to be the same and dmesg still shows this error which I assume is related:

[    5.324742] [    T137] BTRFS warning (device nvme2n1p2): checksum verify failed on logical 10986531160064 mirror 1 wanted 0xd8b06e1a found 0x0283f990 level 0
[    5.401824] [    T141] BTRFS warning (device nvme2n1p2): checksum verify failed on logical 10986531160064 mirror 1 wanted 0xd8b06e1a found 0x0283f990 level 0
[    5.402008] [    T141] BTRFS warning (device nvme2n1p2): checksum verify failed on logical 10986531160064 mirror 1 wanted 0xd8b06e1a found 0x0283f990 level 0
[    5.402128] [    T141] BTRFS warning (device nvme2n1p2): checksum verify failed on logical 10986531160064 mirror 2 wanted 0xd8b06e1a found 0x0283f990 level 0
[    5.402133] [    T659] BTRFS error (device nvme2n1p2 state A): Transaction aborted (error -5)
[    5.402141] [    T659] BTRFS: error (device nvme2n1p2 state A) in btrfs_drop_snapshot:6184: errno=-5 IO failure
[    5.402145] [    T659] BTRFS info (device nvme2n1p2 state EA): forced readonly

Pre and post snapshots made by zypper are readonly by default. If you want writeable copy you need to use sudo snapper rollback [number of snapshot] and reboot after that. Or you can boot into snapshot that works for you and run sudo snapper rollback to make writeable copy and set it as default. You’ll have to reboot to apply it.

Probably it’ll be easier to rollback from here and try sudo zypper dup again.

Am I supposed to do sudo snapper rollback while loaded into the snapshot?

While in the snapshot I tried either sudo snapper rollback and also appending 449 to the command either way and it gives this output:

Ambit is classic.
Creating read-only snapshot of default subvolume. IO Error (mkdir failed errno:30 (Read-only file system)).

After reboot its still read only. Let me know if I’m doing something wrong.

That doesn’t look right… You can check mount and cat /etc/fstab if your system is being mounted in read only mode.

Mount

/dev/nvme2n1p2 on / type btrfs (ro,relatime,seclabel,ssd,discard=async,space_cache=v2,subvolid=722,subvol=/@/.snapshots/448/snapshot)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=65768668k,nr_inodes=16442167,mode=755,inode64)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel,inode64)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,seclabel,nsdelegate,memory_recursiveprot)
none on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime,seclabel)
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
bpf on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,size=26336084k,nr_inodes=819200,mode=755,inode64)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,nosuid,noexec,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=35,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=12564)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime,seclabel)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime,seclabel)
tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime,seclabel)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,nosuid,nodev,relatime,seclabel,pagesize=2M)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,seclabel,nr_inodes=1048576,inode64)
tmpfs on /run/credentials/systemd-journald.service type tmpfs (ro,nosuid,nodev,noexec,relatime,nosymfollow,seclabel,size=1024k,nr_inodes=1024,mode=700,inode64,noswap)
/dev/nvme2n1p2 on /boot/grub2/i386-pc type btrfs (ro,relatime,seclabel,ssd,discard=async,space_cache=v2,subvolid=264,subvol=/@/boot/grub2/i386-pc)
/dev/nvme2n1p2 on /.snapshots type btrfs (ro,relatime,seclabel,ssd,discard=async,space_cache=v2,subvolid=265,subvol=/@/.snapshots)
/dev/nvme2n1p2 on /boot/grub2/x86_64-efi type btrfs (ro,relatime,seclabel,ssd,discard=async,space_cache=v2,subvolid=263,subvol=/@/boot/grub2/x86_64-efi)
/dev/nvme2n1p2 on /home type btrfs (ro,relatime,seclabel,ssd,discard=async,space_cache=v2,subvolid=257,subvol=/@/home)
/dev/nvme2n1p2 on /opt type btrfs (ro,relatime,seclabel,ssd,discard=async,space_cache=v2,subvolid=262,subvol=/@/opt)
/dev/nvme2n1p2 on /root type btrfs (ro,relatime,seclabel,ssd,discard=async,space_cache=v2,subvolid=261,subvol=/@/root)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
/dev/nvme2n1p2 on /srv type btrfs (ro,relatime,seclabel,ssd,discard=async,space_cache=v2,subvolid=260,subvol=/@/srv)
/dev/nvme2n1p2 on /usr/local type btrfs (ro,relatime,seclabel,ssd,discard=async,space_cache=v2,subvolid=259,subvol=/@/usr/local)
/dev/nvme2n1p2 on /var type btrfs (ro,relatime,seclabel,ssd,discard=async,space_cache=v2,subvolid=258,subvol=/@/var)
/dev/nvme2n1p1 on /boot/efi type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
/dev/nvme0n1p1 on /mnt/old_disk/home type btrfs (rw,relatime,seclabel,ssd,discard=async,space_cache=v2,subvolid=262,subvol=/@/home)
/dev/nvme0n1p1 on /mnt/old_disk/opt type btrfs (rw,relatime,seclabel,ssd,discard=async,space_cache=v2,subvolid=261,subvol=/@/opt)
/dev/nvme0n1p1 on /mnt/old_disk/root type btrfs (rw,relatime,seclabel,ssd,discard=async,space_cache=v2,subvolid=564,subvol=/@/.snapshots/238/snapshot)
/dev/nvme1n1p2 on /run/media/mh99/Data type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096)
/dev/sda1 on /run/media/mh99/LinuxData type ext4 (rw,nosuid,nodev,noexec,relatime,seclabel,user)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
none on /opt/piavpn/etc/cgroup/net_cls type cgroup (rw,relatime,seclabel,net_cls)
//192.168.50.192/photo on /mnt/mn4b/photo type cifs (rw,relatime,vers=3.0,cache=strict,upcall_target=app,username=mh99,uid=1000,forceuid,gid=1000,forcegid,addr=192.168.50.192,file_mode=0755,dir_mode=0755,iocharset=utf8,soft,nounix,serverino,mapposix,reparse=nfs,nativesocket,symlink=native,rsize=4194304,wsize=4194304,bsize=1048576,retrans=1,echo_interval=60,actimeo=1,closetimeo=1)
//192.168.50.192/home on /mnt/mn4b/home type cifs (rw,relatime,vers=3.0,cache=strict,upcall_target=app,username=mh99,uid=1000,forceuid,gid=1000,forcegid,addr=192.168.50.192,file_mode=0755,dir_mode=0755,iocharset=utf8,soft,nounix,serverino,mapposix,reparse=nfs,nativesocket,symlink=native,rsize=4194304,wsize=4194304,bsize=1048576,retrans=1,echo_interval=60,actimeo=1,closetimeo=1)
//192.168.50.111/data on /mnt/mnd/data type cifs (rw,relatime,vers=3.0,cache=strict,upcall_target=app,username=mh99,uid=1000,forceuid,gid=1000,forcegid,addr=192.168.50.111,file_mode=0755,dir_mode=0755,iocharset=utf8,soft,nounix,serverino,mapposix,reparse=nfs,nativesocket,symlink=native,rsize=4194304,wsize=4194304,bsize=1048576,retrans=1,echo_interval=60,actimeo=1,closetimeo=1)
//192.168.50.192/files on /mnt/mn4b/files type cifs (rw,relatime,vers=3.0,cache=strict,upcall_target=app,username=mh99,uid=1000,forceuid,gid=1000,forcegid,addr=192.168.50.192,file_mode=0755,dir_mode=0755,iocharset=utf8,soft,nounix,serverino,mapposix,reparse=nfs,nativesocket,symlink=native,rsize=4194304,wsize=4194304,bsize=1048576,retrans=1,echo_interval=60,actimeo=1,closetimeo=1)
//192.168.50.192/music on /mnt/mn4b/music type cifs (rw,relatime,vers=3.0,cache=strict,upcall_target=app,username=mh99,uid=1000,forceuid,gid=1000,forcegid,addr=192.168.50.192,file_mode=0755,dir_mode=0755,iocharset=utf8,soft,nounix,serverino,mapposix,reparse=nfs,nativesocket,symlink=native,rsize=4194304,wsize=4194304,bsize=1048576,retrans=1,echo_interval=60,actimeo=1,closetimeo=1)
tmpfs on /run/credentials/getty@tty1.service type tmpfs (ro,nosuid,nodev,noexec,relatime,nosymfollow,seclabel,size=1024k,nr_inodes=1024,mode=700,inode64,noswap)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=13168040k,nr_inodes=3292010,mode=700,uid=1000,gid=1000,inode64)
tmpfs on /run/credentials/getty@tty3.service type tmpfs (ro,nosuid,nodev,noexec,relatime,nosymfollow,seclabel,size=1024k,nr_inodes=1024,mode=700,inode64,noswap)
tmpfs on /run/credentials/getty@tty2.service type tmpfs (ro,nosuid,nodev,noexec,relatime,nosymfollow,seclabel,size=1024k,nr_inodes=1024,mode=700,inode64,noswap)
tmpfs on /run/credentials/getty@tty4.service type tmpfs (ro,nosuid,nodev,noexec,relatime,nosymfollow,seclabel,size=1024k,nr_inodes=1024,mode=700,inode64,noswap)
tmpfs on /run/credentials/getty@tty5.service type tmpfs (ro,nosuid,nodev,noexec,relatime,nosymfollow,seclabel,size=1024k,nr_inodes=1024,mode=700,inode64,noswap)
tmpfs on /run/credentials/getty@tty6.service type tmpfs (ro,nosuid,nodev,noexec,relatime,nosymfollow,seclabel,size=1024k,nr_inodes=1024,mode=700,inode64,noswap)

cat /etc/fstab

UUID=b4853b97-8ef6-4c58-a96c-10a169646e08  /                       btrfs  defaults                      0  0
UUID=b4853b97-8ef6-4c58-a96c-10a169646e08  /var                    btrfs  subvol=/@/var                 0  0
UUID=b4853b97-8ef6-4c58-a96c-10a169646e08  /usr/local              btrfs  subvol=/@/usr/local           0  0
UUID=b4853b97-8ef6-4c58-a96c-10a169646e08  /srv                    btrfs  subvol=/@/srv                 0  0
UUID=b4853b97-8ef6-4c58-a96c-10a169646e08  /root                   btrfs  subvol=/@/root                0  0
UUID=b4853b97-8ef6-4c58-a96c-10a169646e08  /opt                    btrfs  subvol=/@/opt                 0  0
UUID=b4853b97-8ef6-4c58-a96c-10a169646e08  /home                   btrfs  subvol=/@/home                0  0
UUID=b4853b97-8ef6-4c58-a96c-10a169646e08  /boot/grub2/x86_64-efi  btrfs  subvol=/@/boot/grub2/x86_64-efi  0  0
UUID=b4853b97-8ef6-4c58-a96c-10a169646e08  /boot/grub2/i386-pc     btrfs  subvol=/@/boot/grub2/i386-pc  0  0
UUID=b4853b97-8ef6-4c58-a96c-10a169646e08  /.snapshots             btrfs  subvol=/@/.snapshots          0  0
UUID=904B-B8E4                             /boot/efi               vfat   utf8                          0  2
UUID=a4dda8c8-7f8a-4d39-b788-1461be86a071  /mnt/old_disk/home      btrfs  subvol=@/home,defaults        0  0
UUID=a4dda8c8-7f8a-4d39-b788-1461be86a071  /mnt/old_disk/opt       btrfs  subvol=@/opt,defaults 0 0
UUID=a4dda8c8-7f8a-4d39-b788-1461be86a071  /mnt/old_disk/root      btrfs  defaults 0 0
//192.168.50.192/music /mnt/mn4b/music cifs credentials=/etc/samba/credentials-mn4b,iocharset=utf8,rw,uid=1000,gid=1000,vers=3.0 0 0
//192.168.50.192/files /mnt/mn4b/files cifs credentials=/etc/samba/credentials-mn4b,iocharset=utf8,rw,uid=1000,gid=1000,vers=3.0 0 0 
//192.168.50.192/home /mnt/mn4b/home cifs credentials=/etc/samba/credentials-mn4b,iocharset=utf8,rw,uid=1000,gid=1000,vers=3.0 0 0
//192.168.50.192/photo /mnt/mn4b/photo cifs credentials=/etc/samba/credentials-mn4b,iocharset=utf8,rw,uid=1000,gid=1000,vers=3.0 0 0

//192.168.50.111/data /mnt/mnd/data cifs credentials=/etc/samba/credentials-mnd,iocharset=utf8,rw,uid=1000,gid=1000,vers=3.0 0 0
UUID=d70f4c0d-12ae-4709-9cf1-b176e28ff241  /run/media/mh99/LinuxData auto defaults,user,auto    0 0
UUID=D42A8AD62A8AB4D0                      /run/media/mh99/Data ntfs defaults                   0 0

Here is also lsblk if it helps.

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    0  16.4T  0 disk 
└─sda1        8:1    0  16.4T  0 part /run/media/mh99/LinuxData
sdb           8:16   0   1.9T  0 disk 
├─sdb1        8:17   0   100M  0 part 
├─sdb2        8:18   0    16M  0 part 
├─sdb3        8:19   0   1.9T  0 part 
└─sdb4        8:20   0   736M  0 part 
sdc           8:32   0   1.8T  0 disk 
sdd           8:48   0 931.5G  0 disk 
├─sdd1        8:49   0     6M  0 part 
├─sdd2        8:50   0   4.3G  0 part 
└─sdd3        8:51   0 927.2G  0 part 
nvme1n1     259:0    0   1.9T  0 disk 
├─nvme1n1p1 259:2    0    16M  0 part 
└─nvme1n1p2 259:3    0   1.9T  0 part /run/media/mh99/Data
nvme2n1     259:1    0   7.3T  0 disk 
├─nvme2n1p1 259:4    0     1G  0 part /boot/efi
└─nvme2n1p2 259:5    0   7.3T  0 part /var
                                      /usr/local
                                      /opt
                                      /root
                                      /srv
                                      /home
                                      /boot/grub2/x86_64-efi
                                      /boot/grub2/i386-pc
                                      /.snapshots
                                      /
nvme0n1     259:6    0   1.8T  0 disk 
├─nvme0n1p1 259:7    0   1.6T  0 part /mnt/old_disk/root
│                                     /mnt/old_disk/opt
│                                     /mnt/old_disk/home
└─nvme0n1p2 259:8    0     2G  0 part 

Just to be clear nvme0n1 is my old boot disk from a while ago, it’s mounted just for access. nvme2n1 is my current boot disk. When I output the

Running “mount -o remount, rw /” gives me this error:

BTRFS error (device nvme2n1p2 state EMA): remounting read-write after error is not allowed
mount: /: mount point not mounted or bad option
dmesg(1) may have more information after failed mount system call.

That’s where I check dmesg and see this output:

[    5.118664] [   T1118] BTRFS info (device nvme0n1p1): first mount of filesystem a4dda8c8-7f8a-4d39-b788-1461be86a071
[    5.118692] [   T1118] BTRFS info (device nvme0n1p1): using crc32c (crc32c-lib) checksum algorithm
[    5.154625] [    T743] systemd-journald[743]: Received client request to flush runtime journal.
[    5.155449] [    T743] systemd-journald[743]: Failed to open system journal: Permission denied
[    5.155448] [    T161] audit: type=1400 audit(1766332396.169:6): avc:  denied  { read write } for  pid=743 comm="systemd-journal" name="system.journal" dev="nvme2n1p2" ino=20790299 scontext=system_u:system_r:syslogd_t:s0 tcontext=system_u:object_r:unlabeled_t:s0 tclass=file permissive=0
[    5.195949] [   T1118] BTRFS info (device nvme0n1p1): enabling ssd optimizations
[    5.195952] [   T1118] BTRFS info (device nvme0n1p1): turning on async discard
[    5.195952] [   T1118] BTRFS info (device nvme0n1p1): enabling free space tree
[    5.416003] [   T1130] EXT4-fs (sda1): mounted filesystem d70f4c0d-12ae-4709-9cf1-b176e28ff241 r/w with ordered data mode. Quota mode: none.
[    5.807616] [    T154] BTRFS warning (device nvme2n1p2): checksum verify failed on logical 10986531160064 mirror 1 wanted 0xd8b06e1a found 0x0283f990 level 0
[    5.868645] [    T145] BTRFS warning (device nvme2n1p2): checksum verify failed on logical 10986531160064 mirror 1 wanted 0xd8b06e1a found 0x0283f990 level 0
[    5.868821] [    T145] BTRFS warning (device nvme2n1p2): checksum verify failed on logical 10986531160064 mirror 1 wanted 0xd8b06e1a found 0x0283f990 level 0
[    5.868945] [    T145] BTRFS warning (device nvme2n1p2): checksum verify failed on logical 10986531160064 mirror 2 wanted 0xd8b06e1a found 0x0283f990 level 0
[    5.868951] [    T658] BTRFS error (device nvme2n1p2 state A): Transaction aborted (error -5)
[    5.868959] [    T658] BTRFS: error (device nvme2n1p2 state A) in btrfs_drop_snapshot:6184: errno=-5 IO failure
[    5.868963] [    T658] BTRFS info (device nvme2n1p2 state EA): forced readonly

I’m going to try running memtest as I’m seeing it could be related to memory

Nothing suspicious in /etc/fstab and /dev/nvme2n1p1 is mounted in rw mode so it’s unlikely a disk failure. Your root btrfs system might be corrupted somehow? I guess you’ll have to try to boot using rescue CD or USB and inspect things from there at this point.

Memtest86 is only on pass 2 of 4 and it’s already found 108 errors, so I guess that’s probably what caused the issue(great timing…). Once I figure out which ram stick it is I’ll remove it. After that, I’m not exactly sure the way forward but I guess I’ll be taking the opensuse installer and see if I can somehow repair my filesystem, if not reinstall.

Yikes… Hopefully you’ll be able to recover your system after removing faulty RAM stick. Maybe it was the reason system was getting mounted in read only mode.

Personally … what I’d do is wait until all tests are finished.

( sidenote: Maybe I missed something, i.e., the machine you’re running on: desktop or laptop. Hopefully a desktop with independent hardware components ).

Power down. Let machine cool down.
Remove each memory module, swipe contacts clean.
Reinstall each back into its slot … or maybe move each to another slot.

Or, if you have a suspicion about a specific memory module, do NOT insert it back.

Then boot again … same issue? if NO, that memory module might be the culprit.

Of course, if it’s a laptop with a single memory module (many do), clean it and reinstall … but if there is no difference on reboot, it may mean replacing that possibly bad memory module (but a wild guess - an expensive test).

It is a desktop thankfully. I’m using 4x 32GB DDR4 modules. Memtest86 takes ages due to the size, my previous run with 108 errors I decided to cut it short and begin retrying the test again with a module removed. Interestingly, after removing the first module, it’s already completed one pass without fails, so hopefully it was just the first one I removed. I will let it do the full test, and out of curiosity, I’ll probably try again with that one reinserted to see if it fails again. With RAM prices as they currently are replacing the module would more than double what I spent on it, but I got a lot so I will probably just live with 96GB (I do actually use all that RAM for photogrammetry but I can live without a module).

1 Like

Healthy RAM has 0 error. At least one of the sticks is broken and has to get out.

Thanks everyone who replied. I think my situation is resolved, here is the rest of the story:

I ran memtest86 for a couple days to figure out which ram module was faulty. After confirming my remaining ram was OK, I boot into the opensuse live CD, tried a bunch of stuff that didn’t work, and finally came to the point of risky operations. As a last resort before formatting/reinstalling, I ran sudo btrfs check --repair /dev/nvme2n1p2. It found errors and corrected them. I was then able to mount as RW.

So I rebooted into an older snapshot, rolled back, reboot. Then I ran zypper dup and reboot again and now I’m back in and nothing appears to be broken (yet).

2 Likes