1

Я пытаюсь восстановить удаленный раздел. Раздел не может быть восстановлен из таблицы разделов.

Я пробовал EaseUS Data Recovery, которая находит файлы, но вылетает на полпути. Я также пытался найти и смонтировать, который, похоже, ничего не находит, даже не допустимые разделы на диске.

Мои вопросы:

  1. Какой инструмент вы бы порекомендовали для восстановления данных в нераспределенном пространстве?
  2. Было бы вредно писать новый пустой раздел, в котором раньше были данные, чтобы попробовать другой инструмент восстановления?

2 ответа2

3

Никогда не пишите ничего на диск, с которого вы пытаетесь восстановить данные

Также, если возможно, создайте образ диска с помощью dd , ddrescue или чего-либо, что вам подходит.

Скачайте Linux Live CD (я настоятельно рекомендую System Rescue CD)

Используйте testdisk для восстановления старой таблицы разделов. Это были бы основные шаги:

  1. Запустите fdisk -l чтобы узнать узел вашего дискового устройства
  2. Запустите testdisk </dev/sdX> замените его
  3. Выберите тип таблицы разделов (обычно Intel)
  4. Выберите команду « Analyze

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

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

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

Оба testdisk и photorec включены в CD System Rescue.

РЕДАКТИРОВАТЬ:

Вы также можете попытаться создать изображение только нераспределенного пространства и запустить PhotoRec для этого изображения. Это должно быть быстрее. Я предполагаю, что у вас уже есть образ диска в image-file:

bash # sfdisk -l -uS image-file

Disk image-file: 0 cylinders, 255 heads, 63 sectors/track
Units = sectors of 512 bytes, counting from 0

   Device Boot    Start       End   #sectors  Id  System
image-file1   *      2048    206847     204800  83  Linux
image-file2        206848   4401151    4194304  82  Linux swap / Solaris
image-file3       4401152 312581807  308180656  83  Linux
image-file4             0         -          0   0  Empty

Таким образом, из этой информации мы знаем, что размер блока равен 512, а последний раздел заканчивается 312581807. Нам нужно извлечь оттуда на:

dd if=image-file of=unallocated-space bs=512 skip=312581807

Источник.

0

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

Диск представляет собой большую последовательность секторов, обычно по 512 байт каждый. Раздел начинается на одном из этих секторов. Содержимое раздела является файловой системой. Первый сектор файловой системы обычно может быть распознан как таковой из-за его структуры; например, в файловых системах FAT первый сектор называется загрузочным сектором и содержит некоторые поля, которые определяют, в частности, длину файловой системы.

Стратегия восстановления будет выглядеть так:

  1. Загрузите машину с живого компакт-диска Linux. Не пишите ничего на жесткий диск.

  2. Запустите некоторый скрипт или программу, которая многократно читает секторы с необработанного устройства (обычно называемые /dev/sda или /dev/hda , или что-то подобное, в зависимости от типа диска и конфигурации оборудования машины). Для каждого сектора попытайтесь определить, может ли это быть загрузочный сектор для файловой системы FAT, и, если да, извлеките его длину.

  3. Если вы нашли свою файловую систему таким образом, скопируйте ее на новый диск в виде файла (это легко сделать с помощью инструмента командной строки dd ), а затем попытайтесь смонтировать ее как "loopback".

Все это относительно просто разработчик с некоторыми навыками Linux. Этот документ может вам помочь и указать на некоторые полезные инструменты для этого.

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