Agh!
Moved laptop earlier, heard a succession of beeps, next time I look the capslock is blinking - oh oh. System unresponsive, REISUB didn’t help (sure I set it up), did a hard reset.
On next boot I get “Unknown filesystem” & rescue prompt. System on NVMe (~1.5 years old) of 3 partitions: ESP VFAT, Root BTRFS, swap. Booted to Ganymede live, did some checks shown below.
lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
nvme0n1
├─nvme0n1p1
│ vfat FAT32 6A4B-DB32
├─nvme0n1p2
│
└─nvme0n1p3
swap 1 swap 112c0258-1344-4a02-8451-918ffacd3052
sudo modprobe btrfs
sudo blkid /dev/nvme0n1p2
/dev/nvme0n1p2: PARTLABEL=“endeavouros” PARTUUID=“b96e852a-4a54-48e7-9a4b-ea8762994c65”
sudo btrfs filesystem show /dev/nvme0n1p2
ERROR: superblock checksum mismatch: wanted 0xe67d9754 found 0xd136d0c3
ERROR: superblock checksum mismatch: wanted 0xe67d9754 found 0xd136d0c3
sudo btrfs inspect-internal dump-super -f /dev/nvme0n1p2
superblock: bytenr=65536, device=/dev/nvme0n1p2
csum_type 0 (crc32c)
csum_size 4
csum 0xe67d9754 [DON’T MATCH]
bytenr 65536
flags 0x1
( WRITTEN )
magic _BHRfS_M [match]
fsid 981f6265-bd51-4cdb-ab52-216221398977
metadata_uuid 00000000-0000-0000-0000-000000000000
label endeavouros
generation 215966
root 104708931584
sys_array_size 129
chunk_root_generation 199704
root_level 1
chunk_root 23642112
chunk_root_level 0
log_root 104673148928
log_root_transid (deprecated) 0
log_root_level 0
total_bytes 236668776448
bytes_used 92219805696
sectorsize 4096
nodesize 16384
leafsize (deprecated) 16384
stripesize 4096
root_dir 6
num_devices 1
compat_flags 0x0
compat_ro_flags 0x3
( FREE_SPACE_TREE |
FREE_SPACE_TREE_VALID )
incompat_flags 0x371
( MIXED_BACKREF |
COMPRESS_ZSTD |
BIG_METADATA |
EXTENDED_IREF |
SKINNY_METADATA |
NO_HOLES )
cache_generation 0
uuid_tree_generation 215966
dev_item.uuid 9ee7a29f-9711-4178-8c78-a5b412517e8d
dev_item.fsid 981f6265-bd51-4cdb-ab52-216221398977 [match]
dev_item.type 0
dev_item.total_bytes 236668776448
dev_item.bytes_used 110620573696
dev_item.io_align 4096
dev_item.io_width 4096
dev_item.sector_size 4096
dev_item.devid 1
dev_item.dev_group 0
dev_item.seek_speed 0
dev_item.bandwidth 0
dev_item.generation 0
sys_chunk_array[2048]:
item 0 key (FIRST_CHUNK_TREE CHUNK_ITEM 22020096)
length 274886295552 owner 274877906946 stripe_len 65536 type SYSTEM|DUP
io_align 65536 io_width 65536 sector_size 4096
num_stripes 2 sub_stripes 1
stripe 0 devid 1 offset 22020096
dev_uuid 9ee7a29f-9711-4178-8c78-a5b412517e8d
stripe 1 devid 1 offset 30408704
dev_uuid 9ee7a29f-9711-4178-8c78-a5b412517e8d
backup_roots[4]:
backup 0:
backup_tree_root: 104703639552 gen: 215965 level: 1
backup_chunk_root: 23642112 gen: 199704 level: 0
backup_extent_root: 104650047488 gen: 215965 level: 2
backup_fs_root: 104286453760 gen: 215812 level: 1
backup_dev_root: 104207532032 gen: 199704 level: 0
csum_root: 104650457088 gen: 215965 level: 2
backup_total_bytes: 236668776448
backup_bytes_used: 92218572800
backup_num_devices: 1
backup 1:
backup_tree_root: 104708931584 gen: 215966 level: 1
backup_chunk_root: 23642112 gen: 199704 level: 0
backup_extent_root: 104655486976 gen: 70368744393630 level: 2
backup_fs_root: 70473030631424 gen: 215812 level: 1
backup_dev_root: 104207532032 gen: 199704 level: 0
csum_root: 104623800320 gen: 215966 level: 2
backup_total_bytes: 236668776448
backup_bytes_used: 70460963983360
backup_num_devices: 1
backup 2:
backup_tree_root: 104682831872 gen: 215963 level: 1
backup_chunk_root: 23642112 gen: 199704 level: 0
backup_extent_root: 104632975360 gen: 215963 level: 2
backup_fs_root: 104286453760 gen: 215812 level: 1
backup_dev_root: 104207532032 gen: 199704 level: 0
csum_root: 104630681600 gen: 215963 level: 2
backup_total_bytes: 236668776448
backup_bytes_used: 92218445824
backup_num_devices: 1
backup 3:
backup_tree_root: 104695316480 gen: 215964 level: 1
backup_chunk_root: 23642112 gen: 199704 level: 0
backup_extent_root: 104652996608 gen: 215964 level: 2
backup_fs_root: 104286453760 gen: 215812 level: 1
backup_dev_root: 104207532032 gen: 199704 level: 0
csum_root: 104652144640 gen: 215964 level: 2
backup_total_bytes: 236668776448
backup_bytes_used: 92218318848
backup_num_devices: 1
sudo btrfs inspect-internal dump-super --all /dev/nvme0n1p2
superblock: bytenr=65536, device=/dev/nvme0n1p2
csum_type 0 (crc32c)
csum_size 4
csum 0xe67d9754 [DON’T MATCH]
bytenr 65536
flags 0x1
( WRITTEN )
magic _BHRfS_M [match]
fsid 981f6265-bd51-4cdb-ab52-216221398977
metadata_uuid 00000000-0000-0000-0000-000000000000
label endeavouros
generation 215966
root 104708931584
sys_array_size 129
chunk_root_generation 199704
root_level 1
chunk_root 23642112
chunk_root_level 0
log_root 104673148928
log_root_transid (deprecated) 0
log_root_level 0
total_bytes 236668776448
bytes_used 92219805696
sectorsize 4096
nodesize 16384
leafsize (deprecated) 16384
stripesize 4096
root_dir 6
num_devices 1
compat_flags 0x0
compat_ro_flags 0x3
( FREE_SPACE_TREE |
FREE_SPACE_TREE_VALID )
incompat_flags 0x371
( MIXED_BACKREF |
COMPRESS_ZSTD |
BIG_METADATA |
EXTENDED_IREF |
SKINNY_METADATA |
NO_HOLES )
cache_generation 0
uuid_tree_generation 215966
dev_item.uuid 9ee7a29f-9711-4178-8c78-a5b412517e8d
dev_item.fsid 981f6265-bd51-4cdb-ab52-216221398977 [match]
dev_item.type 0
dev_item.total_bytes 236668776448
dev_item.bytes_used 110620573696
dev_item.io_align 4096
dev_item.io_width 4096
dev_item.sector_size 4096
dev_item.devid 1
dev_item.dev_group 0
dev_item.seek_speed 0
dev_item.bandwidth 0
dev_item.generation 0
superblock: bytenr=67108864, device=/dev/nvme0n1p2
csum_type 0 (crc32c)
csum_size 4
csum 0x6dc085e6 [match]
bytenr 67108864
flags 0x1
( WRITTEN )
magic _BHRfS_M [match]
fsid 981f6265-bd51-4cdb-ab52-216221398977
metadata_uuid 00000000-0000-0000-0000-000000000000
label endeavouros
generation 215966
root 104708931584
sys_array_size 129
chunk_root_generation 199704
root_level 1
chunk_root 23642112
chunk_root_level 0
log_root 0
log_root_transid (deprecated) 0
log_root_level 0
total_bytes 236668776448
bytes_used 92219805696
sectorsize 4096
nodesize 16384
leafsize (deprecated) 16384
stripesize 4096
root_dir 6
num_devices 1
compat_flags 0x0
compat_ro_flags 0x3
( FREE_SPACE_TREE |
FREE_SPACE_TREE_VALID )
incompat_flags 0x371
( MIXED_BACKREF |
COMPRESS_ZSTD |
BIG_METADATA |
EXTENDED_IREF |
SKINNY_METADATA |
NO_HOLES )
cache_generation 0
uuid_tree_generation 215966
dev_item.uuid 9ee7a29f-9711-4178-8c78-a5b412517e8d
dev_item.fsid 981f6265-bd51-4cdb-ab52-216221398977 [match]
dev_item.type 0
dev_item.total_bytes 236668776448
dev_item.bytes_used 110620573696
dev_item.io_align 4096
dev_item.io_width 4096
dev_item.sector_size 4096
dev_item.devid 1
dev_item.dev_group 0
dev_item.seek_speed 0
dev_item.bandwidth 0
dev_item.generation 0
sudo btrfs rescue super-recover /dev/nvme0n1p2
ERROR: superblock checksum mismatch: wanted 0xe67d9754 found 0xd136d0c3
ERROR: superblock checksum mismatch: wanted 0xe67d9754 found 0xd136d0c3
ERROR: superblock checksum mismatch: wanted 0xe67d9754 found 0xd136d0c3
Make sure this is a btrfs disk otherwise the tool will destroy other fs, Are you sure? [y/N]: n
Aborted to recover bad superblocks
Was anxious about the triple superblock crc mismatch output so I cancelled. Backup superblock 1 seems fine when inspected, backup superblock 2 seems absent (nil output from command):
sudo btrfs inspect-internal dump-super --super 1 /dev/nvme0n1p2
superblock: bytenr=67108864, device=/dev/nvme0n1p2
csum_type 0 (crc32c)
csum_size 4
csum 0x6dc085e6 [match]
bytenr 67108864
flags 0x1
( WRITTEN )
magic _BHRfS_M [match]
fsid 981f6265-bd51-4cdb-ab52-216221398977
metadata_uuid 00000000-0000-0000-0000-000000000000
label endeavouros
generation 215966
root 104708931584
sys_array_size 129
chunk_root_generation 199704
root_level 1
chunk_root 23642112
chunk_root_level 0
log_root 0
log_root_transid (deprecated) 0
log_root_level 0
total_bytes 236668776448
bytes_used 92219805696
sectorsize 4096
nodesize 16384
leafsize (deprecated) 16384
stripesize 4096
root_dir 6
num_devices 1
compat_flags 0x0
compat_ro_flags 0x3
( FREE_SPACE_TREE |
FREE_SPACE_TREE_VALID )
incompat_flags 0x371
( MIXED_BACKREF |
COMPRESS_ZSTD |
BIG_METADATA |
EXTENDED_IREF |
SKINNY_METADATA |
NO_HOLES )
cache_generation 0
uuid_tree_generation 215966
dev_item.uuid 9ee7a29f-9711-4178-8c78-a5b412517e8d
dev_item.fsid 981f6265-bd51-4cdb-ab52-216221398977 [match]
dev_item.type 0
dev_item.total_bytes 236668776448
dev_item.bytes_used 110620573696
dev_item.io_align 4096
dev_item.io_width 4096
dev_item.sector_size 4096
dev_item.devid 1
dev_item.dev_group 0
dev_item.seek_speed 0
dev_item.bandwidth 0
dev_item.generation 0
I tried a RO mount but this happened:
sudo mount -o ro,subvol=@,rescue=usebackuproot /dev/nvme0n1p2 /mnt
mount: /mnt: fsconfig() failed: vfat: Unknown parameter ‘subvol’.
dmesg(1) may have more information after failed mount system call.
I’m tempted to try sudo btrfs rescue super-recover /dev/nvme0n1p2 & see what happens but I don’t want to lose this filsystem if I can help it, recovery is prefereable.
Can anyone help?