Итак, после небольшого количества тестов с разгоном, мне комп заявил, что загрузиться не может, поскольку контрольная сумма того, что там есть не совпадает с тем, что записывалось. Это был системный диск, так что я немного огорчился.
Загрузился с Live CD и стал пытаться восстановить.
btrfs check сообщила, что разваленного много, так что не может ничего сделать...
Starting repair.
Opening filesystem to check...
Checking filesystem on /dev/sdb3
UUID: 208771c5-fab4-4e69-ab0c-a468037b7c48
[1/8] checking log skipped (none written)
[2/8] checking root items
checksum verify failed on 3248455680 wanted 0x90d5d8be found 0xed99ee04
checksum verify failed on 3248455680 wanted 0x90d5d8be found 0xed99ee04
Csum didn't match
ERROR: failed to repair root items: Input/output error
Гуглил много, в том числе предложения сделать btrfs scrub, что сделать нельзя было, поскольку диск не монтировался. Не монтировался он и в readonly, со всеми опциями, которые предлагались, а zero-log, который предлагали, вообще в современных btrfs-progs отсутствовал.
Для начала я все же вытащил все (подозреваю) файлы с помощью btrfs restore на другой диск. Суть операции - просто достать то, что можно достать, сохраняя структуру директорий и имена файлов.
Ключевое, что мне в итоге помогло -
Код:
btrfs check --repair -b /dev/sda3
Без опции бекапа оно все валилось и валилось, отказываясь работать по разному, а тут ррраз и завелась. Причем, я уже и диск вытащил, после чего удивленно запихнул обратно и система загрузилась, как было.