Вопрос или проблема
У меня есть Synology NAS с конфигурацией RAID 1, на котором я недавно случайно удалил общую папку с данными, которые я хочу вернуть. Я отключил NAS и загрузился в машину с Ubuntu Live CD, подключив один из дисков NAS.
Я создал образ диска с помощью DD и теперь у меня есть файл oldhd.img на внешнем диске.
Затем я перешел на новую машину, загрузился с Live CD, подключил внешний диск и перешел в директорию внешнего диска, выполнив следующую команду:
mount -r -o loop oldhd.img /mnt
Затем я запустил fdisk -l
и увидел, что диск, который мне нужно восстановить, находится на /dev/sdb
.
Я перешел в папку жесткого диска моего компьютера и выполнил:
extundelete /dev/sdb --restore-all
Она возвращает:
extundelete - не удалось открыть устройство "/dev/sdb" в режиме только для чтения: Код ошибки 2133571347
Что я делаю не так? И что мне следует сделать вместо этого?
Когда вы используете mount
с опцией -r
, файловая система монтируется только для чтения. Чтобы выполнить запись на диск, вы не должны монтировать его в режиме только для чтения.
Таким образом, команда должна быть следующей:
mount -o loop oldhd.img /mnt
Также, из сообщения на форуме Sourceforge:
Код ошибки 2133571347 означает “EXT2_ET_BAD_MAGIC”
Это означает, что нет допустимой подписи для суперблока.Либо:
- Суперблок поврежден, в этом случае вы можете попытаться открыть файловую систему с помощью копий суперблока, смотрите опции
-b blocknumber
и-B blocksize
, или- Вы допустили ошибку при создании образа файловой системы, или
- Вы создали образ всего диска, а не копию файловой системы, в этом случае вам необходимо указать параметры смещения для losetup.
.
Ответ или решение
Ошибка, с которой вы столкнулись при использовании команды extundelete, указывает на проблему с чтением устройства в режиме только для чтения. Кроме того, ошибка с кодом 2133571347 связана с отсутствием действительного сигнатуры суперблока. Чтобы детально понять и устранить неполадку, рассмотрим теоритическую часть, приведем примеры и предложим практическое решение проблемы.
Теория
При восстановлении данных, особенно когда речь идет о RAID-массиве и файловых системах ext, важно понимать и правильно обрабатывать контекст, в котором находятся данные. Вы использовали dd для создания образа всего диска, но при этом важным шагом является принятие решения о том, какой именно раздел или файловая система требуется для восстановления, так как extundelete работает именно с файловыми системами ext.
Пример
Файловая система ext имеет суперблок, который является критически важным элементом структуры данных. Если суперблок поврежден или недоступен, extundelete
не сможет корректно прочитать файловую систему. Ошибка "EXT2_ET_BAD_MAGIC" может возникнуть, если:
- При создании образа диска с помощью dd не был учтен правильный раздел, необходимый для восстановления.
- Был создан образ всего диска вместо отдельной файловой системы, и extundelete не знает, где точно находится начало файловой системы.
- Суперблок действительно поврежден, и нужно использовать резервные копии superblock для восстановления.
Применение
Рассмотрим пошаговую инструкцию для решения проблемы:
-
Уточнение содержимого образа.
Используйте командуfdisk -l oldhd.img
для определения структуры разделов внутри образаoldhd.img
. Это позволит убедиться, что вы оперируете с правильным разделом. -
Использование losetup для точной привязки.
Если образ был создан для всего диска, а не только для его раздела, примените losetup для определения конкретной части файла, которая должна считаться началом нужной файловой системы. Например:losetup --find --show --partscan /path/to/oldhd.img
-
Анализ суперблока.
Если раздел определен и примонтирован, но все еще возникают проблемы, попробуйте использовать копии суперблока. Инструментdumpe2fs /dev/loopX
(где loopX — созданный loop-устройство) покажет расположение резервных суперблоков. После этого, попробуйте восстановить файловую систему с помощью найденного резервного суперблока:extundelete /dev/loopX --restore-all -b 32768
Где
32768
— это номер блока резервного суперблока, который вы определите с помощью dumpe2fs. -
Избежание монтирования.
Стоит отметить, что монтирование образа даже в режиме только для чтения до выполнения extundelete может повлиять на результат, если суперблок поврежден. Рекомендуется сначала проработать с самими образом и только после удачных манипуляций — монтировать его. -
Проверка источника проблем.
Обратите внимание на дальнейшую диагностику причин удаления данных. RAID 1 обеспечивает отражение данных, что может помочь в будущем избежать повторной потери информации путем использования другой копии диска.
Перед любыми изменениями удостоверьтесь, что у вас есть резервные копии каждого критического шага для предотвращения утраты данных, уже доступных в виде образа. Восстановление данных — это деликатный процесс, требующий внимательного отношения на каждом этапе.