Как с помощью testdisk восстановить файловую систему. Восстановление раздела диска с помощью утилиты TestDisk

TestDisk программа с открытым исходным кодом, распространяемая под лицензией GNU General Public License .

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

Рассмотрим пример восстановления отдельных файлов в операционной системе Xubuntu .

Устанавливаем программу TestDisk в Xubuntu :

$ sudo apt install testdisk

Запускаем программу TestDisk :

$ sudo testdisk

Откроется окно с приветствием программы. Выбираем Create a new log file (создать новый лог-файл). Нажимаем Enter :

В следующем окне нужно выбрать носитель (диск), на котором находятся данные подлежащие восстановлению, и Proceed . Нажимаем Enter :

В следующем окне появится список выбора операции. Выбираем . Нажимаем Enter :

Отмечаем нужный раздел и команду . Нажимаем Enter :

Можно видеть всё содержимое на выбранном носителе:

Клавишами вверх, вниз и Enter находим нужную директорию. Удалённые файлы, которые можно восстановить будут красного цвета:

Отмечаем папку или файл и нажимаем клавишу c и в открывшемся окне выбираем директорию для сохранения нашего файла. И снова нажимаем клавишу c . Если нужно вернуться в предыдущее окно — нажмите клавишу q :

Начался процесс восстановления:

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

Справедливости ради надо отметить, что не все восстановленные файлы можно использовать. Некоторые повреждены и не открываются. Но в данном примере последняя папка, удалённая неделю назад, была восстановлена полностью со 100% сохранностью как документов, так и изображений. Тогда как предыдущая имела битые файлы, хотя была удалена на 6 дней позже.

Что ещё умеет TestDisk?

  • Исправлять таблицу разделов, восстанавливать удаленные разделы;
  • FAT32 из резервной копии;
  • FAT12/FAT16/FAT32 ;
  • исправлять таблицу FAT ;
  • перестраивать (реконструировать) загрузочный сектор NTFS ;
  • восстанавливать загрузочный сектор NTFS из резервной копии;
  • восстанавливать MFT используя MFT зеркало;
  • определять резервный SuperBlock ext2/ext3/ext4 ;
  • восстанавливать удаленные файлы на файловых системах FAT, NTFS and ext2 ;
  • копировать файлы с удалённых FAT, NTFS and ext2/ext3/ext4 разделов.

TestDisk поддерживает операционные системы:

  • DOS (real или в Windows 9x, DOS-box );
  • Windows (NT4, 2000, XP, 2003, Vista );
  • Linux ;
  • FreeBSD, NetBSD, OpenBSD ;
  • SunOS ;
  • MacOS .

TestDisk работает с файловыми системами:

  • BeFS (BeOS );
  • BSD disklabel (FreeBSD/OpenBSD/NetBSD );
  • CramFS, Compressed File System (сжатая файловая система);
  • DOS/Windows FAT12, FAT16 и FAT32 ;
  • Windows exFAT ;
  • HFS, HFS+ и HFSX , Hierarchical File System (иерархическая файлова система);
  • JFS, IBM"s Journaled File System (журналируемая файлова система IBM );
  • Linux ext2, ext3 и ext4 ;
  • Linux LUKS encrypted partition (шифрованый раздел Linux );
  • Linux RAID md 0.9/1.0/1.1/1.2 ;
    • RAID 1: mirroring (зеркальный рейд);
    • RAID 4 : striped array with parity device;
    • RAID 5 : striped array with distributed parity information;
    • RAID 6 : striped array with distributed dual redundancy information;
  • Linux Swap (versions 1 и 2);
  • LVM и LVM2, Linux Logical Volume Manager ;
  • Mac partition map ;
  • Novell Storage Services NSS ;
  • NTFS (Windows NT/2000/XP/2003/Vista/2008 );
  • ReiserFS 3.5, 3.6 и 4 ;
  • Sun Solaris i386 disklabel ;
  • Unix File System UFS и UFS2 (Sun/BSD/ ...);
  • XFS, SGI"s Journaled File System .

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

Первым делом, очень важно свести к минимуму работу с повреждённым накопителем, иначе вероятность восстановления данных существенно снижается.

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

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

Кроме того, для сохранения восстанавливаемых данных потребуется ещё один накопитель ёмкости, не меньшей исходного.

Чтобы снизить возможные потери информации при неудачной попытке восстановления, следует сделать полный дамп повреждённого тома (ФС, раздел, либо весь диск, в зависимости от того как располагались исходные данные) через dd или ddrescue на отдельный носитель и дальше экспериментировать с этим дампом:

sudo dd if =/ dev/ sdXY of =/ path/ to/ dump.img

testdisk

Нередко судьба подкидывает нам такое, что послезавтра сдавать диплом, а сегодня умер жесткий диск со всей информацией. В Linux стандартом де-факто в области восстановления данных является утилита testdisk. Однако нередко человек, впервые сталкиваясь с ней, находит ее для себя малопонятной и отказывается от нее, т.к. она не имеет графического интерфейса.

Многих новичков в Linux, привыкших к GUI программам в Windows, пугает использование консольных программ, требующих ввода нужных команд с малоизвестными им аргументами и ключами. Нередко мануалы к такому софту оказываются или на английском языке, или достаточно сложны, чтобы разобраться с первого взгляда, и человек отступается от своей цели. Нередко ему снова приходится обращаться к Windows, искать там «надежную и понятную» (GUI) программу, затрачивая на это уйму времени, вместо того, чтобы убрать у себя табу на использование консоли.

Специально для написания статьи я нашел старую ненужную флешку, записал на нее немного музыки и видео. После этого в GParted изменялись размеры и положение раздела (при этом флешка выдергивалась из компа в самый кульминационный момент), ну и напоследок все было добито созданием новой таблицы разделов.

Итог - при подключении флешка не обнаруживается компьютером, на ней важная информация, будем ее восстанавливать.

1. Для начала нужно установить testdisk. Для этого в консоли выполняем:

sudo apt-get install testdisk

2. Запускаем testdisk с администраторскими правами

sudo testdisk

Появляется окошко приветствия testdisk, нам предлагается вести лог работы. В данном случае не вижу в этом смысла, но вы можете поступать иначе. Выбираем нужный пункт меню и подтверждаем выбор: No Log → Enter .

3. Появляются доступные носители, выбираем нужный, подтверждаем нажатием Proceed .

4. Предлагается выбрать тип таблицы разделов, думаю, что в большинстве случаев будет тип Intel / PC Partition .

5. Появляется меню с выбором операции. Для начала делаем анализ, выбрав Analyse .

6. В разделе Analyse Выбираем Quick Search .

7. Последний вопрос перед началом анализа «Должен ли testdisk искать разделы созданные с использованием Windows Vista?». В моем случае - нет, поэтому я выбираю N .

Побежал анализ…

Анализ закончен. Предупреждение. Или некоторые разделы не были найдены, или таблица разделов не может быть записана, т. к. разделы перекрываются.

8. Вот теперь можно начинать восстановление информации. В данном случае нас интересует 2 варианта действий.

    Получить список файлов, содержащихся в данном разделе нажатием Р с дальнейшим восстановлением интересующих файлов из списка

Выводим список файлов нажатием Р.

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

Заходим в нее и подтверждаем копирование нажатием Y .

Открываем папку в Nautilus, видим, что все файлы на месте и их можно прослушать.

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

Попробуем вернуть все в первоначальное до поломки состояние, загрузив резервную копию таблицы разделов. Нажимаем L . В появившемся окошке выбираем Load

…и подтверждаем наши намерения Y .

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

Желаю вам удачных восстановлений!

extundelete

Установить extundelete можно выполнив команду:

sudo apt-get install extundelete

Как только вы поняли, что удалили нужные файлы, надо отмонтировать раздел:

umount / dev/< partition>

или перемонтировать в режиме «только чтение»

mount -o remount,ro / dev/< partition>

Так же следует создать резервную копию раздела прежде, чем начинать с ним работу по восстановлению файлов:

dd bs =4M if =/ dev/< partition> of =partition.backup

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

cd /< путь_к_каталогу_куда_восстанавливать_данные>

Запустите extundelete, указав раздел, с которого будет происходить восстановление и файл, который необходимо восстановить:

sudo extundelete / dev/< partition> --restore-file /< путь к файлу>/< имя_файла>

Можно так же восстанавливать содержимое каталогов:

sudo extundelete / dev/< partition> --restore-directory /< путь_к_директории>

Можно задать для восстановления рамки по времени удаления восстанавливаемых файлов, например так:

sudo extundelete --after < дата> / dev/< partition> --restore-directory /< путь_к_директории>

Дату необходимо указывать в UNIX-времени :

date -d "March 28 19:34" +% s

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

foremost

Хорошо подходит для восстановления фотографий и скриншотов с битых карт памяти и флешек.

foremost - поиск и восстановление данных по сигнатурам.

Установка:

sudo apt-get install foremost

Пример использования для восстановления изображений с диска /dev/sdb в каталог ~/out_dir:

sudo foremost -t jpg,gif,png,bmp -i / dev/ sdb -o ~/ out_dir

GUI для Foremost, можно скачать на дружественном форуме.

R-Studio

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

R-Studio позволяет восстанавливать утраченные данные с поврежденного, форматированного, переформатированного или удаленного диска (раздела) локального или удаленного компьютера вне зависимости от используемой системы (платформы).

Scalpel

Установка:

sudo apt install scalpel

Scalpel анализирует файлы по header и footer, заданным в шаблоне

/etc/scalpel/scalpel.conf

Чтобы задать типы файлов для распознавания, нужно в указанном выше шаблоне раскомментировать соответствующие строки. Однако, будьте внимательны: зачастую header и footer ваших файлов могут отличаться от заданных в шаблоне для такого типа файлов (к примеру, sony jpg). В таком случае нам нужно самостоятельно выяснить header и footer искомых файлов на примере имеющегося аналогичного файла:

Xxd -l 0x04 filename; xxd -s -0x04 filename

и вписать их в конфигурационный файл.

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

sudo scalpel input.iso -o outputdir

В качестве исходного пути может использоваться как путь к реальному устройству /dev/…, так и путь к образу диска. Директория outputdir для сохранения файлов обязательно должна быть пустой.

TESTDISK и PHOTOREC

Краткое описание

Первой программой, которую мы рассмотрим, будет набор TestDisk , состоящий из трёх утилит:

  • первая утилита - TestDisk - умеет исправлять таблицы разделов, восстанавливать удалённые разделы, восстанавливать удалённые файлы с разделов FAT, NTFS и EXT2 (будем надеяться, что появится поддержка и других файловых систем), копировать файлы с удалённых разделов FAT, NTFS, EXT2/3/4, а также проводить операции над разделами FAT, NTFS, EXT2/3/4 и т.д. (исправ­лять загрузочные сектора, восстанавливать MFT и суперблоки из резервных копий);
  • вторая утилита - PhotoRec - позволяет восстанавливать данные практически с любых носи­телей и любых файловых систем, даже повреждённых, но только в режиме RAW;
  • третья утилита - FIdentifi - является дополнением к PhotoRec , она позволяет определить бо­лее точно форматы восстановленных файлов, а также показывает, сможет ли программа PhotoRec восстанавливать файлы тех форматов, с которыми та изначально незнакома, но их сигнатуры были добавлены пользователем вручную.
Программа TestDisk не только полностью бесплатная, но и мультиплатформенная, и работает в нескольких системах: Windows, Linux, FreeBSD, MacOS, DOS и SunOS. Плюс она не требует уста­новки, достаточно скачать архив с готовыми исполняемыми файлами, распаковать его и запустить нужную утилиту, а также доступна в виде исходников, которые можно скомпилировать чисто под свою систему.

Наиболее правильным вариантом является установка программы из репозиториев, но на момент написания статьи в репозиториях Debian и Ubuntu находилась более старая версия 6.11 от апреля 2009 г., в которой некоторые функции отсутствуют (например, утилита FIdentify ). Как известно, прогресс не стоит на месте, и в новые версии программы добавляется функционал и устраняются найденные ошибки, поэтому я всё-таки предпочёл последнюю стабильную версию. В виде готовых DEB-пакетов она пока что недоступна, и в идеальном случае её нужно скомпилировать и создать DEB-пакет под свою систему. Но поскольку передо мной стояла задача в первую очередь изучить саму программу, я не стал делать лишних телодвижений и взял архив с готовыми бинарными файлами с официального сайта.

Несмотря на то, что программа консольная, в отличие от большинства утилит под Linux, кото­рые работают только через командную строку с ключами, в ней присутствует диалоговое окно с на­стройками, как в DOS. Но мышка в ней всё-таки не работает и все действия производим только с клавиатуры. При желании утилиту PhotoRec отдельно можно скомпилировать с графической обо­лочкой на Qt командой

./configure --enable-qt && make

Но оболочка пока ещё неработоспособна.

Последняя стабильная (на момент написания статьи - 6.13 от 15.11.2011г.) и тестовая (6.14 WIP) версии программы доступны на официальном сайте .

Более старые версии можно установить из репозиториев вашей системы.

Сначала выполним подготовительную операцию: создадим каталог, в который будут сохраняться восстановленные данные. Каталог обязательно должен располагаться на другом носителе! Если вы будете сканировать флэшку, то на жёстком диске в домашнем каталоге пользователя создаём пап­ку с именем латинскими буквами, например, recovery (чтобы было понятно).

Итак, скачиваем архив с программой в домашний каталог:

wget http://www.cgsecurity.org/testdisk-6.13.linux26.tar.bz2

Распаковываем:

tar xjf ~/testdisk-6.13.linux26.tar.bz2

TestDisk

Сначала рассмотрим первую утилиту - TestDisk , которая позволяет восстанавливать недавно удалённые файлы и повреждённые таблицы разделов, создавать образы дисков или разделов. Запус­кается она командой

sudo ~/testdisk-6.13/testdisk_static

sudo ~/testdisk-6.13/testdisk_static //disk_image.dd

Откроется диалоговое окно в консоли, в котором программа задаст вопрос по поводу лог-файла, и предложит 3 варианта ответа: Create - создать новый лог-файл, Append - дописывать все дан­ные в существующий лог-файл, No Log - не записывать лог-файл. Я выбрал третий вариант.

Далее при помощи клавиш и ↓ нужно выбрать диск, с которым мы будем работать, затем установить курсор на Proceed и нажать клавишу ↵ Enter . Вернуться в предыдущее окно можно нажатием клавиши q .

Если мы работаем с жёстким диском, то на следующем шаге появится о нём более подробная ин­формация, здесь просто щёлкаем Continue .

Появится список типов таблиц разделов, которые могут быть применены на диске. Программа автоматически определяет таблицу разделов и выставляет курсор на нужную строку, но можно указать тип таблицы вручную: для обычных компьютеров на дисках до 2ТБ с установленной Windows/DOS/Linux и флэшек выбираем тип Intel , для компьютеров с дисками свыше 2ТБ, а также Apple Macintosh на процессоре Intel - EFI GPT , для старых версий Macintosh на процессорах PowerPC - Mac и т. д. Если вы не знаете, какой тип таблицы применён на вашем диске, выбирайте None .

Теперь нам откроется список меню:

  • Analyze - анализ текущей структуры диска и поиск удалён­ных разделов;
  • Advanced - различные утилиты для файловых систем (восстановление недавно удалённых файлов, создание образа раздела, работа с заголовками файловых систем и т.д.);
  • Geometry - изменение геометрии диска;
  • Options - дополнительные настройки программы.

Если на предыдущем шаге была выбрана разметка Intel , то будут доступны дополнительные меню:

  • MBR Code - запись нового кода первичного загрузчика и сигнатуры MBR в первый сектор диска (функ­ция может быть полезна, если система не загружается, а другие способы решения проблемы не по­могают);
  • Delete - полное удаление всех данных (обнуляется таблица разделов в главной загрузоч­ной записи).

В меню Geometry мы сможем задать дополнительные значения параметров диска: количество ци­линдров (Cylinders) , головок (Heads) , число секторов на дорожку (Sectors) и размер сектора (Sector Size) . Эту функцию имеет смысл применять, если нарушена геометрия жёсткого диска и восстанов­ление таблиц разделов стандартными способами результатов не приносит. Например, программа TestDisk не обнаруживает разделы, в этом случае перезапускаем программу с включенной настрой­кой Dump в меню Options , анализируем полученную информацию и вручную указываем правильную геометрию диска, затем вновь сканируем диск на предмет потерянных разделов и в случае успеха восстанавливаем их уже с правильной геометрией. Эта функция не меняет параметров диска до тех пор, пока не будет выполнена запись найденных разделов на диск, поэтому пользоваться ею нужно очень аккуратно: неправильно заданная геометрия может до конца добить таблицу разделов.

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

В меню Options производим настройки перед сканированием:

  • Expert Mode - режим эксперта; в этом режиме включаются дополнительные возможности (ка­кие именно, я пока что не нашёл); по умолчанию стоит No , можно так и оставить;
  • Cylinder boundary - считать, что границы разделов совпадают с началом цилиндров; по умолча­нию настройка включена, но если жёсткий диск повреждён и программа ничего не находит, то по­пробуйте поставить No и повторить сканирование;
  • Allow partial last cylinder - считать, что последний цилиндр может быть неполным; по умолча­нию выключена, но если жёсткий диск «посыпался» и в результате таблица разделов повреждена, то лучше включить;
  • Dump - отображать содержимое "подозрительных" секторов; по умолчанию выключена; можно так и оставить, но в некоторых случаях, когда требуется дополнительная информация, она бывает полезной.

Теперь более подробное описание основных меню, ради которых всё и затевалось. Сначала оста­новимся на меню Analyze , позволяющем просканировать диски на предмет потерянных разде­лов, восстановить их, скопировать файлы с повреждённых или удалённых разделов без восстановле­ния их таблицы, а также исправить геометрию диска. Итак, в списке меню выбираем Analyze , и про­грамма покажет текущие разделы на диске, которые пока что доступны (хочу заострить внимание на словах «пока что» ), а также два режима сканирования. Рекомендую использовать второй режим - Backup - с предварительным сохранением резервной копии таблицы (она сохранится в домаш­нем каталоге в файле backup.log ), но если вы уверены в своём профессионализме, то можете вы­брать первый режим Quick Search быстрый поиск). Перед сканированием программа может задать вопрос: «Should TestDisk search for partition created under Vista?» («Искать разделы, созданные под Windows Vista?»). Если вы не используете Windows Vista или Windows 7, щёлкайте N («нет»), если же вы не знаете, как ответить, щёлкайте Y («да»).

Программа начнёт сканировать диск на предмет поиска разделов. Процесс этот долгий, в зависи­мости от объёма и скорости работы диска может занять до нескольких часов, так что пока можно попить чаю, перекусить бутерброд, понаблюдать за процессом сканирования, погулять с собакой и т.д. Если программе что-то не понравится, она будет выдавать предупреждения, которые мы либо принимаем на свой счёт и устраняем, либо просто проигнорируем. В любой момент сканирование можно прервать, щёлкнув Stop .

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

В начале каждой строки с разделом будет стоять буква, которая обозначает его характеристику:

  • P - первичный,
  • L - логический,
  • E - дополнительный,
  • D - удалённый,
  • знак * - загрузочный.

Клавишей стрелки → / ← , в случае необходимости, изменяем характеристику раздела.

Также можно добавить раздел вручную, нажав клавишу а . Это помогает в том случае, если про­грамма не нашла удалённый раздел, но мы уверены, что он должен быть. Но чтобы его добавить, нужно абсолютно точно знать его характеристики: тип файловой системы, стартовое и конечное значение цилиндров, головок или сектора, так что этой функцией смогут воспользоваться только профессионалы.

Если имеется сохранённая копия таблицы разделов (файл backup.log , расположенный в домаш­нем каталоге пользователя), то её можно восстановить, нажав клавишу L .

Чтобы задать другой тип файловой системы раздела, выбираем раздел и нажимаем клавишу t , за­тем запоминаем из списка буквенно-цифровое обозначение нужной файловой системы и щёлкаем Proceed , а затем вводим его. Это бывает необходимо в тех случаях, когда программа неправильно определила тип файловой системы раздела, и у нас есть возможность указать правильный вариант.

А вот теперь самое интересное: нажав клавишу p на выбранном разделе (даже ещё не восстанов­ленном!), мы можем посмотреть файлы и папки, которые на нём были записаны, и скопировать их в отдельный каталог. Управление в этом меню описано чуть ниже (функция Undelete в меню Advanced ).

Когда предварительные работы с найденными таблицами разделов закончены, нажимаем ↵ Enter , и на следующем шаге можем либо записать новую таблицу разделов, щёлкнув Write , либо провести де­тальное сканирование, щёлкнув Deeper Search . В этом режиме программа более тщательно сканирует диск, и может найти такие разделы, о которых вы даже не подозревали, но время проверки как пра­вило достигает нескольких часов. По окончании нужно для каждого раздела вручную установить характеристики, и если нас всё устраивает, записать новую таблицу.

Когда работа с программой закончена и разделы восстановлены, закрываем программу коррект­но, нажав несколько раз клавишу q .

Теперь заглянем внутрь второго меню - Advanced , позволяющее восстановить недавно удалённые файлы, создать образ раздела или всего диска, поработать с заголовками файловых си­стем: для FAT и NTFS это Boot Sector (загрузочный сектор), для EXT2/3/4 - Superblock , для BSD - Disklabel (метка диска) и т.д. В списке меню ставим курсор на Advanced и нажимаем клавишу ↵ Enter , и программа как всегда покажет список доступных разделов, но в этом режиме работа с ними более безопасна, чем в предыдущем Analyze .

Сначала самая интересная функция, которая позволяет восстановить недавно удалённые файлы - Undelete . Она доступна для разделов FAT, NTFS и EXT2, причём на разделах NTFS и EXT2 можно восстанавливать только файлы, но с сохранением абсолютного пути, а на разделах FAT восстанавливаются и файлы, и папки. Итак, устанавливаем курсор на раздел, с которого надо восстановить файлы, и щёлкаем Undelete . Откроется список файлов и папок, где удалённые эле­менты будут помечены красным цветом (на разделах NTFS и EXT2 будут показаны только файлы с полными путями их первоначального местоположения). Управление в этом меню такое: клавиша → или пробел - войти в папку, ← - выйти из неё, h - скрыть/показать удалённые файлы и папки; ⇧ Shift + ; - выбрать файл для восстановления; a - вы­брать все файлы для восстановления; ⇧ Shift + c - восстановить выбранные файлы и папки; c - восстановить все файлы и папки; q - выход. Все горячие клавиши работают только в английской раскладке клавиатуры. На этом шаге вскрылся один из недостатков программы: имена файлов и папок, содержащих русские буквы, отображаются в виде «кракозябров», но если на разделах NTFS и EXT2 это пол-беды (имена лишь некорректно отображаются, и то частично, а восстанавливаются нормально), то на разделах FAT это просто беда (имена и отображаются, и восстанавливаются не­корректно). Если нужно восстановить один файл или папку, устанавливаем на него курсор, нажима­ем ⇧ Shift + ; и, затем, ⇧ Shift + c .

Затем нужно выбрать место, куда будут сохраняться восстановленные файлы. Автоматически откроется каталог с программой TestDisk , чтобы перейти на уровень выше, выбираем строку с дву­мя точками. Когда наконец открыли нужный каталог, для подтверждения нажимаем клавишу c . По завершении копирования появится надпись зелёными буквами «Copy done!» , что свидетельствует об удачном восстановлении.

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

Теперь перейдём к другим функциям меню Advanced .

Здесь есть ещё одна интересная функция - List , позволяющая просмотреть и скопировать файлы и папки. По идее она должна выводить только доступные элементы, но вместе с ними отоб­ражаются и удалённые, правда как-то странно: на разделе NTFS удалённые файлы не выделились никак, на EXT3 и EXT4 часть файлов и папок была помечена красным, но среди них оказались не только удалённые, но и существующие, доступные из проводника; и только на флэшке с файловой системой FAT удалённые данные корректно выделились красным цветом. Но не обольщайтесь: по­пытки восстановить их никаких результатов не принесут, файл восстановится, но с нулевым или не­правильным размером, в итоге он будет нечитаем, а если вы восстанавливаете папку, то она будет пустой. Управление такое же, как и в меню Undelete . Хочется заметить, что функция List несколь­ко раз дублируется в других меню, например, в Boot и встроенном в него Rebuild BS (доступны при работе с разделами FAT и NTFS).

Функция Type позволяет изменить тип файловой системы какого-либо раздела без сохранения на диск. Это пригодится, если раздел был переформатирован в другую файловую систему (например, из NTFS в EXT3) и из него нужно вытащить файлы и папки, используя инструменты для работы с NTFS, когда другие способы не помогают.

Если нужно создать образ какого-либо раздела, ставим на него курсор и запускаем Image Creation , далее выбираем каталог, куда этот образ будет записываться, и на выходе получаем файл image.dd . Но это дело лучше поручить утилитам dd или ddrescue .

У разделов с файловыми системами EXT2/EXT3/EXT4 можно восстановить суперблок, для это­го выбираем нужный раздел и щёлкаем Superblock ; программа выполнит поиск резервной копии суперблока и восстановит из неё. В самом низу есть приписка, что альтернативным методом восста­новления суперблока файловой системы является команда

fsck.ext4 -p -b superblock -B blocksize device

Для разделов FAT и NTFS возможна работа с загрузочными секторами: устанавливаем курсор на раздел и щёлкаем Boot . Здесь нам доступны следующие меню:

  • List - просмотр и копирование файлов и папок на разделе;
  • Rebuild BS - восстановление загрузочного сектора;
  • Repair MFT - про­верка и восстановление MFT на разделах NTFS;
  • Dump - сохранение и восстановление загрузочно­го сектора (как ни странно, эта же функция оказалась продублирована в меню Rebuild BS ).

Для тех, кто не в курсе: MFT (master file table) - главная файловая таблица (база данных), в ко­торой хранится информация о содержимом тома с файловой системой NTFS; MFT можно интер­претировать как файл с таблицей, в которой строки которой соответствуют файлам тома, а столб­цы - их атрибутам.

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

После того, как разделы восстановлены, необходимо проконтролировать разметку диска:

sudo fdisk -l /dev/sdX

Здесь проверьте, чтобы последний цилиндр предыдущего раздела был обязательно меньше на­чального цилиндра следующего, и цилиндр последних разделов (расширенного и находящегося в нём логического) не должен превышать последнего цилиндра самого диска. Исправить разметку раздела можно по разному, но сначала обязательно делаем резервную копию разметки:

sudo dd if=/dev/sdX of=table1.hdd bs=1 count=66 skip=446

В случае необходимости она восстанавливается командой

sudo dd if=table1.hdd of=/dev/sdX bs=1 count=66 seek=446

Теперь возможные способы поправить разметку:

  1. исправить цилиндры раздела вручную:
    sudo sfdisk -f -NY /dev/sdXВ
    в этой команде X - порядковая буква диска в системе, Y - порядковый номер раздела, кото­рый нужно поправить. Далее нужно ввести значение начального цилиндра раздела и через пробел его правильный раз­мер, равный разности значений максимально допустимого цилиндра и начального цилиндра; нажи­маем ↵ Enter .
  2. выгрузить текущую разметку в файл, исправить её вручную и закачать обратно:
    sudo sfdisk -d /dev/sda > sda.out
    sudo fdisk /dev/sda < sda.out
    После выгрузки разметки в файл открываем его в любом редакторе, правим нужные строки, вы­считав необходимые параметры, а загружаем обратно.

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

После таких манипуляций может потребоваться восстановление загрузочных секторов исправ­ленных разделов при помощи TestDisk .

Некоторые более наглядные примеры восстановления доступны на страницах официального сайта в документации к программе (частично на русском языке): TestDisk шаг за шагом и Примеры восстановления данных .

Описание подготовлено с использованием материалов на сайте linuxcenter.ru .

PhotoRec

Если программа TestDisk не справилась с восстановлением данных, то на помощь нам придёт другая - PhotoRec . Она поможет восстановить файлы практически с любых файловых систем и любых носителей, даже повреждённых, но к сожалению не сохраняет исходных имён и структур ка­талогов.

Запускаем PhotoRec из каталога с программой командой

sudo ~/testdisk-6.13/photorec_static

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

sudo ~/testdisk-6.13/photorec_static //disk_image.dd

Точно также, как и в предыдущей утилите TestDisk , откроется диалоговое окно, где выбираем диск и щёлкаем Proceed . При работе с жёстким диском на следующем шаге появится более по­дробная информация о нём. Щёлкаем Continue , и далее откроется список типов таблиц разделов, в котором можно либо оставить вариант, предложенный программой, либо выбрать свой.

А вот дальше мы попадаем в диалоговое окно со списком доступных разделов на диске и на­стройками режимов сканирования. Попробуем настроить программу. Сначала заходим в меню File Opt и указываем тип восстанавливаемых файлов. По умолчанию галочки стоят почти на всех стро­ках, но если нужно какую-то галочку снять или поставить, клавишей стрелки ↓ или становимся на нужную позицию и нажимаем пробел либо стрелку → или ← . Чем меньше галочек будет включено, тем меньше в процессе восстановления вы получите «мусора». Чтобы пометить или убрать все форматы одновременно, нажимаем клавишу s , для сохранения на­строек - клавишу b . По окончании выходим в основное меню через Quit .

Небольшое отступление: утилита распознаёт файлы более 350 форматов, но существует также возможность добавить вручную свои, для этого в корне каталога с программой создаём файл с именем photorec.sig , далее открываем его в редакторе и в каждой строке прописываем нужные фор­маты файлов; строка должна иметь вид <расширение> <смещение сигнатуры> <сигнатура> или <магическое значение>

Смещение сигнатуры по умолчанию равно 0. «Магическое значение» (или MagicValue) может со­держать:

  1. строку, например, "data" , при этом специальные символы могут быть выделены как "\b" , "\n" , "\r" , "\t" , "\0" или "\\" ;
  2. данные в шестнадцатеричном HEX-формате, например, 0x12 , 0x1234 , 0x123456 и т. д.; обратите внимание, что записи 0x123456 , 0x12 0x34 0x56 и 0x12 , 0x34 , 0x56 являются эквивалентами.
Разделители «пробел» или «запятая» игнорируются.

Пример: нужно добавить формат PFI, для этого берём тестовый файл и смотрим его сигнатуру в HEX-редакторе командой: hexdump -C ~/sample.pfi | head

Вывод будет таков: 00000000 50 68 6f 74 6f 46 69 6c 74 72 65 20 49 6d 61 67 |PhotoFiltre Imag| 00000010 65 03 40 06 00 00 b0 04 00 00 40 19 01 00 40 19 |e.@.......@...@.| 00000020 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|

Теперь в файл photorec.sig прописываем строку в виде: pfi 0 "PhotoFiltre Image"

Или pfi 0 "PhotoFiltre", 0x20, "Image"

Для того, чтобы дополнительные форматы могли быть использованы, в меню File Opt должен стоять флаг Own сustom signatures (по умолчанию он уже установлен).

Также можно внести нужные форматы файлов в исходники перед компиляцией, но это уже бо­лее сложная процедура.

Вернёмся теперь к программе и продолжим настраивать дальше. Входим в меню Options и на­страиваем режимы сканирования: режим Paranoid позволяет восстановить файлы, которые про­грамма не опознала, поэтому настройку Paranoid: Yes (Brute force disabled) рекомендую оставить как есть; если есть желание восстановить фрагментированные JPEG-файлы, то выставляем Brute force enabled , но не факт, что они потом корректно откроются, а вот нагрузка на процессор и время сканирования диска ощутимо возрастёт; при настройке Paranoid: No программа будет восстанавли­вать только файлы, указанные в настройках меню File Opt .

Опция Allow partial last cylinder определяет, какая примерно была геометрия диска, но её имеет смысл включать только в том случае, когда сканируется диск с повреждённой геометрией, табли­цей разделов или без них вообще.

Опция Keep corrupted files позволяет сохранить файлы, скопированные из повреждённой области диска, которые потом можно попытаться восстановить при помощи других программ, поэтому ре­комендую её включить.

Если у вас на компьютере мало оперативной памяти и программа во время восстановления выле­тает с ошибкой либо зависает, то включите опцию Low memory . Хотя на современных компьютерах это и не пригодится.

Также можно включить экспертный режим, установив Expert mode: Yes , и тогда в настройках откроется дополнительное меню Geometry , где мы сможем указать дополнительные данные о сканируемом диске: количество цилиндров (Cylinders) , головок (Heads) , число секторов на дорож­ку (Sectors) и размер сектора (Sector Size) . По умолчанию программа принимает размер блока рав­ным 512 байт, что повысит точность восстановления, но замедляет общий процесс. Как правило не­которые из этих параметров определяются автоматически, но если правильно указать размер кла­стера (в файловых системах NTFS по умолчанию он равен 4096 байт), то это повысит скорость ска­нирования, но повлияет на точность восстановления (многие файлы могут оказаться битыми). В большинстве случаев эта опция не сильно требуется, поэтому лучше её отключить, дабы потом про­грамма не задавала лишних вопросов.

Теперь, когда настройки закончены, указываем из списка нужный раздел диска и щёлкаем Search . Если хотите просканировать весь диск полностью, то выбирайте самую верхнюю строку No partition . Далее откроется диалог выбора файловой системы раздела. Как всегда программа автома­тически установит курсор на нужную строку, но можно указать и вручную: для разделов с файло­вой системой EXT2/EXT3/EXT4 выбираем ext2/ext3 , для всех остальных - Other .

Если на предыдущем этапе указали конкретный раздел диска, то на следующем нужно выбрать один из двух вариантов сканирования: вариант Whole позволяет просканировать весь раздел цели­ком, но при этом время восстановления увеличится, а в общую кучу будут сохранены те данные, которые и так доступны через проводник или файловый менеджер; вариант Free сканирует только пустую область раздела, в итоге время работы уменьшается и восстанавливаются только удалённые файлы. Для сильно повреждённого раздела используйте вариант Whole , а когда раздел исправен и нужно побыстрее восстановить недавно удалённые файлы, выбирайте Free .

Затем указываем место, куда будут сохраняться восстановленные файлы. Автоматически откроется каталог с программой TestDisk. Чтобы перейти на уровень выше, выбираем строку с дву­мя точками. Когда указали нужный каталог, для подтверждения нажимаем клавишу c . Начнётся сканирование.

Если в настройках программы был включен режим Expert Mode , то во время сканирования про­грамма задаст ещё несколько вопросов. Сначала программа спросит: «Try to unformat a FAT filesystem?» («Попытаться восстановить файловую систему FAT?»). При нажатии y (ответ "да") программа просканирует раздел на предмет структуры папок (лично мне в экспериментах с флэш­ками это никак не помогло, поэтому в дальнейшем я нажимал n ).

Если мы в режиме эксперта оставили настройки в разделе Geometry по умолчанию, то на следую­щем шаге программа попросит указать размер блока. Хотя стандартный размер блока для жёстких дисков равен 4096 байт, но я рекомендую выбрать 512 байт, тогда есть вероятность, что повре­ждённые файлы будут точнее восстановлены.

На следующем шаге нужно указать смещение. По умолчанию оставляем 0 , но если программа не нашла ни одного файла, то необходимо вычислить нужное смещение, и повторить сканирование. Клавишами стрелок и ↓ ищем нужный вариант и нажимаем ↵ Enter .

Пока продолжается сканирование, можно пойти попить чаю, погулять с собакой и т. д.

В программе предусмотрена возможность прервать сканирование щёлкаем на Stop , но при сле­дующем запуске она выдаст запрос на продолжение сканирования.

И снова этот Expert Mode : если он был включен, то по окончании работы программа предложит создать файла образа диска, в котором будут сохранены все нераспознанные данные. Этот образ по­том можно подмонтировать в файловую систему и поработать с ним отдельно («можно» не значит «получится»). Если есть желание попытаться ещё что-то «выжать», то нажимаем Y , и в корне ката­лога с восстановленными файлами появится файл образа диска image_remaining.dd , Правда как «выжать» из этого файла что-то ещё, я так и не понял: при подключении этого файл в качестве блочного устройства командой
sudo losetup -fv ~/recovery/image_remaining.dd
он «прыгнул» на первое свободное устройство /dev/loop0 , но вывод команды
fdisk -l /dev/loop0
показал, что на диске нет таблицы разделов, а следовательно мы ничего, кроме воздуха, не сможем подмонтировать в нашу систему. Остаётся только один вариант: натравить на этот образ другую программу восстановления с надеждой, что она хоть чего-нибудь ещё найдёт.

Теперь корректно выходим из программы, нажимая в каждом окне клавишу q или выбирая оп­цию Quit (иначе мы не сможем поработать с разделом, пока компьютер не будет перезагружен).

FIdentify

В комплекте TestDisk есть ещё третья утилита - FIdentify , позволяющая провести иденти­фикацию форматов файлов на предмет распознавания их программой PhotoRec . Это бывает полез­но, например, когда мы добавляем форматы файлов вручную и необходимо проверить, насколько корректно это сделано. Также её можно использовать для определения форматов файлов в других случаях, например, когда ScanDisk из Windows после сканирования файловой системы насоздавал кучу файлов CHK. Запускаем утилиту командой

sudo ~/testdisk-6.13/fidentify_static ~/recovery

И, наконец, заходим в наш каталог с восстановленными файлами, чистим его от лишнего мусора и любуемся результатом. Можно при помощи нехитрых команд рассортировать файлы по папкам, например, перенесём все файлы TXT в одну папку с тем же именем, но расположенной вне recovery , (иначе команда рекурсивно зациклится); в нашем случае папка txt будет располагаться в корне домашнего каталога пользователя:

mkdir ~/txt && find ~/recovery -type f -name "*.txt*" -exec mv -i {} ~/txt \;

Результаты работы и общая оценка

Режим «по умолчанию»: все настройки оставлены как есть, из списка был выбран единственный раздел на флэшке, вариант сканирования - Free .

  • Флэшка №1 : утилита TestDisk при попытке использования функции Undelete никаких файлов на флэшке не нашла. Утилита PhotoRec работала примерно 7 минут, по окончании сканирования вы­дала сообщение, что восстановлено 512 файлов; в каталоге RECOVERY программа создала 2 пап­ки: recup_dir.1 и recup_dir.2 . Поскольку на флэшке перед форматированием было действительно две папки, то логично предположить, что после восстановления программа автоматически скопиро­вала каждый файл в нужный каталог. На самом деле в первой папке было 1001 файл, во второй - 24, причём половина файлов оказались побочным «мусором»: это были те же самые фотографии, только в маленьком разрешении, а также файл отчёта report.xml . «Мусор» оказалось вычислить до­вольно просто: во-первых, имена побочных файлов начинались на букву t*, а нормальных - на бук­ву f*, а во-вторых побочные файлы имели маленький размер, всего лишь несколько десятков кило­байт (файлы фотографий были размером от 2,5МБ). После очистки в первой папке оказалось 500 файлов, во второй - 12. Навскидку несколько восстановленных файлов были сопоставлены с ори­гиналом: размеры совпали, в свойствах фотографий сохранились все данные (каким фотоаппаратом сделана фотографии, в каком режиме, время создания и т. д.). При просмотре повреждённых фото­графий не найдено.
  • Флэшка №2 : при использовании утилиты TestDisk ситуация аналогична с флэшкой №1; утилита PhotoRec работала 10 минут 45 секунд, по окончании программа выдала сообщение, что восстанов­лено 149816 файлов (из них примерно 147000 - файлы TXT, выдранные из файлов баз данных Firebird, которые присутствовали на флэшке); в каталоге RECOVERY создано 300 папок. Первона­чальные имена не сохранились практически ни у одного файла, у некоторых EXE, DLL, архивов ZIP и TAR.GZ имена сохранились лишь частично. Среди восстановленных данных обнаружены даже те, которые давным-давно удалены. Некоторые документы, архивы и исполняемые файлы EXE были испорчены и не открывались. Файлы определённых форматов, например, образы ISO, восстановлены не были.
  • Диск DVD-RW : восстановлены 18 из 21 файлов AVI. Вместе с файлами AVI в папке было 26 MP3 (интересно, откуда?), но длительностью 1 секунда (отдельные фрагменты звуков, выдранные из разных мультфильмов). Лишние файлы удалены, оставшиеся сопоставлены с оригиналом: все восстановленные файлы совпали с оригинальными и корректно открывались.

Теперь о достоинствах и недостатках: поскольку TestDisk - это не одна программа, а набор из трёх утилит, то оцениваться будет весь комплекс в целом.

ДОСТОИНСТВА

  1. утилита PhotoRec прекрасно справляется с восстановлением фотографий, рисунков, докумен­тов; основная масса восстановленных фотографий, да и других файлов тоже, сохранились практи­чески в «первозданном» виде;
  2. утилита PhotoRec не зависит от файловой системы и работает практически с любым носи­телем, будь то флэшка, жёсткий диск, компакт-диск, дискета и т. д., или даже «голый» жёсткий диск без таблицы разделов или образ диска;
  3. даже если PhotoRec не распознала какие-либо данные, при включении определённой опции она их сохранит в отдельный файл образа диска, с которым потом можно поработать отдельно;
  4. PhotoRec распознаёт файлы более 350 форматов; есть возможность добавить дополнительные форматы вручную;
  5. у программы PhotoRec в режиме RAW довольно неплохая эффективность работы;
  6. несмотря на то, что программа - консольная, во время сканирования наглядно показываются результаты восстановления, а также процент выполнения;
  7. программа TestDisk умеет работать не только с обычными дисками, но и RAID-массивами;
  8. программа TestDisk прекрасно справляется с исправлением таблиц разделов и восстановлени­ем потерянных разделов диска, распознаёт типы очень многих файловых систем, начиная с Windows и заканчивая экзотическим BeOS (иногда к потере данных приводят неудачные операции по переразметке жёсткого диска, и здесь эта функция очень кстати).

НЕДОСТАТКИ

  1. в утилите TestDisk применение функции Undelete бессмысленно, если раздел или носитель был очищен даже в режиме «быстрого» форматирования;
  2. при восстановлении оригинальных имён файлов и папок при помощи утилиты TestDisk есть проблемы с кириллицей на разделах FAT;
  3. если нужно восстановить недавно удалённые файлы с сохранением имён, то это можно сде­лать утилитой TestDisk только с разделов FAT, NTFS и EXT2, другие файловые системы пока не поддерживаются;
  4. утилита PhotoRec не сохраняет имена файлов и структуры каталогов (частично сохраняются имена только у очень небольшого количества файлов: EXE, DLL, некоторых архивов ZIP и TAR.GZ), поэтому после восстановления все файлы придётся переименовывать и копировать в нужные папки вручную;
  5. утилита PhotoRec сразу восстанавливает все найденные файлы без предварительного просмот­ра, поэтому вместе с нужными данными восстанавливается довольно много «мусора», который по­том приходится чистить вручную;
  6. все восстановленные файлы сваливаются по папкам в одну кучу, нет сортировки по типу файлов, что ещё больше осложняет удаление «мусора».

ДЛЯ ЧЕГО ПОДОЙДЁТ ПРОГРАММА

  1. восстановление повреждённых таблиц разделов практически любых файловых систем;
  2. создание образа раздела или всего диска при условии целостности носителя;
  3. восстановление случайно удалённых файлов с сохранением оригинальных имён с исправных разделов FAT, NTFS и EXT2;
  4. восстановление данных (документов, фотографий, архивов и т.д.) с любых файловых систем и носителей (жёсткие диски, флэшки, компакт-диски, дискеты и т. д.), даже при повреждении или форматировании в «быстром» режиме, но без сохранения оригинальных имён файлов и структуры папок, когда важно восстановить сам файл, а его первоначальное имя и местоположение не имеют значения.

ДЛЯ ЧЕГО НЕ ПОДХОДИТ ПРОГРАММА

  1. восстановление недавно удалённых файлов с сохранением оригинального имени и структуры папок с файловых систем, отличных от FAT, NTFS и EXT2;
  2. восстановление данных с повреждённых разделов, например, очищенных путём «быстрого» форматирования, если требуется сохранить оригинальные имена файлов и структуру папок (напри­мер, базы данных 1С 7.7).

ВЫВОД

  • Из бесплатных программ является одним из самых мощных инструментов для работы с жёстким диском и восстановления данных с любых носителей;
  • вероятность восстановления удалённых файлов с сохранением имён и структуры папок с разде­лов FAT, NTFS и EXT2 есть только в том случае, если разделы не были отформатированы, в про­тивном случае данные придётся восстанавливать в режиме RAW;
  • если бы полностью устранить проблемы с кириллицей и сохранением имён файлов и структуры папок, то программа стала бы лучшей среди всех.

Недавно столкнулся с ситуацией, когда мой старый внешний USB диск перестал читаться в Windows, определяясь как RAW . Это свидетельствует о том, что Windows не может определить структуру файловой системы, имеющейся на диске. Причина, по которой раздел определяется, как RAW могут быть разными: диск может быть не размечен, может быть стерт/поврежден/отсутствовать заголовок таблицы разделов, на диске могут присутствовать битые сектора либо иметь место физические проблемы с самим диском или его контроллером.

С точки зрения пользователя такой RAW диск отображается в проводнике, но его размер определяется как 0 (нулевой). При попытке открыть или прочитать данные с RAW раздела появляются различные ошибки вида:

    Чтобы использовать диск в дисководе E:, сначала отформатируйте его. Вы хотите его отформатировать?

    You need to format the disk in Drive E: before you can use it. Do you want to format it?

    Нет доступа к E:\. Файловая система тома не распознана.

    Cannot Access Disk. The volume does not contain a recognized file system.

Примечание . Мы намеренно не рассматриваем вариант с физическим повреждением диска, так как программными средствами это не лечится. Общая рекомендация: желательно в первую очередь проверить диск с помощью любой утилиты просмотра статуса S.M.A.R.T.

Как правило, самый простой способ восстановить работоспособность диска — удалить текущий RAW раздел и пересоздать его с форматированием. Но данные при этом, естественно, будут потеряны, что может быть категорически не приемлемо. Попытамся запустить проверку диска с помощью стандартной утилиты проверка CHKDSK:

Утилита вернула, что CHKDSK нельзя выполнить для дисков в формате RAW.

The type of the file system is RAW.
CHKDSK is not available for RAW drives.

Для восстановления оригинальной файловой системы на RAW диске без форматирования воспользуемся бесплатной консольной утилитой TestDisk .

  1. Качаем, распаковываем архив с утилитой и запускаем exe в режиме No Log
  2. Находим диск, файловая система которого определяется как RAW и выбираем Proceed
  3. Далее нужно выбрать тип таблицы разделов диска. Как правило, он определяется автоматически как Intel для MBR разделов либо EFI GPT для GPT таблицы. Однако в некоторых случаях нужно выбрать None
  4. Чтобы запустить анализ структуры данных диска выберите Analyze , а на следующем экране Quick Search
  5. Утилита TestDisk отобразит список найденных разделов. С помощью клавиши P можно вывести список файлов на найденном разделе (Q- выход из режима просмотра), В том случае, если и раздела имеется метка P (раздел выделен зеленым цветом) – такой раздел будет восстановлен. Метка D – удален. Чтобы изменить метку, воспользуйтесь стрелками влево/вправо на клавиатуре.

    Совет . Довольно полезная функций режима просмотра файлов на файловой системе – возможность восстановить отдельные папки/файлы на другой диск. Для этого в режиме просмотра нажмите клавишу C .

  6. После того как все разделы к восстановлению помечены, нажмите Enter и Write (тут будьте внимательными, чтобы не перезатереть таблицу разделов мусором). Если нужно выполнить более глубокий анализ диска, выберите Deep Search .

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

  7. После этого (может потребоваться перезагрузка), утилита восстановит исходную структуру таблицы разделов и файловой системы (как правило, это NTFS или FAT32) на RAW диске и вы сможете получить доступ к хранящимся на нем файлам.

Весьма продвинутая утилита, предназначенная для всякого рода восстановительных действий. Не смотря на свое название , состоит из трио-утилит: TestDisk, PhotoRec, FIdentifi . В данном конкретном случае, мы рассмотрим способ восстановления, нечаянно удаленных файлов со съемного носителя, например с флешки, но в целом, утилита настолько мощна, что описывать все ее возможности и различные настройки, не соответствует формату этой статьи. Мы подробно разберем, самый простой способ восстановления для общего понимания процесса.

Пару слов о содержимом, кратко и в общих чертах.

» - может исправлять таблицы разделов, восстанавливать удаленные разделы и файлы, копировать файлы, исправлять загрузочные сектора, восстанавливать «MFT » и суперблоки из копий.

«PhotoRec» - умеет восстанавливать файлы с любых носителей из любых файловых систем, даже поврежденных, но только в «RAW ».

«FIdentifi» - это своего рода расширение, дополнение к «PhotoRec», которое наиболее точным образом идентифицирует восстанавливаемые файлы по их расширению.

Для нашей конкретной задачи, лучше всего подходит утилита «PhotoRec », т.к. ее возможности по восстановлению именно файлов, самые продвинутые и она порой может восстановить то, чего не может «». Для начала, установим программу:

sudo apt-get install testdisk

Запускаем утилиту:

После ввода пароля, запустится утилита и покажет вам, какие диски она смогла обнаружить. В данном случае, на скриншоте ниже, выделен диск (флешка), размером в 500 (512) МБ. При помощи клавиатуры, стрелками верх/низ, выбираете нужный диск (флешка) и нажимаете «Enter ». Хочу заметить, что утилита, фактически, почти во всех случаях, определяет нужный пункт автоматом, там, где это возможно.

Открывается следующее окно с отображением файловой системы выбранного диска «FAT32 », в левом нижнем углу должно быть выделено «Search », жмем «Enter ».

На следующем шаге, выбираем значение «Other », что соответствует нашей файловой системе «FAT32 », обычно стоит по-умолчанию. Жмем «Enter ».

Далее, опять имеем две позиции для выбора: «Free » - утилита будет сканировать только свободное пространство, «Whole » - будет просканировано все. Для восстановления какого-нибудь одного файла или даже, допустим музыкальной коллекции, обычно хватает позиции «Free ». Выбираем, что хотите и жмем «Enter ».

В следующем действие, предлагается выбрать директорию для сохранения восстанавливаемых файлов. Выбираете то, что вам нужно и жмете «Enter ».

Здесь, можно нечего не трогать и нажать клавишу «Y», запустится процесс.

Снимок самого процесса я пропустил, но когда он закончится, то вы получите такое сообщение:

Это говорит о том, что все окончено, можете заходить в соответствующую директорию и искать свои файлы. Несколько слов о том, что же вы получаете в конечном итоге. «PhotoRec » очень хороша своей способностью находить любые файлы, но это и ее минус, т.к. по-мимо искомых файлов, будут найдены и восстановлены все файлы, которые находились на просканированном пространстве и их может быть довольно-таки много. Второй неприятный момент - утилита изменяет имена файлов и заменяет их на буквенно-цифровые значения. Если файлов было восстановлено много, то поиск одного нужного, путем обычного просмотра, может быть затруднен. Лучший вариант в таком случае - это зайти в директорию и воспользоваться поиском, вбив в строку поиска только расширение файла. Например, если вы восстанавливали графический файл с расширением «PNG », то в поиск "вбивайте" значение «.png », это значительно облегчит нахождение нужного нам файла.

Положительные характеристики

  • Просто необходимая утилита для восстановления, практически на любой случай жизни.

Отрицательные характеристики

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

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

Похожие публикации