Я перепробовал много идей из сети, но ни одна из них не сработала.
Это выглядит правильно и в хорошем порядке
**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-накопитель Kingston, но уже несколько месяцев, поэтому не думаю, что это должно быть фактором.
Любые указатели получили много, так как я предпочел бы продолжать использовать btrfs, а не возвращаться к ext4.
источник
sudo btrfs device scan
не работает, аbtrfsctrl
устарела и исчезла. Я думал, что это заменено прежней командой, но это не работает, как вы видите ...попробуйте установить его
-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 после слишком многих проблем.
источник