КАК ВЕРНУТЬ СЛУЧАЙНО УДАЛЕННЫЕ ФАЙЛЫ

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

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

Когда исчезают данные

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

Например, несколько лет тому назад я работал в офисе, в котором был установлен сервер Novell NetWare вместе с системой Windows NT Server. Сервер NetWare был нашим основным LAN-сервером, а сервер NT - экспериментальной установкой. Поскольку на сервере NetWare было мало дискового пространства, мы сделали сервер NT доступным для пользователей, но гарантировать сохранность данных соответственно не могли.

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

Первые шаги

Когда нужно восстановить документ, прежде чем прибегать к сложной процедуре, на выполнение которой мне потребовалось четыре часа, стоит попробовать пару простых решений. Для начала нужно свернуть окно всех приложений, которые выполняются на машине, затем двойным нажатием открыть Recycle Bin. Появится список недавно удаленных файлов, он показан на Экране 1. Если нужный файл находится в Recycle Bin, для его восстановления следует просто нажать Restore в левом нижнем углу окна Recycle Bin.

Экран 1. Недавно удаленные файлы хранятся в Recycle Bin.

Однако если пользователь удалил файл из командного приглашения или использовал функцию delete из какой-либо программы, кроме Windows Explorer, файла в Recycle Bin не окажется. Для восстановления такого файла можно воспользоваться Executive Software?s Undelete 2.0 Windows NT/2000. (Рекомендую загрузить свободно распространяемую 30-дневную опытную версию программы из http://www.execsoft.com/downloads/downloads.asp.) Эта программа использует тот же механизм, который в Windows 2000 (и большинстве других ОС) применяется для выполнения команды delete. На самом деле система не стирает удаленный файл, а переименовывает его, заменяя первую букву в имени тильдой (~). Затем файл помечается как скрытый. Система также не вносит изменения в дисковые секторы, занимаемые файлом, пока ей не понадобится дополнительное дисковое пространство для записи файлов. Таким образом, если использовать Undelete немедленно после того, как файл случайно был удален, то с большой долей вероятности его удается восстановить прежде, чем будет перезаписано занимаемое им дисковое пространство. Undelete просматривает скрытые файлы, которые имеют тильду вместо первой буквы, после чего предоставляет список недавно удаленных файлов и спрашивает, есть ли среди них искомый файл. Если предполагается, что один из этих файлов - тот, который нужен, следует выбрать его, после чего Undelete потребует ввести правильную первую букву, заменит ею тильду и восстановит файл, удалив атрибут «скрытый».

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

64-часовое решение

В некоторых случаях (как, например, при удалении моего Word-файла) ни Recycle Bin, ни Undelete не помогают. Я не сохранял файл, поэтому система, хранящая копию файла, такая, как Recycle Bin или Undelete, не смогла помочь в восстановлении. Но данные файла все еще существовали на жестком диске.

Многие программы (например, Word 97) используют временные файлы для хранения промежуточных итогов работы. Когда существуют только эти временные файлы, процедура поиска и восстановления данных достаточно проблематична. В этом случае необходим DiskProbe, который входит в набор дополнительных инструментальных средств Windows 2000. Для поиска и восстановления файла нужно использовать следующую процедуру.

Шаг 1. Для установки DiskProbe выполняется setup.exe. (Setup.exe можно найти в каталоге SupportTools на компакт-дисках Windows 2000 Pro и в Microsoft Windows 2000 Resource Kit.) Лучше выполнить setup.exe до того, как возникнет необходимость в использовании DiskProbe. Если DiskProbe установлен не был, его установка может перезаписать восстанавливаемые данные.

Шаг 2. Необходимо выбрать StartProgramsSupport Tools Windows 2000ToolsDiskProbe. В меню DiskProbe Drives следует выбрать Logical Volume, после чего появится диалоговое окно Open Logical Volume.

Шаг 3. В списке Logical Volumes в верхней части диалогового окна двойным щелчком мыши нужно выбрать том, который требуется «обыскать», затем следует нажать Set Active for Handle 0 (ниже списка томов). Метка Active Handle ниже списка томов изменится, указывая на том, который был выбран двойным нажатием. Нажимаем OK.

Шаг 4. В меню DiskProbe Tools нужно выбрать пункт Search Sectors (секторы поиска), который открывает диалоговое окно Search Sectors, показанное на Экране 2. Выбрав параметр Exhaustive search для просмотра целого тома и параметр Ignore case, предлагающий DiskProbe искать текст независимо от регистра, следует ввести искомый текст в поле Enter characters to search for в нижней части диалогового меню. Нажимаем Search и ждем, пока DiskProbe просмотрит текст.

Экран 2. Диалоговое окно поиска секторов Search Sectors.

Шаг 5. Если DiskProbe находит нужный текст, в диалоговом меню появляется сообщение «Found match in sector [number], Press Yes to Continue Search» («Для продолжения поиска нажмите Yes»). Необходимо нажать No, и DiskProbe отобразит сектор, в котором он обнаружил текст. Теперь нужно просмотреть эти данные, чтобы определить, являются ли они частью искомого файла. Если это так, следует выбрать Volume Information из меню Drives Disk Probe и определить величину Sector Size, после чего выбрать Read из меню Sectors. В открывшемся окне Read Sectors указывается начальный сектор - тот, в котором DiskProbe обнаружил искомый текст. Теперь требуется вычислить количество секторов, которые необходимо считать, чтобы охватить полный файл. Для этого нужно размер файла в байтах разделить на размер сектора (например, если объем файла - 10 Kбайт, а сектор - 512 байт, следует считать 20 секторов). Указав количество секторов в соответствующей области диалогового меню, нажимаем Read.

Шаг 6. Для просмотра секторов, которые только что были считаны, следует воспользоваться кнопками на панели DiskProbe. Убедитесь, что выбранные секторы включают искомый файл полностью. Если найдена только часть файла, можно просмотреть большее количество секторов. Начать следует с того же сектора, что и в Шаге 5, но указать в Read побольше секторов. Обнаружив основную часть файла, переходим в меню File и выбираем Save As. Затем нужно ввести полное имя файла, в котором DiskProbe сохранит эти данные. Если Windows 2000 не распределила дисковое пространство файла для использования другими файлами, можно открыть этот файл, используя программу, в которой он был первоначально создан (в моем примере - Word). Если файл не открывается в программе, в которой он был создан, можно попробовать открыть его в Notepad. Следует удалить лишние символы, которые могут быть в конце файла, а затем сохранить файл снова.

Шаг 7. Если искомые данные с первой попытки не найдены, нужно продолжать обследовать сектор за сектором. Если попадается много соответствий (например, моя первая строка поиска была для текста Microsoft, который DiskProbe обнаруживал повсюду, на обоих жестких дисках), можно попробовать искать более редкое слово (термин).

Если искать и восстанавливать потерянные файлы на жестком диске приходится часто, рекомендую использовать утилиту Diskview компании radsoft.net, которая поставляется в пакете Extreme Power Tools 2001 этой же фирмы. Diskview имеет более простой интерфейс и работает значительно быстрее, чем DiskProbe. Extreme Power Tools 2001 стоит 44,95 долларов. Он включает более 100 утилит, но и одна Diskview стоит этих денег, если приходится часто восстанавливать случайно удаленные файлы.

ОБ АВТОРЕ

Джон Рулей - независимый технический писатель. Он готовит еженедельные выпуски Windows 2000 Pro UPDATE (http://www.win2000mag.com/update). Также ведет online-колонку в BYTE.com и готовит обзоры по программному обеспечению в Plane&Pilot Magazine. Его адрес: jruley@ainet.com.