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

Я пробовал некоторые инструменты для восстановления удаленных файлов, перечисленных в этих статьях:

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

Как я могу восстановить удаленную папку сразу?

1 ответ1

7

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

  1. Резчики файлов → Они сканируют любые типы дисков и пытаются восстановить известные типы файлов, проверяя наличие определенных подписей. Например, файлы JPEG всегда начинаются с байтов FF D8 . Этот метод работает только для не фрагментированных файлов, и вы не получите никакой информации о его имени или расположении.

  2. Инструменты, работающие на уровне файловой системы. → Они читают (возможно поврежденные) разделы, просматривая дерево каталогов, а затем используют указанную там информацию для доступа к файлам. По этой причине они могут получить доступ к любому файлу, если он указан в файловой системе.

В принципе вы можете подумать, что резчики в основном бесполезны из-за их ограничений. Однако это не правильно. Резчики могут восстановить не фрагментированные файлы в любой файловой системе, даже если вы не знаете ее формат. Кроме того, они могут восстанавливать не фрагментированные файлы после полного удаления их метаданных (файловых записей) из файловой системы.

В вашем случае сценарий следующий:

  • у вас есть недавно удаленная папка
  • Вы хотите восстановить его структуру каталогов
  • вам нужно восстановить все элементы внутри

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

Прекратить использование этого раздела

Вы можете попытаться восстановить файлы из Windows напрямую, однако это будет ужасная идея. Чем больше вы используете свою ОС, тем более вероятно, что вы перезапишете их новыми данными.

По этой причине прекратите использовать Windows сейчас и загрузите ваш компьютер с помощью живого DVD или USB-диска Linux (в основном подойдет любая современная версия, независимо от того, является ли это Ubuntu, Fedora или чем-то еще). Если у вас нет готового живого DVD или USB, используйте другой компьютер для его создания или купите журнал, который включает DVD с Linux. Не используйте компьютер для создания загрузочного носителя, так как это может привести к записи большого количества содержимого на жесткий диск во время операции.

После загрузки системы подключите внешний USB-накопитель для хранения восстановленных файлов.

Восстановление удаленных файлов с дисков NTFS

Отказ от ответственности: я разработчик RecuperaBit. Кроме того, следующая часть основана на моих предыдущих ответах, размещенных здесь на Unix & Linux Stack Exchange и здесь, на Ask Ubuntu.

Идентификация правильного привода

Запустите sudo lsblk чтобы определить ваш основной раздел NTFS (скажем, диск C: :). Вывод может выглядеть примерно так:

$ sudo lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   32G  1 disk 
├─sda1   8:1    0  500M  1 part 
└─sda2   8:2    0 31.5G  1 part 
sr0     11:0    1  2.8G  0 rom  /cdrom
loop0    7:0    0  2.1G  1 loop /rofs

Это говорит мне о том, что этот диск имеет небольшой раздел размером 500 МБ (загрузчик Windows) и больший - 31,5 ГБ на весь диск объемом 32 ГБ. Поэтому теперь я знаю, что диск C: виртуальной машины, которую я тестирую, - это /dev/sda2 .

Использование TestDisk

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

Если вы используете ОС на базе Debian (включая Ubuntu), вы можете установить ее с помощью следующей команды:

sudo apt-get install testdisk

После этого запустите его на диске:

sudo testdisk /dev/sda2

Следуйте инструкциям на экране. В основном вам нужно нажимать Enter, пока он не запросит у вас тип таблицы разделов (None потому что мы сканируем один раздел).

Когда он покажет вам список с указанием, что раздел является NTFS, вы увидите некоторые опции внизу. Выберите List чтобы показать его содержимое. Вы должны иметь возможность просматривать файлы и перемещаться туда, где находился исходный каталог.

Обратите внимание, что из-за того, как Windows обрабатывает корзину, каталог может быть найден в C:\$Recycle.Bin а не на своем первоначальном месте. По сути, ищите его, пока не найдете.

Если вы найдете его, выделите его клавишами со стрелками, а затем нажмите C. Это войдет в режим копирования. Вам нужно перейти к внешнему USB-накопителю (он будет где-то в /media/ , то есть внутри media в корневом каталоге системы Linux), а затем снова нажать C, чтобы выбрать его в качестве целевого каталога.

Готово, вы скопировали всю папку!

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

В этом случае следуйте следующей сессии.

Использование RecuperaBit

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

Вот почему я разработал RecuperaBit, который использует восходящий подход для реконструкции NTFS. Выполните следующие шаги, чтобы восстановить вашу папку:

  • Создайте каталог с именем recuperabit_output на внешнем USB-накопителе.
  • Загрузите RecuperaBit с GitHub и распакуйте его в папку.
  • Запустите его, указав диск и путь для хранения восстановленных файлов в качестве аргументов:

    sudo python /path/to/RecuperaBit/main.py /dev/sda2 -o /path/to/the/external/USB/drive/recuperabit_output
    
  • Позвольте ему сканировать диск, нажав Enter.

  • Введите csv 0 list.csv чтобы создать список файлов.
  • Откройте полученный CSV-файл с помощью LibreOffice, чтобы найти идентификатор каталога. Пример:

    Если бы я хотел восстановить информацию о томе системы, это был бы каталог 31 .

  • Вернитесь к консоли RecuperaBit и введите restore 0 31 где 0 означает первый раздел, т.е. единственный, который вы анализируете.

Итак, теперь у вас есть файлы на внешнем USB-накопителе в разделе recuperabit_output/Partition0 .

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