Восстановление информации на жестком диске
Это руководство подскажет, как восстановить информацию на жестком диске, даже если на нем поврежден раздел файловой системы (в том числе NTFS). Мы подскажем, как его восстановить и не потерять своих данных и как решить другие возможные проблемы, связанные с потерей информации на жестком диске.
Если вы достаточно долго работаете с компьютером, для вас не секрет, что жесткий диск нельзя считать надежным местом для хранения данных. В отличие от компакт-дисков и других средств для хранения данных, жесткий диск – это механическое устройство, которое в процессе работы изнашивается, как любой механизм. Кроме механической поломки существует очень много способов потерять данные на диске, на котором их очень просто и быстро изменить.
Решение большинства проблем с жесткими дисками при работе с Windows 98 и более ранними системами сводилось к использованию программы fdisk и ряда других утилит, позволяющих производить разметку и восстановление дисков. Сейчас применение таких утилит даже опытным пользователем иногда приводит к необратимым последствиям…
Представьте себе такую ситуацию: Во время работы над статьей по обновлению компьютеров, когда было написано уже более 10000 символов и оставалось несколько предложений и снимков экрана, все, что нужно было сделать – запустить fdisk на компьютере с двумя операционными системами Windows 98/XP Pro и сохранить несколько снимков экрана. У меня в статье несколько абзацев описывали работу с fdisk, предупреждая читателей, не применять эту программу, если нет полной уверенности в своих действиях…
Итак, мне нужно было получить всего несколько снимков экрана, но я забыл, что fdisk при запуске производит запись данных в некоторые области диска, чтобы в них до этого не находилось. Об этом я вспомнил только тогда, когда получил нужные мне копии экрана и перезагрузил компьютер в режиме Windows XP, вернее, хотел перезагрузить… После довольно долгого ожидания система так и не загрузилась.
Исчез основной раздел диска?
Пострадавшим диском, с которым мы будем иметь дело, был Fujitsu 17 ГБ с двумя разделами NTFS по 5 ГБ (XP Home и Professional) и 6 ГБ неиспользованного пространства. После описанного выше инцидента система в обоих разделах XP перестала загружаться.
После подключения диска к компьютеру с Windows 2000, я запустил «управление дисками». Чтобы сделать это в XP или в 2000, нажмите правой кнопкой мыши на «мой компьютер», выберите пункт «управление», а в появившемся окне – «управление дисками».
Основной раздел, на котором и находилась моя статья, отображался как не отформатированный, и операционная система не могла его прочитать. Система, находящаяся во втором разделе, не могла загрузиться, но он хотя бы распознавался как отформатированный и из него можно было скопировать нужные файлы. К сожалению, все нужные мне данные были в первом разделе.
Что же делать? Есть несколько способов извлечения данных, но прежде чем их рассматривать, нам нужно остановиться на том, что представляет собой файловая система, и как в ней хранятся ваши данные.
Файловые системы
Файловая система определяет метод, который используется для хранения данных на жестком диске или на любом другом устройстве, которое применяется для хранения информации. Свободное пространство на жестком диске делится на разделы, в которых создаются логические диски (С:, D:,…).
Windows может работать с несколькими файловыми системами, которые называются NTFS (NT File System) и FAT (File Allocation Table). FAT – более ранняя файловая система, применявшаяся в DOS под названием FAT-16 и в Windows 9x/Me – под названием FAT-32. Основное различие между FAT-16 и 32 заключается в максимальном объеме дисков и файлов, с которыми они могут работать. FAT-16 может использовать диски объемом до 2 ГБ. Операционные системы Windows 2000 и XP полностью совместимы с FAT, даже притом, что стандартно они используют другой метод хранения данных.
Windows NT, 2000 и XP работают с файловой системой NTFS, обеспечивая лучшую безопасность и надежность хранения данных. Кроме того, NTFS позволяет определять права доступа для каждого файла. Все эти файловые системы используют таблицу разделов и загрузочные записи (MBR), которые хранятся в первом секторе каждого диска, определяя, какой раздел является загрузочным.
Если информация в MBR повреждена, операционная система перестает с него загружаться, а разделы диска могут определяться как пустые.
Разделы NTFS
Первый сектор раздела NTFS зарезервирован как загрузочный. Он содержит информацию, позволяющую системе работать с этим разделом, без этой информации раздел будет недоступным.
Копия загрузочного сектора хранится в последнем секторе раздела. Эквивалент такого сектора в FAT тоже называется загрузочным и хранится в первом секторе раздела. Разница с FAT заключается в том, что FAT не хранит копии этой информации, делая восстановление более трудным процессом…
Первый файл, который хранится на диске, называется Master File Table (MFT) – это таблица, в которой находится информация о расположении всех файлов, их свойствах и правах доступа. NTFS хранит копию и этой информации. FAT имеет аналогичную таблицу размещения файлов File Allocation Table (FAT), резервная копия которой тоже есть на диске.
Если какой-то файл удаляется, в том числе из «корзины», обе файловые системы просто отмечают его как удаленный. Данные реально не удаляются с диска, но место, которое они занимают на диске, считается свободным. Так что все файлы можно восстановить, если только вы ничего не записывали на диск после их удаления.
В моем случае применялся диск с двумя разделами NTFS. При запуске fdisk, программа записала что-то в важные области диска в обоих разделах. В результате, первый раздел имеет поврежденный загрузочный сектор. Второй раздел просто имеет поврежденную область с системными файлами, и с него система тоже не загружается, но файлы на нем доступны. Я перенес диск на другой компьютер. Именно на этом месте мы и прервались.
Предупреждение: все, описанное с этого момента, может при невнимательном использовании привести к удалению разделов диска и файлов. Если у вашего жесткого диска физическая неполадка, например, он издает странные звуки или дымится, ничто, описанное далее, не поможет, выключите компьютер, снимите жесткий диск и несите его в сервисную мастерскую. Попытки самостоятельно ремонта, скорее всего, приведут к значительно более дорогим последствиям.
Восстановление информации
Первое правило, которое нельзя нарушать, если вы собираетесь восстановить информацию на поврежденном жестком диске – не запишите ничего поверх.
Если вы случайно удалили раздел, не создавайте на его месте новый, оставьте все, как есть.
Если вы удалили файлы из корзины, а потом поняли, что удаленная информация вам нужна, не записывайте ничего на диск.
Это же относится и к разделам дисков. Если вы не создадите на месте потерянного новый раздел, то информация о старом все еще сохранится.
В моем случае на диске сохранились копии информации о разделах и критических файлах. Один раздел недоступен из-за перезаписанного загрузочного сектора, а второй перестал быть загрузочным, но информация из него все еще читается. Забегая вперед, скажу, что все (или почти все) удалось восстановить. А сейчас остановимся на том, как это сделать.
Самый неудобный вариант, когда у вас на диске один раздел, и именно он пропал. Тогда лучше всего перенести винчестер на другой компьютер. Работа на втором компьютере имеет много преимуществ. Не нужно делать диск загрузочным, можно просто добиться читаемости файлов и переписать нужную информацию с помощью проводника Windows.
Если повреждены системные файлы, и система не загружается, но раздел доступен, файлы легко прочитаются на другом компьютере, и проблема будет решена.
Программы для восстановления файлов
Если у вас нет возможности физически перенести жесткий диск, не поддавайтесь искушению переустанавливать систему. Есть несколько программных средств, которые позволят вам загрузить компьютер под управлением альтернативной операционной системы и помочь вам восстановить ваши файлы.
Простейший путь получить доступ к файлам на жестком диске – загрузить компьютер с помощью загрузочной дискеты DOS и воспользоваться программой для восстановления данных наподобие testdisk, рассмотренной ниже.
Имейте в виду, что при работе с одним разделом, который к тому же и не виден, восстановление данных становится значительно более сложной задачей. Многим программам для восстановления необходимо место, чтобы копировать восстановленные данные. В этом случае у вас нет никаких гарантий, что вы не уничтожите больше, чем восстановите. Если вы не можете перенести жесткий диск на другой компьютер, подумайте над подключением еще одного жесткого диска, на который можно будет установить систему и программу восстановления.
Есть несколько программ, например, Winternals Disk Commander и ERD Commander, которые загрузят ваш компьютер под управлением DOS или другой операционной системы и начнут процесс восстановления. К сожалению, ни одна из этих программ не является бесплатной.
Если вы подключили свой диск к другому компьютеру или подключили к вашему компьютеру диск с установленной операционной системой, можете попробовать загрузить компьютер и скопировать нужные данные. У вас не получиться, если утрачена информация о разделах. В таком случае система просто «не увидит» логических дисков.
Бесплатные программы для восстановления информации Существующие бесплатные программы, как правило, менее функциональны, чем платные. Это связано с тем, что разработчики понимают, что если утерянные данные действительно важны, то люди готовы будут заплатить за программу для их восстановления.
Прежде, чем делать что-либо дальше, внимательно все прочитайте.
FINDNTFS
FindNTFS (http://inet.uni2.dk/~svolaf/utilities.htm) – это бесплатная программа, которая может найти и восстановить поврежденный раздел NTFS. Есть несколько разных версий, среди которых есть и предназначенная для работы после загрузки в режиме DOS. Ее можно использовать, если Windows не загружается. FindNTFS кроме поиска и восстановления разделов NTFS имеет еще несколько полезных функций, которые нам сейчас не нужны, и мы на них останавливаться не будем.
Чтобы использовать findntfs, загрузите компьютер с помощью загрузочной дискеты DOS, с записанным на нее файлом findntfs.exe. Получить список файлов и папок на восстанавливаемом диске можно, набрав в командной строке ’FINDNTFS # 1 1 1 c: ecoverlog.txt files’. Символ # нужно заменить на номер диска. Если у вас только один жесткий диск, то его номер будет 1, а если дисков несколько, то номер 1 получит физический диск, на котором находится логический диск С:.
Эта команда говорит findntfs, искать по всему указанному диску файлы NTFS и вывести их список в текстовый файл на диске С:. Вы можете задать любое имя файла и на любом диске. Только не создайте его на том же диске, информацию на котором вы хотите восстановить. Как только файл будет создан, вы можете его просмотреть. Он должен выглядеть примерно так:
Если все прошло удачно, вы сможете найти в списке нужные файлы. Папки, в которых их нашла findntfs, могут не совпадать с тем, где они находились реально. Прежде, чем переходить к следующим шагам, запишите номера папок с нужными файлами.
Чтобы восстановить файлы с помощью findntfs, нужно воспользоваться командой copy. Ограничение программы заключается в том, что она записывает файлы в папку, в которой сама же и находится. Так что перед следующим шагом убедитесь, что там достаточно места.
Выполните команду findntfs # 1 1 1 copy # (первый символ # нужно заменить на номер диска, как в предыдущей команде, а второй – на номер нужной папки). Можно указать до 10 номеров папок. Если вы не укажете номер папки, программа попытается скопировать все файлы с указанного диска.
Проверьте восстановленные файлы, чтобы убедиться, что они не повреждены.
У программы findntfs есть еще одно существенное ограничение, она не может копировать файлы в раздел с файловой системой FAT. Это делает восстановление невозможным без раздела NTFS и поддержки его операционной системой (Windows NT/2000/XP). В таком случае, восстановить файлы, загрузив компьютер с помощью диска с DOS, не удастся. Проблему может решить еще одна бесплатная утилита NTFS reader.
NTFS reader для DOS
NTFS reader для DOS (http://www.ntfs.com/products.htm) – это свободно распространяемая программа, которая позволяет копировать файлы NTFS в разделы DOS (FAT). Если загрузка с вашего раздела NTFS невозможна, вы можете скопировать эту программу на загрузочную дискету и переписать с ее помощью все нужные файлы.
Ограничение этой программы заключается в том, что она не может читать данные из разделов с поврежденными загрузочными секторами или с дисков с поврежденными таблицами разделов. Так что перед ее использованием, нужно сделать раздел NTFS «читаемым» и уже после этого копировать с него нужные файлы.
Этих ограничений не имеет коммерческая утилита ’Active@ Partition Recovery’ (http://www.ntfs.com/), которая может найти потерянный раздел и скопировать из него данные.
Эти программы предназначены для работы под управлением DOS, с ними можно будет работать и под управлением Windows 9x/ME, но не в Windows 2000 или XP из-за ограничений на доступ к дискам, действующих в этих операционных системах.
TESTDISK
TestDisk (http://www.cgsecurity.org/testdisk-4.4.zip) – это программа, существующая в версиях для DOS и Linux, которую можно использовать для поиска и восстановления разделов FAT и NTFS. С помощью нее можно восстановить загрузочные секторы по их копиям.
С помощью именно этой программы я и восстановил свой первый раздел NTFS, которого вообще не было «видно». Работать с testdisk не очень сложно, главное быть осторожным и прочитать документацию (в папке doc).
После запуска программы вы увидите список доступных физических дисков:
Укажите диск, разделы которого нужно восстанавливать, и выберите пункт analyze.
Программа выведет список существующих на данный момент разделов и, после нажатия enter, начнет собственный процесс поиска разделов.
После окончания поиска нажмите enter еще раз. Дальше желательно выбрать пункт search!, чтобы произвести более тщательный поиск. Если вдруг вы не видели вначале ни одного раздела из-за повреждения таблицы разделов, testdisk должен их найти.
Проверьте эту информацию и выберите write, чтобы записать новые сведения о разделах на диск. Если потеря раздела была единственным повреждением, то на этом процесс восстановления для вас закончен. Вы получите полностью восстановленную систему. Но, если поврежден загрузочный сектор раздела (как в моем случае), придется выбрать пункт advanced, а после него – boot.
Testdisk сравнит загрузочный сектор с его копией. Если они разные, то программа задаст вам вопрос, хотите ли вы переписать в загрузочный сектор его копию.
Эта операция сделала мой «потерянный» раздел со статьей снова доступным. Testdisk – одна из самых полезных программ для восстановления разделов диска. Конечно, ей не хватает графического интерфейса и запускается она только под управлением DOS, но не это главное для программы, способной восстановить нужную информацию за несколько минут.
Есть много разных бесплатных утилит для восстановления данных. Вот несколько, восстанавливающих удаленные файлы: PC INSPECTOR (http://www.pcinspector.de/file_recovery/UK/welcome.htm) и Restoration для 9x/NT/2K/XP (http://hccweb1.bai.ne.jp/~hcj58401/REST2514.EXE). Если задаться целью, можно найти много подобных программ со своими достоинствами, но мы не ставили перед собой такой цели, так как всего описанного, на наш взгляд, вполне достаточно для решения большинства проблем, связанных с восстановлением поврежденных разделов и удаленных файлов.