Не удается прочитать Superblock – btrfs

Вопрос или проблема

Помогите! Не удается прочитать Superblock

Я использовал свой ПК (Arch) как обычно с запущенным Android Studio, вдруг он стал поврежденным и попросил перезапустить IDE, так как файловая система стала доступна только для чтения. Я перезагрузил весь ПК, и теперь не могу смонтировать систему btrfs. Использую последний LTS-ядро.

Я новичок в этом, использовал btrfs, так как он становится новым стандартом.

Как мне это исправить, пожалуйста, помогите! Пока я пробовал:

liveuser@localhost-live:~$ sudo btrfs rescue super-recover /dev/sdb3
Все суперблоки действительны, восстанавливать не нужно

liveuser@localhost-live:~$ sudo btrfs rescue zero-log /dev/sdb3
проверка идентификатора транзакции родителя не удалась на 711704576 ожидалось 368940 найдено 368652
проверка идентификатора транзакции родителя не удалась на 711704576 ожидалось 368940 найдено 368652
ПРЕДУПРЕЖДЕНИЕ: не удалось настроить csum-дерево, пропускаем его
проверка идентификатора транзакции родителя не удалась на 711655424 ожидалось 368940 найдено 368652
проверка идентификатора транзакции родителя не удалась на 711655424 ожидалось 368940 найдено 368652
ОШИБКА: не удалось открыть ctree

liveuser@localhost-live:~$ sudo btrfs scrub start /dev/sdb3
ОШИБКА: '/dev/sdb3' не является смонтированным устройством btrfs

liveuser@localhost-live:~$ sudo btrfs scrub status /dev/sdb3
ОШИБКА: '/dev/sdb3' не является смонтированным устройством btrfs

liveuser@localhost-live:~$ sudo mount -o usebackuproot /dev/sdb3 /mnt
mount: /mnt: системный вызов fsconfig потерпел неудачу: Файл существует.
       dmesg(1) может содержать больше информации после неудачного системного вызова монтирования.

liveuser@localhost-live:~$ sudo btrfs check /dev/sdb3
Открытие файловой системы для проверки...
проверка идентификатора транзакции родителя не удалась на 711704576 ожидалось 368940 найдено 368652
проверка идентификатора транзакции родителя не удалась на 711704576 ожидалось 368940 найдено 368652
проверка идентификатора транзакции родителя не удалась на 711704576 ожидалось 368940 найдено 368652
Игнорирование неудачи идентификатора транзакции
ОШИБКА: корень [7 0] уровень 0 не соответствует 2

ОШИБКА: не удалось настроить csum-дерево
ОШИБКА: не удается открыть файловую систему

Также запустил восстановление

liveuser@localhost-live:~$ sudo btrfs rescue chunk-recover /dev/sdb3
Сканирование: ГОТОВО в dev0                        
поврежденный лист: корень=1 блок=713392128 слот=0, неожиданное окончание элемента, имеем 16283 ожидаем 0
свободное место листа ret -3574, размер данных листа 0, использовано 3574 предметов 11
лист 713392128 предметов 11 свободное место -3574 поколение 368940 владелец ROOT_TREE
лист 713392128 флаги 0x1(ЗАПИСАНО) обратная ссылка версия 1
uuid файловой системы 6d8d36ba-d266-4b34-88ad-4f81c383a521
uuid чанка 52ed2048-4a76-4a75-bb75-e1a118ec8118
ОШИБКА: указатель слота 0 листа 713392128 недействителен, смещение 15844 размер 439 предел данных листа 0
ОШИБКА: пропускаем оставшиеся слоты
поврежденный лист: корень=1 блок=713392128 слот=0, неожиданное окончание элемента, имеем 16283 ожидаем 0
свободное место листа ret -3574, размер данных листа 0, использовано 3574 предметов 11
лист 713392128 предметов 11 свободное место -3574 поколение 368940 владелец ROOT_TREE
лист 713392128 флаги 0x1(ЗАПИСАНО) обратная ссылка версия 1
uuid файловой системы 6d8d36ba-d266-4b34-88ad-4f81c383a521
uuid чанка 52ed2048-4a76-4a75-bb75-e1a118ec8118
ОШИБКА: указатель слота 0 листа 713392128 недействителен, смещение 15844 размер 439 предел данных листа 0
ОШИБКА: пропускаем оставшиеся слоты
Не удалось прочитать корень дерева
открытие с ошибкой поврежденного чанка

и восстановление после восстановления

liveuser@localhost-live:~$ sudo btrfs restore /dev/sdb3 /dev/sda5
проверка идентификатора транзакции родителя не удалась на 711704576 ожидалось 368940 найдено 368652
проверка идентификатора транзакции родителя не удалась на 711704576 ожидалось 368940 найдено 368652
проверка идентификатора транзакции родителя не удалась на 711704576 ожидалось 368940 найдено 368652
Игнорирование неудачи идентификатора транзакции
ОШИБКА: корень [7 0] уровень 0 не соответствует 2

ПРЕДУПРЕЖДЕНИЕ: не удалось настроить csum-дерево, пропускаем его
проверка идентификатора транзакции родителя не удалась на 711655424 ожидалось 368940 найдено 368652
проверка идентификатора транзакции родителя не удалась на 711655424 ожидалось 368940 найдено 368652
проверка идентификатора транзакции родителя не удалась на 711655424 ожидалось 368940 найдено 368652
Игнорирование неудачи идентификатора транзакции
ОШИБКА: корень [5 0] уровень 0 не соответствует 2

Не удалось открыть корень, пытаемся восстановить суперблок
проверка идентификатора транзакции родителя не удалась на 711704576 ожидалось 368940 найдено 368652
проверка идентификатора транзакции родителя не удалась на 711704576 ожидалось 368940 найдено 368652
проверка идентификатора транзакции родителя не удалась на 711704576 ожидалось 368940 найдено 368652
Игнорирование неудачи идентификатора транзакции
ОШИБКА: корень [7 0] уровень 0 не соответствует 2

ПРЕДУПРЕЖДЕНИЕ: не удалось настроить csum-дерево, пропускаем его
проверка идентификатора транзакции родителя не удалась на 711655424 ожидалось 368940 найдено 368652
проверка идентификатора транзакции родителя не удалась на 711655424 ожидалось 368940 найдено 368652
проверка идентификатора транзакции родителя не удалась на 711655424 ожидалось 368940 найдено 368652
Игнорирование неудачи идентификатора транзакции
ОШИБКА: корень [5 0] уровень 0 не соответствует 2

Не удалось открыть корень, пытаемся восстановить суперблок
ОШИБКА: номер байта суперблока 274877906944 больше, чем размер устройства 209715200000
Не удалось открыть корень, пытаемся восстановить суперблок

Жесткий диск в порядке, согласно smartctl. Нет переназначенных секторов, и другие разделы ntfs/ext4 работают нормально.

Хотя бы если возможно восстановить данные. Спасибо!

Я в отчаянии, потерял данные, над которыми работал годами. Единственное, что у меня есть из резервной копии, это данные, сделанные несколько месяцев назад, я сделал так много изменений после этого. :'(

Ответ или решение

Извините слышать о вашей ситуации с файловой системой Btrfs. Давайте рассмотрим шаги, которые вы уже предприняли и предложим возможные решения, чтобы попытаться восстановить ваши данные.

Проблема

Ваш компьютер на Arch Linux стал неисправен, и после перезагрузки операционная система не может смонтировать раздел Btrfs. Это привело к ошибке «Unable to read superblock», что указывает на проблемы с метаданными файловой системы. Вы уже попробовали ряд команд для восстановления, но столкнулись с множеством ошибок, связанных с несоответствием идентификаторов транзакций и целостностью данных.

Предварительная диагностика

Сначала необходимо уточнить, что несмотря на сообщения о повреждении файловой системы, ваш диск, судя по выводу smartctl, функционирует нормально. Это может означать, что повреждение произошло на уровне схемы Btrfs, а не на физическом уровне диска.

Возможные стратегии восстановления

  1. Проверка состояния файловой системы:

    • Вы уже использовали команду btrfs check, которая показала проблемы с целостностью. Эту команду можно выполнить с флагом -f, что может помочь в более глубоком анализе, но Будьте осторожны! Эта команда может повредить данные ещё больше.
    sudo btrfs check --repair /dev/sdb3

    Внимание: Рекомендуется сначала создать образ диска с помощью dd и работать с этим изображением, чтобы избежать потери данных.

  2. Использование резервной суперблоков:

    • Btrfs поддерживает резервные копии суперблоков, которые могут быть использованы для восстановления. Вы можете попробовать монтировать файловую систему с указанием резервного суперблока:
    sudo mount -o usebackuproot /dev/sdb3 /mnt

    Если ваш предыдущий вызов уже упал, то, вероятно, следует попробовать указать конкретные номера резервных суперблоков.

  3. Инструменты восстановления:

    • Команда btrfs restore может быть полезной для извлечения данных без монтирования. Эта команда пытается восстановить данные в указанную директорию:
    sudo btrfs restore /dev/sdb3 /путь/к/директории

    Обратите внимание, что в данном случае вы не пытаетесь монтировать файловую систему, а лишь извлекаете данные.

  4. Извлечение данных:

    • Если вышеуказанные шаги не работают, можно попытаться использовать более мощные инструменты для восстановления, такие как photorec, которые могут помочь извлечь данные из повреждённых файловых систем.
  5. Обратитесь к профессионалам:

    • Если данные представляют значимую ценность, возможно, стоит рассмотреть возможность обращения к профессиональным службам по восстановлению данных. Они могут иметь более продвинутые инструменты и методы для восстановления данных из повреждённых файловых систем.

Заключение

Проблемы с Btrfs могут быть сложными, и восстановление данных — это зачастую процесс, требующий аккуратности. Вы уже совершили значительные шаги, и в идеале стоит сохранять любой важный вывод ошибок и выполняемые команды.

Восстановление данных может оказаться непростым, и каждый шаг имеет свои риски. В этом контексте использование образа диска и специализированных инструментов может быть наиболее безопасным подходом, чтобы избежать дополнительных повреждений.

Не теряйте надежды, и надеюсь, что всё удастся восстановить!

Оцените материал
Добавить комментарий

Капча загружается...