Файловая система RAW и как вернуть NTFS, FAT32. Файловая система флешки повреждена: восстановление с сохранением данных Восстановление данных с флешки fat32

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

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

1. Recuva (Windows , Linux)

Это один из наиболее мощных инструментов на рынке, чтобы вернуть ваши потерянные данные. Программа может восстановить данные Windows версий от XP до 8.1, а также Linux. Recuva предлагает два вида версий: платную (профессиональную) и бесплатную.

Возможности восстановления:

  • из поврежденных, или отформатированных носителей информации (карты видеокамеры, или MP3 плеера и т. п.).
  • удалённых сообщений из почтового ящика (поддерживает Microsoft Outlook Express , Mozilla Thunderbird и Windows Live Mail).
  • структуры папок.
  • несохранённых документов Microsoft Word .

Таже система предоставляет расширенный и функциональный поиск файлов в системе, который способен:

  • показывать файлы из скрытых/системных папок.
  • показывать файлы с нулевым размером.
  • показывать надежно удаленные файлы.
  • искать неудаленные файлы с поврежденных носителей.

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

2. Puran File Recovery (Windows)

Из всех примеров, это, пожалуй, одно из наилучших сочетаний мощности, точности и простоты использования. Программа оснащена удобной системой поиска, интуитивно понятным интерфейсом и поддерживает почти все версии Windows. Совместима со всеми типами носителей информации (жесткие диски, карты памяти, флешки, CD/DVD-диски и т.д.) независимо от файловой системы. Данные могут быть восстановлены даже с отформатированных и RAW-дисков. Инструмент сначала сканирует выбранный носитель и показывает перечень доступных к восстановлению файлов.
Затем, необходимо выбрать несколько режимов сканирования:

  • Быстрый.
  • Глубокий, при котором качество итоговых файлов лучше.
  • Полный, когда производится самый подробный анализ, в том числе и удаленных разделов диска.

Puran File Recovery распознает более 50 форматов файловых данных, так что практически любой файл, даже самый специфический, может быть восстановлен этой программой. Имеется русская версия. Бесплатна.

3. Glary Undelete (Windows)

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

  • поддержка файловых систем FAT, FAT16, FAT32, NTFS, NTFS5, NTFS+EFS;
  • восстановление сжатых, фрагментированных и зашифрованных файлов на NTFS;
  • поддержка как основные так и динамических томов;
  • восстановление файлов на переносных устройствах (SmartMedia, Secure Digital, MemoryStick и т.д.);

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

4. Test Disk (Windows, Linux и Mac)

Мощная программа с открытым исходным кодом. Бесплатна. Русской версии не представлено. Создана для восстановления утерянных разделов диска, и/или восстановления загрузочной области дисков, если эта проблема вызвана программно, вирусами или ошибками человека. Может быть непроста в использовании, так как в ней нет графического интерфейса.

Возможности программы:

  • исправлять и восстанавливать разделы;
  • восстанавливать загрузочный сектор FAT32 из бэкапа;
  • заново создавать загрузочный сектор в FAT12/FAT16/FAT32;
  • исправлять таблицу FAT;
  • заново создавать загрузочный сектор NTFS или восстанавливать из бэкапа;
  • исправлять таблицу MFT, используя зеркальную копию.

Подходит для большинства ОС (Windows, Linux и Mac).

Преимуществом данной утилиты является то, что в комплекте идет программа PhotoReс , предназначенная для восстановления потерянных файлов в памяти цифровой камеры (CompactFlash, Memory Stick, SecureDigital, SmartMedia, Microdrive, MMC, USB Memory Drives и т. д.), на жестких дисках и компакт-дисках. Она восстанавливает большинство основных форматов изображений, включая JPEG, а также аудио файлы, включая MP3, документы таких форматов как Microsoft Office, PDF, и HTML, и форматы архивов, включая ZIP.

5. EaseUS Data Recovery Wizard (Windows, Mac , Linux)

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

Основные возможности:

  • Поддержка файловых систем FAT12, FAT16, FAT32, NTFS/NTFS5, EXT2 и EXT3.
  • Восстановление офисных документов, фото, видео, музыки, электронной почты и т.д.
  • Высокое качество восстановления файлов.
  • Распознавание длинных имен файлов.

6. Restoration (Windows)


Довольно старая программа, но не менее полезная, чем выпущенные недавно. Бесплатная. Позволяет восстанавливать удаленную информацию с любого носителя, в том числе с флеш-карт, внутренних и внешних дисков и т.д.. Подходит для файловых систем: FAT12, FAT16, FAT32 и NTFS. Простейший интерфейс в котором все запускается в несколько кликов. Способна восстановить файлы или папки, которые были удалены через корзину или сочетанием клавиш "Shift+Del".
Для облегчения поиска нужных файлов встроен модуль поиска. Утилита не требует установки и может быть запущена с различных сменных носителей, например, с флешек. Программа маленькая и простая, для несложных операций довольно эффективная.

7. ADRC Data Recovery Tools (Windows)

ADRC Data Recovery Software Tool - это пять полезных инструментов в одном. Пока не русифицирована. Содержит online-руководство, если вам будет сложно разобраться, пошагово расскажет о том, с чего начать и объяснит назначение каждого элемента. Это действительно делает интерфейс элементарным даже для не очень продвинутых пользователей.

Вся утилита весит менее 130 Kb и использовать ее можете на любом носителе, как встроенном, так и съемном.

Поддерживает такие файловые системы как: FAT12, FAT16, FAT32 and NTFS для Windows 95/ 98, Windows ME, Windows NT, Windows 2000, Windows XP и Windows 2003 server.

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

8. WinHex (Windows)

WinHex - это мультизадачный софт, который может работать с жесткими дисками, дискетами, CD- ROM, DVD, ZIP, Smart Media, Compact Flash memory cards и др. Поддерживает FAT12, FAT16, FAT32, NTFS, CDFS. Русифицирована.

Кроме того, система производит такие операции как "клонирование" дисков, или безвозвратное удаление информации (без возможности последующего восстановления).

Дополнительные возможности:

  • Редактор оперативной памяти , обеспечивающий доступ к физической и виртуальной памяти других процессов.
  • Анализ, объединение, сравнение, конвертирование файлов.
  • Гибкий и многофункциональный поиск с функциями замены.
  • Конкатенация и разделение файлов, объединение и разделение на четные и нечетные байты.
  • Поддержка файлов, размер которых превышает 4 GB.

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

9. R . Saver (Windows )

Это детище российских разработчиков собирает немало хороших отзывов о своем качестве. Распространяется бесплатно. Предназначена для экстренного восстановления удаленной информации с дисков, флешек, карт памяти файловых систем семейств FAT и NTFS.

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

  • Microsoft Windows: exFAT, FAT12, FAT16, FAT32, NTFS, NTFS5.
  • Apple Mac OS: HFS, HFS+/HFSX.
  • Linux: Ext2, Ext3, Ext4, ReiserFS, JFS и XFS.
  • Unix, BSD, Sun Solaris: UFS и UFS2 (FFS), включая UFS с обратным порядком байтов, которая используется на Sparc/Power серверах.
  • Novell Netware: NWFS.
  • CD/DVD: ISO9660, UDF.

Хорошая программа, которая по качеству восстановления, не уступает многим платным аналогам.

10. (Linux )

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

Работает с файловыми системами Ext2/Ext3/Ext4 FS. Есть русская версия. Хорошее решение для восстановления файлов в системах FAT12/16/32, NTFS, NTFS5, Ext2FS. Еще работает под Macintosh HFS/HFS+ и FreeBSD UFS1/UFS2.

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

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

Если таблица разделов жесткого диска была повреждена, как правило, данные еще можно спасти. Мы покажем, как это сделать.При повреждении таблицы разделов данные, как правило, можно спасти Ваш накопитель легко может остаться без работающей таблицы разделов - если слишком рано отключить внешний диск от питания, если вирус пытается угнездиться на защищенном участке жесткого диска или если секторы, в которых записана таблица, просто стали нечитаемыми. После этого вы обязательно получите сообщение от Windows: «Прежде чем использовать диск в дисководе Х:, его нужно отформатировать. Отформатировать?». Спасаем данные и чистим жесткий диск Разумеется, в абсолютном большинстве случаев вы совсем не хотите форматировать накопитель, ведь на нем находятся ваши данные. Но без таблицы разделов система не сможет получить доступ к жесткому диску. Вам необходимо найти способ как-то иначе извлечь информацию с испорченного носителя. Прежде всего, вам потребуется достаточное количество памяти на диске, чтобы разместить там спасенные данные. Для восстановления таблицы разделов диска вы можете воспользоваться бесплатной утилитой TestDisk. Ее можно скачать с сайта производителя cgsecurity.org или взять с CHIP DVD. Также понадобится инструмент DiskPart. Начиная с версии Vista эта программа идет в комплекте с Windows, однако пользователям XP ее придется загрузить с сайта microsoft.ru. Утилита TestDisk необходима для обнаружения данных без таблицы разделов и их копирования. После этого DiskPart очистит жесткий диск, благодаря чему в итоге можно будет создать работающие разделы с помощью собственного средства Windows «Управление дисками», которое доступно в разделе «Управление компьютером». Не стоит бояться командной строки Конечно, программы TestDisk и DiskPart - это мощные инструменты, при работе с которыми можно столкнуться с определенными трудностями. Но не стоит бояться: внимательно читайте каждое сообщение, просматривайте каждый экран и старайтесь максимально придерживаться нашей инструкции. Если на вашем компьютере используется несколько HDD и/или твердотельных накопителей, особенно важно следить за буквами дисков и обозначениями. Нет ничего обиднее, чем удалить разделы совершенно непричастного исправного носителя. Кстати, после процедуры вы сможете спокойно использовать жесткий диск с когда-то испорченной таблицей разделов. Даже если источником проблемы стали неисправные секторы на HDD, не стоит опасаться, что это снова произойдет. Собственное средство диска для управления секторами отмечает их как дефектные, чтобы впредь они не задействовались. Даже если на данный момент проблем с жестким диском нет, сохраните эту инструкцию, и, когда возникнет чрезвычайная ситуация, вы будете во всеоружии. ПРИМЕЧАНИЕ CHIP не несет ответственности за повреждение ваших аппаратных средств или потерю данных, которые могут возникнуть при выполнении приведенных в статье рекомендаций. Как это сделать? 1. РАСПОЗНАЕМ ПРОБЛЕМУ Если Windows предупреждает, что ваш жесткий диск не отформатирован, это необязательно соответствует истине. Проверить, так ли это, можно запустив встроенный инструмент Windows «Управление дисками». 2.ПРОВЕРЯЕМ ЖЕСТКИЙ ДИСК При отсутствии неполадок в средстве «Управление дисками» («Панель управления | Администрирование | Управление компьютером») диск будет обозначен как «RAW» или иметь статус «Исправен». 3.ПЕРВАЯ ПОПЫТКА ВОССТАНОВЛЕНИЯ Используйте собственную утилиту Windows chkdsk в редакторе командной строки cmd, который необходимо вызывать от имени администратора. Запустите команду «chkdsk x: /f», где вместо «x» подставьте букву вашего диска. 4. ЗАПУСКАЕМ ПРОГРАММУ ДЛЯ АНАЛИЗА Если предыдущая процедура не принесла успеха, запустите TestDisk. Клавишей «Enter» подтвердите настройку «Create». На следующем этапе выберите свой жесткий диск и запустите тестирование последовательностью «Proceed | Intel | Analyse | Quicksearch». 5. ПЕРЕЗАПИСЫВАЕМ ТАБЛИЦУ РАЗДЕЛОВ Выберите свой раздел, нажмите на «Continue» и создайте новую таблицу разделов с помощью функции «Write». Если раздел не отобразится, повторите процесс, используя «Deeper search». 6. СОХРАНЯЕМ ИСЧЕЗНУВШИЕ ФАЙЛЫ Если процесс прошел неудачно, повторите действия этапа 4, однако после «Continue» выберите «List files». Для копирования файлов следуйте указаниям внизу окна. 7. ВОЗВРАЩАЕМ ЖЕСТКИЙ ДИСК В РАБОЧЕЕ СОСТОЯНИЕ После успешного копирования запустите программу DiskPart от имени администратора. С помощью функции «List disk» отобразите все жесткие диски, выберите нужный командой «Select disk x» и очистите его («Clean»). 8. ФОРМАТИРУЕМ И РАЗБИВАЕМ НА РАЗДЕЛЫ В «Управлении дисками» инициализируйте и, если требуется, разбейте на разделы данный диск, а затем верните на него данные.

Читайте, как происходит восстановление данных с FAT диска . Какой алгоритм используется программами для восстановления файлов. Итак, файловая система обнаружена, и мы приступили к её анализу. Теперь нам требуется идентифицировать физические секторы на диске, принадлежащие данному конкретному файлу. Для этого программа анализирует файловую систему.

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

Содержание:

Ищем файл в таблице FAT

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

Самое интересное начинается в случае, если файл или каталог содержит более одного кластера. Последующие кластеры находятся при помощи структуры данных, называемой FAT. Эта структура используется с двоякой целью: для идентификации следующих кластеров в файлах и для определения того, свободен или занят данный конкретный кластер.

Рис.1 Физическая структура файловой системы FAT.

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

  • Первая область – зарезервированная, она содержит данные из категории файловой системы. В версиях FAT12 и FAT16 зарезервированная область занимает всего один сектор, но формально размер этой области определяется в загрузочном секторе.
  • Вторая область – область FAT. Она содержит основные и резервные структуры файловой системе. Начало этой области – сектор, следующий за зарезервированной областью, а ее размер определяется количеством и размером структур FAT.
  • Наконец, последняя область – область данных. Именно в этой области хранятся файлы и содержимое каталогов.

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

При анализе файловой системы важно корректно идентифицировать все три физические области. Начало зарезервированной области – всегда в нулевом секторе файловой системы. Размер этой области указывается в загрузочном секторе, и для систем FAT12 и FAT16 составляет ровно один сектор. В FAT32 зарезервированная область может занимать несколько секторов.

Область FAT следует сразу за зарезервированной областью. Область FAT содержит одну или несколько структур FAT, а размер этой области вычисляется умножением количества структур FAT на размер каждой структуры. Эти значения хранятся в загрузочном секторе (зарезервированная область).

Восстановление файлов

Итак, мы вплотную подошли к вопросу о восстановлении диска FAT . Как мы помним, при удалении файла соответствующая ему запись в файловой системе помечается как удалённая, а занимаемые им кластеры, соответственно, получают статус свободных (не выделенных).

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

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

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

Рис.2 Сценарии восстановления файла.

На рисунке 2 описаны три различных сценария восстановления файла на примере шести кластеров файловой системы. Размер файла – 7094 байт, а размер кластера - 2048 байт. Это означает, что для хранения данного файла изначально были выделены четыре кластера. Нам также известен адрес начального кластера файла – кластер 56. Голубым цветом обозначены кластеры, в которых хранилось содержимое удалённого файла в каждом сценарии.

  • В сценарии 2.А файл занимает последовательно четыре кластера. В этом случае файл будет корректно восстановлен как первым, так и вторым методом: оба алгоритма корректно считают кластеры 56-59.
  • В сценарии 2.В файл был фрагментирован и записан в виде трёх фрагментов. Кластеры 57 и 60 на момент восстановления уже выделены другому файлу. В этом сценарии первый метод точно так же, как и в предыдущем случае, восстанавливает кластеры 56-59, что приводит к очевидной ошибке: файл будет восстановлен некорректно. Второй метод корректно восстановит секторы 56, 58, 59 и 61.
  • Наконец, в сценарии 2.С мы видим случай, при котором файлу выделены те же фрагменты, что и в прошлом сценарии, но кластеры 57 и 60 на момент восстановления не были заняты другим файлом. В этом сценарии оба метода ошибочно восстановят кластеры 56-59.

Как видим, второй метод даёт большую вероятность корректного восстановления файла по сравнению с первым. Именно этот метод был использован в продуктах Hetman Software .

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

Заключение

Как мы увидели, файловая система FAT устроена достаточно просто, поэтому она часто используется в картах памяти CompactFlash, Memory Stick, xD-Picture Card. При этом гарантированно восстановить файл, удалённый с диска, размеченного в данной файловой системе, получается не всегда.

Для ёмких носителей (например, жёстких дисков) Windows гораздо чаще использует другую файловую систему – NTFS. Файловая система NTFS устроена значительно сложнее FAT. Восстановление удалённых файлов в NTFS – гораздо более сложный процесс, тем не менее, приводящий к более уверенным результатам. Исследование восстановления файлов в системе NTFS – тема для отдельной статьи или даже серии статей.

О восстановлении данных с файловых систем Linux не писал только
ленивый. Для выполнения этой задачи существует множество самых разнообразных
средств, включая утилиту debugfs, которая с легкостью извлекает любые потертые
файлы с ext2. Но как же быть с другими ФС? Как восстановить исчезнувший файл с
флеш-брелка или расположенного рядом NTFS-раздела? Об этом молчат даже самые
трудолюбивые блоггеры. А между тем, все очень просто и прозаично.

Не всегда удобно перезагружаться в другую операционную систему для выполнения
действий по проверке файловых систем, восстановления файлов, изменения размера
разделов и выполнения других операций с данными. Представь, что уже несколько
лет на твоем компе установлено две операционные системы: Windows и Linux. Первую
ты загружаешь очень редко и только в экстренных случаях, второй пользуешься
ежедневно и уже подумываешь о полном переходе на Linux и удалении винды, вот
только NTFS-раздел, хранящий годами накапливаемые данные, перевести в ext3
нельзя никакими инструментами. Приходится держать две операционки, потому что
хоть NTFS-раздел и доступен из Linux (с помощью ntfs-3g), для решения проблем
файловой системы все равно придется перезагружаться в Windows.

А если накрылась файловая система FAT на Flash-накопителе? Опять
перезагружаться в Windows? Или ты случайно удалил файл в файловой системе UFS,
принадлежащей рядом установленной FreeBSD? Может быть, ты системный
администратор, и диска для восстановления Windows в нужный момент не оказалось
под рукой? Отвечу на все вопросы сразу: почти все действия по возвращению из
небытия файловых систем FAT, NTFS, UFS, восстановлению хранящихся в них файлов,
диагностике и многому другому можно произвести, не покидая Linux. Из этой статьи
ты узнаешь, как это сделать.

Набор инструментов

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

1. dosfstools - утилиты для работы с файловыми системами типа FAT.
Пакет содержит всего две программы: mkfs.vfat (mkfs.dos) для создания файловой
системы и fsck.vfat (fsck.dos) для выполнения проверки файловой системы.

2. ufsutils - набор утилит для работы с UFS и производными (например,
FFS, используемой во FreeBSD). Содержит восемь утилит, включая mkfs.ufs,
fsck.ufs, tunefs.ufs (настройка ФС), growfs.ufs (изменение размера) и другие.

3. ntfsprogs - различные утилиты для работы с NTFS. Не содержит
программ для создания или полной проверки (базовая проверка возможна) файловой
системы, но включает в себя массу полезнейших инструментов, таких как ntfscp для
копирования файлов без монтирования раздела, "реинкарнатор" файлов ntfsundelete,
утилита для изменения размера раздела ntfsresize, программа для клонирования
разделов ntfsclone и другие.

Также нам могут пригодиться инструменты для работы с разделами жесткого
диска. Есть три наиболее продвинутые программы такого типа:
parted ,
предназначенная для создания разделов, изменения их размера, перемещения,
создания и проверки файловых систем;
gpart -
программа-восстановитель затертой таблицы разделов и
TestDisk -
аналог gpart с псевдо-графическим интерфейсом и несколькими полезными функциями.

Следует отметить, что parted - лишь хорошая обертка поверх описанных утилит
для работы с файловыми системами, поэтому почти все, что может parted, могут и
они. Причем вокруг самой parted есть и другая обертка, названная
. Она
всего-навсего создает удобный графический GTK-интерфейс в стиле Partition Magic.

В пакете TestDisk ты найдешь утилиту PhotoRec, предназначенную для
восстановления различных типов файлов с раздела вне зависимости от используемой
файловой системы. Принцип ее работы заключается в поиске и восстановлении файлов
по их метаданным без анализа структуры файловой системы. PhotoRec способна
восстанавливать изображения (bmp, jpg, png, tiff, raf, raw, rdc, x3f, crw, ctg,
orf, mrw), аудио-файлы (wav, au, mp3, wma), видео-файлы (avi, mov, mpg), архивы
(bz2, tar, zip), документы (doc, pdf, html, rtf), файлы с исходниками программ (c,
pl, sh). Ряд программ такого же типа можно найти в пакете
Sleuth Kit , для которого
существует web-интерфейс autopsy.

Сценарии использования

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

Кастим ressurection

Для оживления умерших файлов на NTFS предназначена уже упоминавшаяся
ntfsundelete из пакета ntfsprogs. Она очень проста в использовании и чрезвычайно
аккуратна. Если ты случайно потер файл и сразу же отмонтировал раздел, будь
уверен - ntfsundelete сможет вернуть его на место в целости и сохранности.

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

# ntfsundelete /dev/sda1

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

# ntfsundelete -p 100 /dev/sda1

Ух, как же их много! Заставим программу вывести на экран только файлы,
удаленные за последние 2 дня:

# ntfsundelete /dev/sda1 -p 100 -t 2d

Так-то лучше. Восстановим файл, номер inode (первая колонка вывода) которого
равен 11172, в каталог /undeleted:

# ntfsundelete /dev/sda1 -u -i 11172 -d /undeleted

Файлы можно восстанавливать по маске:

# ntfsundelete /dev/sda1 -u -m "*.doc"

Фильтровать по длине:

# ntfsundelete /dev/hda1 -S 5k-6m

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

# ntfsundelete /dev/sda1 -u -m "*" -d /undeleted

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

Для восстановления данных со всех остальных файловых систем, включая FAT, UFS,
EXT3, да и любых других, удобнее всего использовать PhotoRec. Запускаем
программу:

В главном меню выбираем подопытное устройство (например, /dev/sda). Нажимаем
и выбираем тип таблицы разделов (для писюков это Intel). Далее выбираем
раздел, а на следующем экране - тип файловой системы (ext2/ext3 или другая).
Задаем каталог, куда мы хотим поместить восстановленные файлы, и нажимаем "Y".
Каталог должен находиться на другом разделе/диске, иначе ты рискуешь усугубить
ситуацию, затерев удаленные файлы новыми данными.

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

В выбранном тобой каталоге ты найдешь массу подкаталогов с именами вроде
recup_dir.1, recup_dir.2, каждый из которых содержит большое количество файлов
разного типа. Имена PhotoRec не восстанавливает, поэтому придется повозиться с
разгребанием всей этой кучи.
У PhotoRec есть и другие недостатки:

  1. Достаточно часто он дает сбои, и файлы могут оказаться поврежденными,
    поэтому их следует проверять на "небитость" в обязательном порядке.
  2. Программа ищет файлы по шаблонам. Если ты удалил файл, формат которого
    не поддерживается PhotoRec - пиши пропало.

Поэтому в довесок к photorec необходимо иметь под рукой другие средства
анализа и восстановления утраченных данных. Лучшим на этом поприще считается
комплект утилит Sleuth Kit ,
содержащий огромное количество самых разнообразных инструментов, которые любят
применять в своей работе различные службы по расследованию инцидентов взлома и
продвинутые системные администраторы. Мы далеки от этого, и нас интересуют
только две утилиты из всего комплекта: fls и icat, предназначенные для поиска и
извлечения файлов (как существующих, так и удаленных).

Просмотрим список удаленных файлов с помощью утилиты fls:

# fls -rd /dev/sdb1
r/r * 117: dsc0005.jpg
r/r * 119: dsc0006.jpg
r/r * 122: dsc0007.jpg
r/r * 125: dsc0008.jpg
r/r * 128: dsc0009.jpg

Флаг "-r" заставляет программу рекурсивно проходить по всем каталогам, а "-d"
- показывать только удаленные файлы.

Скорее всего, листинг будет очень длинным, и к тому же будет содержать список
inode, которые уже были отданы другим файлам (строчка realloc в третьей
колонке), поэтому мы его отфильтруем и направим в less:

# fls -rd /dev/sda1 | grep -v "(realloc)" | less

В третьей колонке ты увидишь номера inode-файлов, а в четвертой - их имена.
Чтобы выдернуть файл из ФС, воспользуйся командой icat (флаг "-r" предназначен
для восстановления удаленного файла):

# icat -r /dev/sda1 1023 > /home/vasya/tmp/my_file

Для восстановления всех файлов можно воспользоваться следующей командой:

# for i in `fls -rd /dev/sda1 | grep -v "(realloc)" |\
awk {"print $3"}|tr -d [:]`; do icat -r -f fat /dev/sdb1 $i >\
/home/vasya/tmp/inode-$i ;done

Если ты желаешь найти какой-то конкретный файл, то вывод fls можно просто "погрепать":

# fls -rd /dev/sda1 | grep -v "(realloc)" | grep my_file.jpg

Замечательная особенность утилит Sleuth Kit состоит в том, что они используют
множество самых разнообразных методик поиска удаленных файлов и их частей. Это и
анализ управляющих структур файловой системы, и различные эвристические методы,
и сопоставление с шаблоном. Фактически, с помощью Sleuth Kit возможно вернуть к
жизни даже файлы, затертые на ext3 (притом, что сами разработчики ext3 говорят о
невозможности проведения такой операции).

Починка файловых систем

Починить поломавшуюся файловую систему очень просто. Достаточно
воспользоваться стандартными утилитами fsck.vfat (для файловых систем FAT12,
FAT16 и FAT32), fsck.ufs (для UFS, UFS2, FFS) и ntfsfix (для NTFS).

К сожалению, ntfsfix не способна полностью вылечить NTFS. Она лишь исправляет
некоторые из ее проблем и устанавливает флаг принудительной проверки файловой
системы, так что следующая перезагрузка в Windows повлечет за собой запуск
chkdsk для полной проверки ФС.

Используя виртуальную машину, мы можем избежать необходимости перезагрузки в
Windows. Для этого:

  1. Запускаем виртуальную машину и устанавливаем винду на виртуальный
    жесткий диск.
  2. Отмонтируем раздел, содержащий файловую систему NTFS.
  3. Запускаем виртуальную машину, в качестве первого жесткого диска которой
    указываем виртуальный диск с Windows, а второго - наш настоящий жесткий
    диск.
  4. С помощью стандартных средств Windows запускаем проверку NTFS-раздела.

Копирование разделов

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

Пользователи UNIX клонируют разделы с помощью стандартной утилиты dd, которую
можно применять в связке с любой файловой системой. Для этого на новом диске
создается раздел, идентичный по размерам источнику, и выполняется команда "dd if=раздел1
of=раздел2 bs=1m". Таким же образом можно скопировать и NTFS-раздел, но в пакете
ntfsprogs для этой цели есть более подходящая утилита.

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

Для клонирования раздела достаточно выполнить следующую команду:

# ntfsclone --overwrite /dev/hda1 /dev/hdb1

А для создания образа:

# ntfsclone --save-image --output backup.img /dev/hda1

Утилита ntfsclone особенно удобна, если ты решил скопировать установленный
Windows на целый парк других машин (учебный класс или офис). Для этого
достаточно установить Windows на одну машину и создать образ, который затем
можно выложить в шару и с помощью Linux LiveCD залить на другие машины. Чтобы
они смогли загружаться, придется также скопировать MBR-запись диска:

# sfdisk -d /dev/sda > /share/sda-sfdisk.dump
# dd if=/dev/sda bs=512 count=1 of=/share/sda-mbr.dump

А затем записать ее на диск всех машин:

# sfdisk /dev/sda < /share/sda-sfdisk.dump
# dd if=/share/sda-mbr.dump of=/dev/sda

Перенос данных

Что делать, если ты решил полностью перейти на Linux, но не хочешь
использовать различные ухищрения и ntfs-3g для доступа к своим старым данным,
расположенным на NTFS-разделе? Ведь этот раздел может занимать большую часть
диска, и нет никакой возможности просто скопировать его содержимое на новый
раздел, отформатированный в ext3/ext4. В этом случае тебе на помощь опять придут
утилиты из пакета ntfsprogs, а точнее одна из них - ntfsresize, которая позволит
копировать данные небольшими порциями в новую файловую систему с последующим
уменьшением размера NTFS-раздела и увеличением ext3/ext4-раздела. Для этого тебе
понадобится какой-нибудь LiveCD, содержащий ntfsprogs и e2fsprogs версии не ниже
1.41 (для поддержки ext4, если ты, конечно, собираешься переносить данные на
нее). Также очень желательно, чтобы LiveCD содержал свеженький gparted, потому
что изменять размер вручную трудно и опасно (кроме изменения размера самой ФС,
предстоит менять размер раздела с помощью fdisk, одна ошибка и всю операцию
придется начинать сначала).

Итак, загружаемся с LiveCD и монтируем разделы жесткого диска. Допустим, его
размер составляет 120 Гб. Из них 80 Гб - под завязку набитый NTFS-раздел, а
остальные 30 Гб (да, именно 30, после перевода маркетинговых гигабайт в
настоящие объем диска оказывается равным примерно 111 Гб) - это раздел с
установленным Linux, занятость которого составляет 5 Гб. Значит, наше "окно"
равно примерно 25 Гб. Перемещаем файлы с NTFS-раздела на ext3/ext4-раздел до тех
пор, пока их совокупный размер не станет равен размеру окна. В результате
последний оказывается полностью заполненным, а первый "худеет" на 25 Гб.
Отмонтируем оба раздела и запускаем gparted. Выбираем NTFS-раздел, жмем вторую
кнопку мыши, выбираем Resize/Move и уменьшаем раздел на размер окна, выбираем
ext3/ext4-раздел и увеличиваем его на тот же размер окна (раздел придется
сдвинуть к началу диска, а затем увеличить). Так мы получаем еще 25 Гб
освободившегося места, что позволит нам скопировать часть файлов, а затем вновь
изменить размер. Четыре таких прохода, и мы полностью удаляем NTFS-раздел, а
раздел ext3/ext4 расширяем на весь диск.

Выводы

Как ты смог убедиться, Linux умеет не только работать с множеством сторонних
файловых систем, но и оснащен массой утилит для их модификации, проведения
диагностики и выполнения других операций. Ты никогда не окажешься в безвыходной
ситуации, держа под рукой LiveCD на базе Linux, который как раз и является тем
самым Святым Граалем любого системного администратора и пользователя.

WWW

Foremost, еще одна популярная программа для
восстановления файлов по шаблонам.

www.sysresccd.org -
System Rescue CD содержит все упомянутые в статье программы.

Файловая система используется для индексирования и организации файлов на диске. Записи в файловой системе располагаются в четко определенных областях диска, содержащего информацию, которая относится к определенному файлу. В различных файловых системах организация данных происходит по-разному. Мы поговорим о системах FAT (File Allocation Table), включая FAT, FAT16 и FAT32.

Анализ файловой системы

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

Фрагментированные файлы крайне трудно (даже не всегда возможно) восстановить без действующей ссылки файловой системы.

Поиск файлов в FAT

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

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

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

Расширенный анализ и поиск по сигнатурам

Поиск по сигнатурам позволяет программам для восстановления данных успешно выявлять, анализировать и восстанавливать файлы, которые не индексируются в файловой системе. Поиск по сигнатурам может обнаружить файлы, имеющие стандартные сигнатуры (например, «JFIF» для файлов JPEG) или содержащие ограниченные подмножества (например, текстовые файлы).

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

Кодеки