升级 64 位 Ubuntu 11.10 笔记本电脑后,btrfs 分区无法挂载

升级 64 位 Ubuntu 11.10 笔记本电脑后,btrfs 分区无法挂载

我尝试过网上的许多想法,但都没有用。

这看起来正确且井然有序

**sudo btrfs filesystem show /dev/sda2**
failed to read /dev/sr0
Label: none  uuid: daeedc21-7449-4b4a-ae55-e58a5a28a504
    Total devices 1 FS bytes used 4.02GB
    devid    1 size 32.60GB used 22.54GB path /dev/sda2

当我进行扫描时,它返回看似合理的响应:

**sudo btrfsck -s /dev/sda2**
found 4321669120 bytes used err is 0
total csum bytes: 4187576
total tree bytes: 23400448
total fs tree bytes: 12083200
btree space waste bytes: 6789166
file data blocks allocated: 4786331648
 referenced 4126896128
Btrfs Btrfs v0.19

但是,即使我使用降级挂载选项,日志中仍然会出现错误,而且似乎找不到好的超级块。

**sudo mount -o degraded -t btrfs /dev/sda2 /home**
mount: wrong fs type, bad option, bad superblock on /dev/sda2,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

日志中看到错误:

[  647.710937] device fsid 4a4b497421dceeda-4a5285a8ae555ae devid 1 transid 20368 /dev/sda2
[  647.712760] btrfs: allowing degraded mounts
[  647.714378] parent transid verify failed on 7051943936 wanted 20368 found 20375
[  647.714784] parent transid verify failed on 7051943936 wanted 20368 found 20375
[  647.715182] parent transid verify failed on 7051943936 wanted 20368 found 20375
[  647.760270] btrfs: open_ctree failed
[ 1081.410560] device fsid 4a4b497421dceeda-4a5285a8ae555ae devid 1 transid 20368 /dev/sda2

这台笔记本电脑从未突然断电,只是在每日更新后正常关机并重启。我使用的是金士顿 SSD 驱动器,但已经用了几个月了,所以不认为这应该是一个促成因素。

非常感谢任何指点,因为我宁愿继续使用 btrfs,而不是回到 ext4。

答案1

我遇到了完全相同的问题并通过运行解决了它sudo btrfsctl -a(显然运行sudo btrfs device scan也可以,尽管我还没有尝试过)。

不幸的是,每次启动后你都需要运行这个。我找到了一个自动解决方案这里,但据我所知,这有点儿像黑客行为。

答案2

尝试安装它-o recovery

你也可以从这里构建 fsck.btrfs 工具

https://btrfs.wiki.kernel.org/index.php/Btrfs_source_repositories#btrfs-progs_Git_Repository

这将允许你./btrfsck --repair /dev/devicename

注意:您还需要apt-get install build-essential

我遇到了内核“BUG”,而你没有遇到,但是在使用 btrfs 一段时间后,我最终在解决太多问题后回到了 ext4。

相关内容