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 .

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

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

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

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

Далее нужно выбрать тот носитель, который показывает ошибку или потерю данных. Можно даже проверять устройства, подключенные через USB. После того, как вы определились с выбором, нажмите Proceed. В том случае, если у вас стационарный компьютер, выбирайте пункт Intel/PC partition . В других случаях выбираете то, что вам подходит. Например, если у вас устройство Apple, выбираем Apple Partition Map. После нажимаем на Analyse и запускаем его, нажав на Quick Search. Начнется анализ вашей системы.

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

После проведения анализа информация будет выведена на экран. Теперь можно начать восстанавливать данные. Выбираем тот раздел, который нужно восстановить, нажимаем на клавишу «P». После нажатия этой клавиши перед вами будет целый список всех файлов, которые имеются в этом разделе. Найдите те файлы, которые вас интересуют и нажмите на клавишу «С». После этого выбирайте папку, куда вы хотите поместить восстановленный файл и вставьте его туда. На этом все. Но данный способ просто восстановит сам файл, но если вам нужно восстановление в исходное состояние, придется выполнить еще одну манипуляцию.

Нажимаем на клавишу «Q». Затем вызываем окно «Load» нажатием клавиши «L». После нажимаем «Y», что означает «Yes». После этого все данные будут восстановлены.

Программа хороша тем, что подходит для разных операционных систем, в том числе для Windows XP, Vista, 7, Linux, MAC OS X.

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

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

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

Есть и другие программы подобного рода, но в основном принцип у них одинаковый.

Иногда бывает так, что вирус или ошибка пользователя создают неисправность в различных разделах на жестком диске. Также случается, что оказывается поврежденным загрузочный сектор или MBR в попытке восстановить разделы. Это может случиться и с тоже. Чтобы исправить это, понадобится программа TestDisk. Инструкция восстановление данных и разделов с помощью программы описывает довольно подробно. Это приложение помогает исправить ошибки и сбои.

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

Что же это за инструмент?

TestDisk является свободно доступной и полезной программой, которая запрашивает BIOS (DOS/Win9x) или ОС (Linux, FreeBSD) для того, чтобы найти жесткие диски и их характеристики (размер LBA и геометрию CHS). Приложение делает быструю проверку вашей структуры дисков и сравнивает ее с таблицей разделов для ошибок при вводе. Если таблица разделов имеет ошибки при вводе, TestDisk может восстановить их. Это не составит большого труда. Если отсутствуют разделы или обнаруживаются совершенно пустые таблицы, утилита может искать отсутствующие элементы и создать новую таблицу, а при необходимости даже новый MBR.

Как это работает?

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

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

С какими типами данных работает сервис?

TestDisk может найти потерянные разделы для всех перечисленных ниже файловых систем:

  • BeFS (BeOS);
  • Cramfs (сжатая файловая система);
  • HFS и HFS + (иерархическая файловая система);
  • JFS, IBM"s;
  • Linux Ext2 и Ext3;
  • RAID 1;
  • RAID 4;
  • RAID 5;
  • RAID 6;
  • DOS/ Windows FAT12, FAT16 и FAT32;
  • Linux Swap (версии 1 и 2);
  • LVM и LVM2, Linux (менеджер логических томов);
  • карта разделов Mac;
  • NTFS (Windows NT/2K/XP/2003);
  • Linux Raid;
  • Sun Solaris i386 (метка диска);
  • Unix, файловая система UFS и UFS2 (Sun/BSD);
  • XFS, SGI"s (журнальная файловая система).

TestDisk - инструкция, или как же использовать эту утилиту?

Итак, как уже было сказано, TestDisk - это мощная свободно распространяемая программа для реставрации данных, которая в первую очередь предназначена для восстановления потерянных разделов, а также для того, чтобы сделать незагружающиеся диски снова загрузочными. Она не требует установки и может быть запущена с флешки или DVD.

Лучшим способом использовать программу TestDisk является ее загрузка с DVD на флешку. Таким образом вы можете проверить все разделы на жестком диске в случае, если главная загрузочная запись повреждена. После этого вы можете инициировать необходимые команды, чтобы исправить разметку. Необходимо иметь в виду, что TestDisk полностью основана на интерфейсе командной строки. Приложение не имеет пользователя. Даже новейшие версии утилиты не дополнены этой возможностью, даже в TestDisk 7.1 инструкция предполагает только работу в командной строке.

Возможности утилиты

Можно было бы сравнить программу с EASEUS PartitionRecovery, но TestDisk позволяет сделать немного больше. Она может выполнить:

  • Исправление ошибок таблицы разделов.
  • Восстановление удаленных разделов.
  • Перестроить загрузочные секторы.
  • Выделение файлов таблицы (FAT).
  • Создание и восстановление резервных копий загрузочного сектора NTFS.
  • Восстановление потерянных файлов на любом типе разделов.

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

Как загрузить утилиту и начать работать с ней?

После загрузки TestDisk вы должны распаковать файл в любое место, которое удобно для вас. Так как все содержимое архива находится в том же месте, вам не нужно беспокоиться о копировании файлов в папку Windows или в папку System32. Такие действия не требуются. Это полный портативный инструмент и, следовательно, он может быть скопирован на съемный диск, а затем использован для устранения неполадок и исправления загрузочных записей или восстановления недостающих данных с жестких дисков.

После того как все файлы будут доступны локально, необходимо дважды щелкнуть мышью на testdisk_win.exe, чтобы начать использовать приложение. Дальнейшая к TestDisk 7.0 инструкция будет зависеть от того, какие именно действия вы хотите выполнить.

Использование TestDisk для восстановления разделов

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

После того как вы решите создать новый файл журнала, второй экран покажет вам список опций, в которых можно выбирать формат жесткого диска. Если вы используете ПК с Windows, выберите Intel, а затем нажмите клавишу Enter.

В случае с другой ОС для TestDisk (Linux) инструкция проще и интуитивно понятнее.

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

Отображенные результаты должны соответствовать конфигурации, которая была задана при создании дисков: первичный, расширенный и логический. Если вы видите, что что-либо отсутствует, вы можете выбрать QuickSearch. Это вернет исчезнувшие «перегородки». Затем вы должны выбрать нарушенные разделы и нажать «Записать», чтобы сохранить раздел.

Программа TestDisk - инструкция по восстановлению утерянных данных

Для того чтобы выберите Advanced вместо «Анализ разделов жесткого диска». TestDisk 7 (инструкция к которому здесь приводится) будет сканировать раздел, выбранный в следующем окне, и вернет имена файлов. Чтобы восстановить файл, выберите его с помощью клавиш со стрелками и нажмите C. Вам будет предложено выбрать пункт назначения. Вы выбираете пункт назначения, где отсутствующие файлы должны быть записаны. После завершения восстановления перейдите к Quit с помощью клавиш со стрелками и нажмите клавишу Enter, чтобы выйти из программы. Таким образом, в TestDisk инструкция по восстановлению выполняется очень просто, как можно убедиться.

Какие можно сделать выводы?

Инструмент хорош для всех целей, перечисленных выше: восстановления разделов, фиксации разделов и загрузочных записей, восстановления файлов и т. д. Тем не менее интерфейс утилиты TestDisk (инструкция raw) слишком сложен для тех, кто не слишком осведомлен об устранении неполадок. Для специалистов этот инструмент очень удобен и рекомендуется во всех случаях, особенно легкой эта программа кажется пользователям "Линукс". Для людей, которые не являются опытными пользователями, имеется обширная документация, доступные скриншоты и т. д.

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

Также стоит отметить, что TestDisk зачастую упоминается в связке с инструментом PhotoRec. Это разные утилиты, но некоторое сходство между ними имеется. PhotoRec - это программа, предназначенная для восстановления потерянных изображений из памяти цифровой камеры, а также утраченных файлов, включая видео, документы и архивы с жестких дисков и CD-носителей. Этот инструмент игнорирует файловую систему и работает на основе исходных данных, поэтому он будет функционировать, даже если она сильно повреждена или отформатирована.

Восстановленные файлы при этом появляются в каталоге, откуда вы запускаете программу PhotoRec. Утилита доступна бесплатно и представляет собой приложение с открытым исходным кодом, мультиплатформенное, распространяемое под лицензией GNU Public License. PhotoRec является спутником программы TestDisk и включен в его загрузку.

Весьма продвинутая утилита, предназначенная для всякого рода восстановительных действий. Не смотря на свое название , состоит из трио-утилит: 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 », это значительно облегчит нахождение нужного нам файла.

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

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

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

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

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

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;
  • если бы полностью устранить проблемы с кириллицей и сохранением имён файлов и структуры папок, то программа стала бы лучшей среди всех.