Внешний HDD с форматированием Ext4 повреждён, нужно найти резервные суперблоки.

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

У меня есть внешний жесткий диск, отформатированный в формате Ext4, подключенный к серверу Raspberry Pi. В последнее время сервер часто зависает, и в результате жесткий диск поврежден. Когда я подключаю его к своему компьютеру и запускаю sudo fsck /dev/sda, я получаю следующий вывод

fsck from util-linux 2.40.2
e2fsck 1.47.0 (5-фев-2023)
ext2fs_open2: Неверный магический номер в суперблоке
fsck.ext2: Суперблок недействителен, пытаемся использовать резервные блоки...
fsck.ext2: Неверный магический номер в суперблоке при попытке открыть /dev/sda

Суперблок не удалось прочитать или он не описывает действительную файловую систему ext2/ext3/ext4. Если устройство действительно действительное и оно действительно содержит файловую систему ext2/ext3/ext4 (а не swap или ufs или что-то еще), то суперблок поврежден, и вы можете попробовать запустить e2fsck с альтернативным суперблоком:
    e2fsck -b 8193 <устройство>
 или
    e2fsck -b 32768 <устройство>

Найдена таблица разделов gpt в /dev/sda

Я искал информацию в интернете и нашел этот ответ https://unix.stackexchange.com/a/628354, объясняющий, как найти резервные суперблоки. Однако, когда я запускаю mke2fs, я не получаю ясного вывода, как ожидал, ни на устройстве (sda), ни на разделах (sda1 или sda2), и я не хочу продолжать, если не знаю, что делаю. Я боюсь, что сломаю что-то. Вот выводы:

sudo mke2fs -n /dev/sda

mke2fs 1.47.0 (5-фев-2023)
Найдена таблица разделов gpt в /dev/sda
Продолжить все равно? (д,Н)

sudo mke2fs -n /dev/sda2

mke2fs 1.47.0 (5-фев-2023)
/dev/sda2 содержит файловую систему ext4 с меткой 'data'
        последний монтирован на /srv/dev-disk-by-uuid-19f0b495-7b9d-4f67-ae8e-9f8933ff19eb в субботу, 2 ноября 2024 года, 13:36:52
Продолжить все равно? (д,Н)

sudo mke2fs -n /dev/sda1

mke2fs 1.47.0 (5-фев-2023)
/dev/sda1 выравнивание смещено на 3072 байта.
Это может привести к очень плохой производительности, рекомендуется (пере)разделение.
/dev/sda1 содержит файловую систему vfat с меткой 'EFI'
Продолжить все равно? (д,Н)

Это ясно дает мне понять, что проблема на разделе sda1, но я все еще не уверен, чтобы продолжить с mke2fs. То, как он спрашивает Продолжить все равно?, заставляет меня беспокоиться о том, что я что-то сломаю. Более того, я не знаю, почему жесткий диск имеет 2 раздела и что такое раздел EFI sda1 (это не системный диск, а просто внешний диск для данных, хотя на нем установлены контейнеры docker).

Правильна ли команда mke2fs -n для меня здесь? Если да, то должен ли я запустить ее на sda или sda1? Должен ли я повторить то, что я сделал, и выбрать Продолжить все равно?

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

Восстановление данных с поврежденного внешнего HDD, отформатированного в Ext4

Ваша ситуация с внешним HDD, отформатированным в файловой системе Ext4 и подключенным к Raspberry Pi серверу, требует внимательного подхода к восстановлению данных. Ошибка, о которой вы упоминаете, указывает на повреждение суперблока, который является критически важной частью файловой системы. Однако есть возможность использования резервных суперблоков для восстановления доступа к данным.

Понимание суперблоков

Суперблок — это структура данных, которая хранит важную информацию о файловой системе, включая ее структуру, размеры и состояние. Если основной суперблок поврежден, системы do предоставляют резервные суперблоки для восстановления доступа к данным. Эти резервные суперблоки размещены в определенных местах на диске.

Шаги по восстановлению

  1. Использование mke2fs для получения резервных суперблоков:
    На основе ваших команд с mke2fs -n, вы находитесь на правильном пути. Команда -n позволяет узнать, где находятся резервные суперблоки, не внося при этом изменений в файловую систему.

    • Примечание: Вывод, который показывает, что sda1 содержит файловую систему vfat и не является частью Ext4, говорит о том, что с этим разделом ничего делать не нужно. Основное внимание должно быть уделено sda2, где, вероятно, и находится ваша поврежденная Ext4 файловая система.
  2. Использование команды e2fsck:
    Далее вам следует использовать e2fsck для проверки вашего раздела sda2 с указанием резервных суперблоков, полученных из mke2fs.

    Например, после запуска mke2fs -n /dev/sda2, вы получите информацию о расположении резервных суперблоков (например, 8193 и 32768). Вы можете использовать их следующим образом:

    sudo e2fsck -b 32768 /dev/sda2

    или

    sudo e2fsck -b 8193 /dev/sda2
  3. Проверка файловой системы:
    После этого e2fsck начнет проверку файловой системы, используя указанный резервный суперблок. Это может занять некоторое время в зависимости от объема данных на диске. В процессе проверки могут быть предложены действия для исправления ошибок. Подтверждайте их, если уверены, что это не повредит вашим данным.

  4. Восстановление данных:
    В случае успешного завершения команды e2fsck, вы должны получить доступ к своим данным. Рекомендуется сделать резервную копию важных данных на другом носителе, если это возможно.

  5. Предостережение и мониторинг:
    Обязательно следите за состоянием диска в будущем. Возможно, стоит протестировать диск с помощью SMART (например, с помощью команды smartctl), чтобы удостовериться, что проблемы с жестким диском не повторятся.

Заключение

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

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

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