Восстановление файловой системы FAT при помощи утилиты TestDisk
Восстановление файловой системы FAT при помощи утилиты TestDisk
Это подробное пошаговое руководство восстановлению удаленных данных в файловых системах FAT (FAT12/16/32) и VFAT.
- ФС FAT чаще всего используется на картах памяти, цифровых фотокамерах и USB флешках.
- VFAT, как правило, используется на внешних жестких дисках, отформатированных при помощи WIndows.
Сразу нужно вас обрадовать: восстановление удаленной информации не вызывает особых трудностей. К тому же, учтите тот факт, что при удалении некоего файла или папки элемент только помечается в таблице файлов как «доступный для перезаписи». Сложность заключается в том, что при использовании того же пространства другими файлами они будут перезаписаны и восстановить их будет либо невозможно, либо можно, но только частично. Программа TestDisk может обнаружить на жестком диске или другом носителе удаленный элемент при сканировании – при нахождении начала файла. Соответственно, если файл еще не успели перезаписать – его можно с легкостью восстановить.
Что ж, друзья, приступаем к восстановлению файлов на диске с файловой системой FAT.
Предыстория
Недавно ко мне пришел товарищ с фразой: «У меня флешка сломалась, можешь посмотреть? В принципе, если не получится, то и ладно, но там есть несколько файлов, копий которых нет».
Я, конечно, флешку взял и обещал посмотреть, что можно сделать. Грех не помочь другу! Входные данные были такие: «винда перестала видеть флешку». Других внятных объяснений произошедшего я не добился.
И вот, когда выдалось немного свободного времени, настала пора попробовать восстановить какие-то данные с флешки.
В этой статье рассматривается восстановление флешек в среде Linux. В Windows тоже можно восстанавливать данные: есть разные утилиты и проприетарные продукты (например, R-Studio), но это тема для отдельных статей.
Первым делом, подключив флешку к ноуту с Linux, я убедился, что аппаратная часть девайса жива, а повреждены именно данные на ней.
Второе, что я сделал, — снял образ.
Техника безопасности: снимаем образ
Самая важная часть в восстановлении данных — не угробить своими действиями еще больше данных. Все описываемые в статье действия производились исключительно с образом флешки. Снять образ можно следующими командами (тебе, конечно, надо указать путь к своему устройству):
Как вариант, можно использовать команду ddrescue:
Лично я предпочитаю второй способ, поскольку ddrescue пытается считать данные в несколько проходов, а также (если ты дал команду писать лог) прервать чтение и продолжить с места остановки. Плюс к этому утилита дает красивый отчет о том, сколько данных считалось, а сколько нет, и оценку времени до конца съема образа.
Кроме того, имеет смысл работать с копией образа. Вдруг ты его испортишь, и не факт, что получится еще раз снять образ с флешки, если она умирает из-за аппаратных проблем. Для частичных копий образа и восстановления испорченных частей к начальному состоянию рекомендую пользоваться тем же всемогущим dd.
Параметр notrunc нужен для того, чтобы dd не обрезала файл-назначение, когда закончатся данные в файле-источнике.
Сняв образ флешки, я взглянул на содержимое. Увиденное несколько меня удивило.
$ hexdump -C flash.img|less
00000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |. | * 00400000 01 76 0a 00 02 76 0a 00 03 76 0a 00 04 76 0a 00 |.v. v. v. v..| 00400010 05 76 0a 00 06 76 0a 00 07 76 0a 00 08 76 0a 00 |.v. v. v. v..| 00400020 09 76 0a 00 0a 76 0a 00 0b 76 0a 00 0c 76 0a 00 |.v. v. v. v..| 00400030 0d 76 0a 00 0e 76 0a 00 0f 76 0a 00 10 76 0a 00 |.v. v. v. v..| 00400040 11 76 0a 00 12 76 0a 00 13 76 0a 00 14 76 0a 00 |.v. v. v. v..| .
В образе первые 4 Мбайт данных были забиты 0xFF. Поврежден блок флеш-памяти? Чья-то попытка стереть данные? Сбой какого-то приложения? Почему затерта область — неважно. Главное, что у нас нет ни таблицы разделов, ни структуры файловой системы. Хотя если приглядеться, то видна закономерность. Перед нами последовательность увеличивающихся на единицу 32-битных чисел (в формате LittleEndian): 0x000a7601, 0x000a7602, 0x000a7603. Следовательно, у нас на флешке, скорее всего, была файловая система FAT32.
Что ж, попробуем восстановить данные. Для начала возьмем утилиту TestDisk.
Создание разделов и форматирование диска
Теперь, с помощью встроенного в Windows инструмента Управление дисками, можете создать разделы на диске и отформатировать его. Также можно для этого использовать команду diskpart, но с помощью инструмента Управление дисками намного проще.
Для того, чтобы запустить инструмент Управление дисками в Windows 10 или 8.1, кликните правой кнопкой мышки на кнопке меню Пуск и выберите «Управление дисками».
Теперь вы увидите, что диск, с которым вы работали не имеет разделов. Кликните правой кнопкой мышки на нераспределённой области и выберите «Создать простой том» для того, чтобы создать раздел на диске и отформатируйте его в желаемой файловой системе. По умолчанию, Windows создаст один раздел размером всего диска.
Если описанный метод не работает, например, диск очистили, но не получается разбить его на разделы или отформатировать, или diskpart не определяет его, значит диск повреждён физически и больше не сможет нормально функционировать. Но функция очистки диска через diskpart – это решение которое может возвращать к жизни диски, которые на первый взгляд выглядят абсолютно безнадёжными.
Если же, несмотря на многократные предостережения, вы всё-таки очистили не тот диск (а это бывает ОЧЕНЬ часто), не расстраивайтесь. Данные с него всё ещё можно восстановить. Для этого прекрасно подойдёт инструмент для восстановления данных от компании Hetman Software – Hetman Partition Recovery.
Как удалить защищенный, активный и системный разделы жесткого диска?
Для удаления разделов жесткого диска можно воспользоваться функционалом встроенной утилиты «Управление дисками», где для удаления следует просто нажать по необходимому разделу правой кнопкой мыши и выбрать пункт «Удалить том…».
В некоторых случаях это может не сработать, поскольку:
- Логический диск имеет поврежденную файловую систему (можно исправить проверкой Chkdsk).
- На нем присутствуют сбойные сектора и бед блоки (решить проблему можно при помощи проверки бесплатной программой Victoria).
- Логический диск защищен от удаления (от удаления защищены системные разделы, скрытые и служебные разделы и т.д.).
Тем не менее существует несколько способов позволяющих удалить абсолютно любой раздел.
Утеря данных в результате использования «DISKPART → CLEAN»
Но, иногда, при использовании данного инструмента системы, что-то может пойти не так. Вы можете случайно выбрать не тот диск или раздел и удалить его.
А в результате, вы получите чистый диск, с отсутствующей файловой системой.
Причём НЕ каждая программа для восстановления данных сможет восстановить утерянные таким образом данные.
Для очистки диска используем команду Diskpart. Перед тем как продолжить убедитесь, что нужный USB-привод, карта памяти или другое устройство очистить которое вы собираетесь, подключено к компьютеру.
Для того чтобы запустить инструмент diskpart, введите соответствующую команду в окне Командной строки и нажмите Enter:
Diskpart
Отобразите список дисков, установленных на компьютере введя следующую команду:
list disk
Просмотрите результаты выполнения команды и определите номер диска, который необходимо очистить.
Будьте осторожны! Если будет выбран неправильный номер диска, он будет очищен и, возможно, важные данные будут утеряны.
На скриншоте ниже видно, что Диск 0 имеет объём 111 ГБ, а Диск 1 – 15 ГБ. Мы знаем, что нам нужен диск объёмом 15 ГБ. Значит Диск 1 – это USB-диск , а Диск 0 – внутренний жесткий диск компьютера.
После того как был определён номер диска, введите следующую команду заменив знак # на номер диска.
Внимание: Будьте очень внимательны. Если будет указан неправильный номер диска, будут удалены все данные не с того диска.
select disk #
Командой diskpart выбран указанный диск. Теперь все действия будут производится с ним. Для полной очистки таблицы раздела введите следующую команду и нажмите Enter.
Внимание: Данная команда удалит все данный на указанном диске! Убедитесь, что у вас есть копии всех важных данных перед тем как продолжить.
Clean
Если всё сделано правильно, увидите “очистка диска выполнена успешно”. Закройте командную строку.
Как удалить защищенный, активный и системный разделы жесткого диска?
Для удаления разделов жесткого диска можно воспользоваться функционалом встроенной утилиты «Управление дисками», где для удаления следует просто нажать по необходимому разделу правой кнопкой мыши и выбрать пункт «Удалить том…».
В некоторых случаях это может не сработать, поскольку:
· Логический диск имеет поврежденную файловую систему (можно исправить проверкой Chkdsk ).
· На нем присутствуют сбойные сектора и бед блоки (решить проблему можно при помощи проверки бесплатной программой Victoria ).
· Логический диск защищен от удаления (от удаления защищены системные разделы, скрытые и служебные разделы и т.д.)
Тем не менее существует несколько способов позволяющих удалить абсолютно любой раздел.
Удаление через командную строку в работающей ОС
Для удаления ненужных защищенных разделов в работающей Windows можно воспользоваться командой строкой и встроенной утилитой Diskpart. Данный способ позволит удалить все проблемные разделы, кроме системных и служебных.
Шаг 1. Открываем командную строку от имени администратора и вводим поочередно команды: diskpart , list disk, select disk 0 (в нашем случае раздел расположен на диске 0), list part (команда открывает список разделов на диске).
Шаг 2. Выбираем необходимый раздел командой select partition 4 , после этого вводим команду delete partition для удаления раздела.
Шаг 3. Финальным этапом станет создание нового раздела и его форматирование. Вводим поочередно: create partition primary , format fs=ntfs quick, assign letter Z (команда присваивает букву созданному разделу) и exit .
После выполнения данных действий, раннее заблокированный раздел будет готов к использованию, удалению и другим манипуляциям в меню «Управление дисками» .
Удаление любых разделов
Чтобы провести удаление системных, зарезервированных и скрытых разделов, пользователю понадобиться загрузочная флешка или установочный диск. Загружаемся с них и в меню выбора языка нажимаем сочетание клавиш Shift+F10 для открытия командной строки.
В командной строке, аналогично с предыдущим способом, вводим команды: diskpart, list disk, select disk 0, lis part, select partition 2 (или любой другой раздел, который невозможно удалить) и удаляем его командой del par override .
Стоит отметить, что команда del par override удаляет абсолютно любой раздел, независимо от его атрибутов (особых свойств, запрещающих удаление).
Важно! Удаление некоторых разделов диска может повлиять на его работу, поэтому мы настоятельно не рекомендуем прибегать к удалению защищенных разделов .
Восстановление RAW диска, когда система не загружается
Бывают ситуации, что вы не можете запустить проверку диска на ошибки по причине, что у вас не загружается операционная система Windows. Что далеко ходить, недавняя ошибка 0xc0000098 или же whea uncorrectable error перечислять их можно очень долго. В каждом из таких случаев у нас с вами был выработан алгоритм:
- Если вы мой постоянный гость и подписчик, то вы наверняка видели мою публикацию, о том, как вернуть пункт “Последняя удачная конфигурация”, из которой легко реанимировать систему, но по умолчанию эта опция не включена.
- Следующим пунктом мы запускали командную строку, но из режима восстановления Windows, который можно запустить, через F8 при старте или же с загрузочной флешки, которая у вас должна быть, если нет, то сделать ее 5 минут, при наличии конечно еще одного компьютера. Не забываем настроить загрузку в BIOS с флешки. Когда у вас появится окно с выбором языка, нажмите сочетание клавиш Shift и F10 одновременно, чтобы открыть командную строку.
Если не получится, то нажмите далее и на окне установки, нажмите в левом углу ссылку “Восстановление системы”
Среди дополнительных параметров вы так же сможете обнаружить пункт с командной строкой.
Первым делом нам нужно вычислить букву диска, так как тут она может отличаться
list volume (Смотрим список разделов)
exit (Чтобы выйти из diskpart)
Далее делаем chkdsk C: /f
Если все хорошо, то вы успешно восстановите системный диск, если же вас постигла судьба в виде сообщения “CHKDSK недопустим для дисков RAW”, то не спешите расстраиваться и это поправимо.
Дополнительная информация
На накопители с таблицей разделов GPT могут установиться и загружаться только 64-х битные операционные системы — Windows Vista x64 SP1, Windows 7 x64, Windows 8 x64, Windows Server 2008 x64 SP1, Windows Server 2008 R2 и Windows Server 2012.
Windows XP x64 и все x86 операционные системы Windows не могут загружаться с накопителя с GPT разделами, но могут считывать и записывать данные.
Windows XP x86 не может работать с GPT дисками вообще.
Для того, чтобы иметь возможность загружаться с GPT накопителя, необходимо загружаться через UEFI загрузчик.