RTFM.WIKI

Ordnung muß sein. Ordnung über alles (18+)

Инструменты пользователя

Инструменты сайта


linux:fs:ext3_recover

Восстановление данных со сбойного раздела ext3

Источник - http://grischenko.blogspot.ru/2010/03/ext3.html

Случилась со мной ужасная вещь: слетел раздел /dev/sda1 с ext3. Монтироваться он не хотел и все время ругался на "плохой" superblock. Естественно на диске была важная информация, актуальных резервных копий которых не существовало. Пришлось искать способы восстановления данных. Итак, главное. Никогда не пытайтесь восстановить потерянный раздел! Никакие fsck и тому подобное! Любая утилита восстановления может добить ваш диск и вы уже с него ничего не получите.

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

Шаг второй
Грузимся в систему. Если поврежден корневой раздел, то грузимся с LiveCD и монтируем диск для бэкапов.

Шаг третий
Пытаемся примонтировать сбойный раздел как ext2. Дело в том, что файловая система ext3 использует те же структуры, что и ext2, но добавляет возможность использования журнала. И, если нам повезло, и поврежден только журнал, то система может быть подключена как ext2 и все данные с нее могут быть просто скопированы. Для того, чтобы явно указать используемый тип файловой системы при монтировании необходимо использовать опцию "-t":

mount -t ext2 /dev/sda1 /mnt/restore

где, /dev/sda1 - сбойный раздел, а /mnt/restore заблаговременно созданный каталог, так называемая "точка монтирования". Если получилось, то копируем данные на рабочий винт.

Шаг четвертый
Если на третьем шаге раздел не захотел монтироваться, значит у раздела поврежден суперблок (SuperBlock). В суперблоке хранится метаинформация о разделе: тип файловой системы, размер блоков и др. В случае повреждения суперблока операционная система не знает, как монтировать этот раздел, но в файловых системах ext2 и ext3 создается несколько резервных копий суперблока, как раз для случаев, когда основная запись повреждена. Адреса резервных суперблоков можно определить с помощью утилиты восстановления дисков testdisk. Для этого запускаем testdisk, выбираем устройство sda затем меню [Advanced] и уже там раздел sda1 и операцию SuperBlock По завершению получаем перечень резервных суперблоков и размер каждого блока (blocksize). Теперь пытаемся монтировать сбойный раздел с резервным суперблоком:

mount -t ext2 -o sb=<Номер_суперблока>,nocheck /dev/sda1 /mnt/restore

Причем <Номер_суперблока> считается как: <Номер_суперблока_из_testdisk>*<Размер_блока_в_КБ> Т.е. если blocksize, показанный testdisk, был 4096, то используем множитель 4. Например, если testdisk выдал номер суперблока 32768 и blocksize равный 4096, то в параметр sb следует указать 131072 и команда монтирования будет выглядеть так:

mount -t ext2 -o sb=131072,nocheck /dev/sda1 /mnt/restore

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

Шаг пятый
Если ни один из резервных суперблоков не позволил подключить поврежденный раздел, то без утилит восстановления данных уже не обойтись. Но следует помнить, что на самом диске восстановление производить нельзя. Вместо этого лучше сделать образ поврежденного раздела и работать уже с ним. Образ делается с помощью стандартной утилиты dd:

dd if=/dev/sda1 of=~/recover.ext3 bs=1024 conv=noerror

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

Ссылки

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
 
linux/fs/ext3_recover.txt · Последнее изменение: 2013/08/16 19:14 — 127.0.0.1