btrfs error unknown – root fs не будет монтировать

Я запускаю Arch Linux в системе с полным дисковым шифрованием, а память – это накопитель Samsung 950 Pro NVMe (512 ГБ). Компьютер пару месяцев назад. До сих пор плохое поведение. (Я использую только 21 гигабайт из 512 мест на диске).

btrfs-progs v4.5.1 

Сегодня я обычно использовал свою систему и просматривал веб-страницы. Firefox перестает реагировать внезапно и без видимых причин. Затем плазма перестала отвечать. Я не мог выйти из KDE.

Я убил сессию пользователя (pkill -u me), затем я устал от startx. В этот момент я заметил, что моя корневая файловая система была доступна только для чтения.

В качестве первого шага я перезагрузился. Это ничего не помогло.

Корень fs не будет монтироваться. Вот информация об ошибке:

 running hook [encrypt] performing fsck on /dev/mapper/cryptroot mounting /dev/mapper/cryptroot on real root BTRFS error (device dm-0) in btrfs_replay_log: 2421: errno=-22 unknown (failed to recover log tree) BTRFS error (device dm-0): cleaner transaction attach returned -30 BTRFS open_ctree failed mount: wrong fs type, bad option, bad superblock on /dev/mapper/cryptroot dropped into emergency shell 

Я набрал это вручную, поэтому незначительная пунктуация – это не точные сообщения и т. Д.

journalctl -p3 не сообщает ничего похожего на это.

EDIT : несколько перезагрузок не разрешают его. Ошибка все тот же.

Я загрузился в среду LiveUSB и выполнил эту команду:

 cryptsetup open --type luks /dev/xxx cryptroot mount -t btrfs -o noatime,nodiratime,ssd,compress=lzo,defaults,space_cache,subvolid=257 /dev/mapper/cryptroot /mnt 

Сообщение об ошибке также одно и то же:

 [ 2300.967048] BTRFS info (device dm-0): use ssd allocation scheme [ 2300.967058] BTRFS info (device dm-0): use lzo compression [ 2300.967066] BTRFS info (device dm-0): disk space caching is enabled [ 2300.967069] BTRFS: has skinny extents [ 2300.995393] BTRFS: error (device dm-0) in btrfs_replay_log:2413: errno=-22 unknown (Failed to recover log tree) [ 2300.997617] BTRFS info (device dm-0): delayed_refs has NO entry [ 2300.997673] BTRFS error (device dm-0): cleaner transaction attach returned -30 [ 2301.035405] BTRFS: open_ctree failed 

EDIT 2:

На основе этих двух ссылок:

https://btrfs.wiki.kernel.org/index.php/Problem_FAQ
https://btrfs.wiki.kernel.org/index.php/Btrfs-zero-log

Я решил воспользоваться этой командой:

 btrfs rescue zero-log 

Это сработало, и я смогу подключить файловую систему.

ИЗМЕНИТЬ 3:

Я выполнил проверку btrfs –repair. Вот результат:

 root@broken / # umount /mnt root@broken / # btrfs check --repair /dev/mapper/cryptroot enabling repair mode Checking filesystem on /dev/mapper/cryptroot checking extents bad metadata [292414476288, 292414492672) crossing stripe boundary bad metadata [292414541824, 292414558208) crossing stripe boundary bad metadata [292414672896, 292414689280) crossing stripe boundary bad metadata [292414869504, 292414885888) crossing stripe boundary bad metadata [292415000576, 292415016960) crossing stripe boundary bad metadata [292415066112, 292415082496) crossing stripe boundary bad metadata [292415131648, 292415148032) crossing stripe boundary bad metadata [292415262720, 292415279104) crossing stripe boundary bad metadata [292415328256, 292415344640) crossing stripe boundary bad metadata [292415393792, 292415410176) crossing stripe boundary repaired damaged extent references Fixed 0 roots. checking free space cache cache and super generation don't match, space cache will be invalidated checking fs roots checking csums checking root refs checking quota groups Ignoring qgroup relation key 258 Ignoring qgroup relation key 263 Ignoring qgroup relation key 71776119061217538 Ignoring qgroup relation key 71776119061217543 Counts for qgroup id: 257 are different our: referenced 10412273664 referenced compressed 10412273664 disk: referenced 10411311104 referenced compressed 10411311104 diff: referenced 962560 referenced compressed 962560 our: exclusive 10412273664 exclusive compressed 10412273664 disk: exclusive 10412273664 exclusive compressed 10412273664 found 21570773057 bytes used err is 0 total csum bytes: 19563456 total tree bytes: 403767296 total fs tree bytes: 349667328 total extent tree bytes: 27328512 btree space waste bytes: 66313360 file data blocks allocated: 39882014720 referenced 28043988992 extent buffer leak: start 20987904 len 16384 extent buffer leak: start 292688068608 len 16384 extent buffer leak: start 60915712 len 16384 extent buffer leak: start 29569581056 len 16384 extent buffer leak: start 29569597440 len 16384 extent buffer leak: start 292412063744 len 16384 extent buffer leak: start 292405870592 len 16384 extent buffer leak: start 292405936128 len 16384 extent buffer leak: start 292413964288 len 16384 

Затем я проверил dmesg и увидел эту информацию об ошибке:

 [ 4925.562422] BTRFS info (device dm-0): use ssd allocation scheme [ 4925.562432] BTRFS info (device dm-0): use lzo compression [ 4925.562440] BTRFS info (device dm-0): disk space caching is enabled [ 4925.562444] BTRFS: has skinny extents [ 4925.578705] BTRFS error (device dm-0): qgroup generation mismatch, marked as inconsistent [ 4925.584033] BTRFS: checking UUID tree 

Мои вопросы:

  1. Что вызвало это?
  2. Что я должен делать дальше?

Off-target Reference: https://wiki.archlinux.org/index.php/Btrfs#BTRFS:_open_ctree_failed (это не похоже на мою проблему. У меня нет btrfs fs для нескольких устройств, и я не используя btrfs в HOOKS в /etc/mkinitcpio.conf)

  • Какова цель перечисления rootfs в файле / etc / fstab?
  • Как работает создание нового файла USB-устройства в каталоге / dev / bus / usb / 001 /?
  • Каков правильный способ разблокировать корневую файловую систему, охватывающую два устройства LUKS, только однажды введя пароль, используя systemd?
  • Является ли использование корневой файловой системы только для чтения хорошей идеей для встроенных настроек?
  • Удалено / tmp случайно
  • Что такое zImage, rootfs
  • Добавление файлов в Linux readonly-root
  • Стандартное / общее место для перекрестной компиляции
  • mount: warning: / etc / mtab не доступен для записи (например, файловая система только для чтения)
  • Личный каталог `usr`
  • Что это за файл: .readahead в моем корневом каталоге?
  • Linux и Unix - лучшая ОС в мире.