2

Случайно загрузил раздел Acer Recovery на моем мультизагрузочном ноутбуке и, несмотря на выбор EXIT, когда мне было предложено выбрать, хотите ли я восстановить что-либо или нет, один из моих разделов был поврежден. Теперь я мог бы действительно воспользоваться некоторыми советами по переписыванию таблицы разделов и восстановлению файловой системы.

  1. Я клонировал весь диск (dd if = ... | ssh me @ desktop -of = ...) и работаю исключительно на клонированном диске.

  2. Я пробовал gpart, parted, testdisk (а также gparted). Пока не повезло.

Мой макет диска:

/dev/sda1 ntfs 12GB
/dev/sda2 ntfs 100MB
/dev/sda3 ntfs 72.17GB
/dev/sda4 extended 213.82GB
  unallocated 27.93GB
  /dev/sda5 ext4 148.98GB
  /dev/sda6 ext4 29.33GB
  /dev/sda7 swap 7.58GB
unallocated 2.49MB

Искаженный раздел - это нераспределенный раздел ~ 30 ГБ (первый логический раздел в расширенном разделе).

Жаль, что Acer Recovery попал именно в этот раздел. Я бы не стал пытаться восстановить любую другую (Windows, которую я не использую, Linux для тестирования, Linux или дистрибутив также для тестирования). Этот, однако, содержит данные, которые я действительно хотел бы восстановить.

Я знаю точные границы раздела, я знаю детали базовой (ext4) файловой системы.

Однако инструменты, которые обычно рекомендуется восстанавливать, не работают. Глубокая проверка на тестовом диске показала, что средство восстановления Acer, по-видимому, решило скопировать таблицу разделов для основного раздела Windows, что привело к жалобам на несоответствие размеров. gpart, parted и testdisk не смогли найти файловую систему. testdisk обнаружил файловую систему ntfs, которая была "невосстановимой".

Я подозреваю, что суперблок также был уничтожен, но поиск выявил наличие нескольких резервных суперблоков.

Какая лучшая ставка на будущее? Я хочу попробовать переписать таблицу разделов и восстановить файловую систему, предположительно с помощью e2fsck, используя резервный суперблок.

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

ТИА,

fyo

3 ответа3

0

Если вы спрашиваете, можете ли вы восстановить 30 ГБ нераспределенного раздела, я не думаю, что вы можете. Нераспределенные разделы не могут быть восстановлены из моего понимания. Кто-нибудь поправит меня, если я ошибаюсь.

0

Поскольку вы заявляете, что знаете границы раздела, я бы использовал losttup с параметрами -o offset и --sizelimit size

Это позволит вам создать петлевое устройство из раздела 30 ГБ, с которым вы можете работать. Если раздел не перезаписан, поиск Testdisk на устройстве loopback должен найти что-то.

Вы также можете использовать Photorec для поиска файлов по расширению, если просто для проверки того, что ваши данные все еще там.

0

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

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

Моим первым шагом после того, как обычные инструменты не дали результата (согласно ОП), было просто использовать шестнадцатеричный редактор (hexedit) для редактирования всего раздела, пропуская первый байт нераспределенного пространства, где должны были находиться мои вещи. ,

Сравните результаты в шестнадцатеричном редакторе с Ext4 Disk Layout:https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout

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

Однако суперблок был смещен на 2048 байтов, а не на 1024 байта в спецификации. Это, видимо, вызвало сбой многих инструментов.

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

Testdisk показал, что мои разделы больше, чем они есть на самом деле (sda3 и sda5 в OP). Я не уверен почему. Текущая таблица разделов показывает правильный размер, а файловая система ext4 в sda5 показывает правильное количество блоков. В случае с sda5 testdisk обнаружил, что раздел перекрывается с sda6, поэтому он не позволил бы мне выбрать оба в пересмотренном списке разделов. В случае с sda3 разделы не перекрывались, но testdisk все равно не позволил бы мне восстановить свой отсутствующий раздел вместе с sda3. Разрыв между ними был, по какой-либо причине, меньше, чем нравился testdisk.

Создание раздела с GParted в нераспределенном пространстве не работало, потому что GParted настаивал на разрыве в 1 МБ между sda3 и новым разделом. Даже при правильном размере sda3 это приведет к стиранию суперблока (и многого другого), так что это было запрещено. Как ни странно, так как все мои разделы (кроме двух Windows Restore) были созданы с различными версиями GParted.

Решение заключалось в том, чтобы вместо этого использовать parted и вручную вводить правильные границы, которые фактически были правильно обнаружены testdisk (и проверены с помощью hexedit, поскольку testdisk не смог точно определить другие границы).

Уф.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .