Утилита Un Format (UNFORMAT)

8.4.4. Утилита UnFormat (UNFORMAT)

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

UNFORMAT дает положительный эффект в следующих случаях:

1)  когда логический диск на винчестере был случайно проинициализирован DOS-командой FORMAT или утилитой Safe Format, но перед этим для него была выполнена утилита Image или Mirror (последняя входит в состав MS-DOS 5.0, заимствована из пакета PC Tools и выполняет функции, аналогичные утилитам Image, Erase Protect  и  Disk Tools в режиме резервирования системной информации);

2)   если  дискета  была  ошибочно   проинициализирована  утилитой   Safe  Format  (но   не  в режиме стандартного, т.е. DOS-форматирования), а перед этим она была обработана утилитой Image или Mirror;

3)  если системная область диска разрушена (но не из-за физического дефекта), однако до этого он был обработан утилитой Image или Mirror;

4)  когда выполнены условия одного из трех предыдущих пунктов, но утилитой Image или Mirror соответствующий диск не обрабатывался;

5)  если для дискеты была выдана DOS-команда FORMAT, но ее выполнение было отменено пользователем до завершения инициализации дискеты.

Как Вы уже знаете, утилиты Image и Mirror обеспечивают резервирование системной области диска на этом же диске. DOS-команда FORMAT при обработке логического диска на винчестере очищает только его системную область, не «затирая» область данных. Утилита Safe Format (если используется не в режиме DOS-форматирования) работает аналогичным образом при инициализации как логического диска на винчестере, так и дискеты. Кроме того, перед форматированием она способна по Вашему указанию вызвать IMAGE. Поэтому в перечисленных выше случаях 1—3 возможно полное восстановление информации на диске, что и реализует утилита UNFORMAT. При этом важно, чтобы «слепок» системной области был «свежим». Действительно, все изменения файловой структуры диска после выполнения Image или Mirror не будут зафиксированы в «слепке», в результате чего возникнет рассогласование его содержимого и содержимого диска В такой ситуации будет осуществлено только частичное восстановление информации.

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

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

Запуск утилиты осуществляется командной строкой вида

UNFORMAT [d:] [/IMAGE|/MIRROR]

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

/IMAGE           — осуществить восстановление диска по «слепку» системной области, сделанному утилитой Image;

/MIRROR         — осуществить восстановление диска по «слепку» системной области, выполнен­ному утилитой Mirror.

Если задан один из этих переключателей, то UNFORMAT настраивается на работу таким образом, что восстановление диска становится возможным только по «слепку» системной области, сделанному той утилитой, имя которой совпадает с наименованием переключателя. Когда же переключатель в командной строке не задан, то пользователь в процессе диалога сможет по своему усмотрению выбрать «слепок» из тех, которые созданы утилитами Image и Mirror (если таковые имеются).

UNFORMAT работает только в диалоговом режиме и в максимальной степени автоматизирована: в основном от пользователя требуются только нажатия клавиш Enter или Esc в диалоговых окнах.

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

Затем открывается диалоговое окно (см. рис. 8.30), от сделанного пользователем выбора в котором существенно зависят дальнейшая работа утилиты и возможность полного восстановления информации. Когда же в командной строке был задан переключатель, то вопрос в диалоговом окне будет содержать наименование лишь одной утилиты резервирования системной информации. Если Вы полностью уверены в том, что данный диск утилитой Image или Mirror не обрабатывался, то выберите No, а иначе — Yes (в последнем случае будет производиться поиск «слепка» системной области).

 

Рис.   8.30.   Важнейшее   диалоговое   окно   утилиты   UNFORMAT

 

Сначала рассмотрим работу утилиты после ответа Yes.

В этом случае просматривается корневой каталог диска и на экран выдается его содержимое. Утилита в этом же окне предупреждает о том, что в результате восстановления существующая файловая структура будет разрушена и предлагает сделать выбор, ответив Yes для продолжения работы и No для возврата в исходное состояние (в начало диалога). Это предупреждение не совсем корректно, так как существующая файловая структура будет действительно разрушена только в том случае, если она не зафиксирована в «слепке» системной области. Это может произойти, в частности, тогда, когда диск был обработан утилитой Image или Mirror, отформатирован, а затем на нем была создана файловая структура В этом случае выйдите из утилиты и скопируйте файлы в безопасное место. Если же диск обработан утилитой Image или Mirror, а затем вызвана UNFORMAT, то его текущее содержимое в результате восстановления не разрушится.

После нажатия клавиши Enter (для ответа Yes) на экране может появиться карта диска (аналогичная карте утилиты DISKTOOL), на которой приняты следующие обозначения блоков (фрагментов) диска:

           — неиспользуемый «слепком» системной области блок;

В           — дефектный блок;

          — блок со «слепком» системной области.

Эта карта наглядно отражает процесс поиска «слепка», созданного утилитой Image или Mirror. «Слепок» по карте ищется тогда, когда требуемые файлы в корневом каталоге не найдены. Сканирование диска в данном случае осуществляется с конца и поиск осуществляется по содержимому этих, возможно, удаленных файлов.

Если «слепок» системной области, созданный, например, утилитой Image, найден, то открывается диалоговое окно, показанное на рис. 8.31. В нем сообщается об этом, а также указываются:

  дата и время снятия последнего (Resent) «слепка»;

                            дата и время снятия предыдущего (There is also IMAGE information...) «слепка», если он на диске имеется.

 

Рис.   8.31.   Диалоговое   окно   после   отыскания «слепка» системной   области   диска

В области подкоманд окна предлагается выбрать:

Resent          — для восстановления с использованием последней версии «слепка»;

Previous        — для восстановления с использованием предыдущей версии «слепка»;

Cancel          — для отмены восстановления (можно нажать клавишу Esc).

Обычно восстановление осуществляется по последней версии «слепка». Предпоследнюю же версию следует использовать тогда, когда Image вызывается из файла AUTOEXEC.BAT и Вы отформатировали диск, а затем перезагрузили DOS (т.е. снова сделали «слепок»).

После выбора Resent или Previous открывается окно, в котором еще раз делается предуп­реждение о возможности разрушения существующей файловой структуры при восстановлении и предлагается выбрать Yes для продолжения работы или No для завершения.

При нажатии Enter (для Yes) открывается диалоговое окно, в котором предлагается выбрать режим полного (Full) или частичного (Partial) восстановления системной области диска. При полном восстановлении будут перезаписаны все три компонента системной области — BR, FAT и RDir. При частичном же восстановлении можно управлять восстановлением каждого из трех перечисленных компонентов явно. Оно используется в следующих случаях:

   «слепок»  является  достаточно  старым  (после  его  создания  файловая  структура диска существенно модифицировалась);

  Вы прервали деструктивное DOS-форматирование до его завершения (при этом возможно частичное восстановление RDir и/или FAT);

  Вы хорошо знакомы с размещением информации на магнитных дисках и хотите (частично) восстановить ее вручную утилитой UnErase или Disk Editor (при этом целесообразно восстановить посредством UNF0RMAT только BR).

Если выбрана подкоманда Full, то UNFORMAT продолжает свою работу автоматически.

Когда же выбрана подкоманда Partial то открывается диалоговое окно, изображенное на рис. 8.32. В нем Вы можете указать подлежащие восстановлению компоненты системной области, включив соответствующие опции:

Boot Record                   — для восстановления BR;

File Allocation Table     для восстановления FAT;

Root Directory               — для восстановления RDir.

Затем нажмите Enter (для OK), и восстановление будет выполнено автоматически.

О результатах своей работы UNFORMAT сообщит на экране дисплея. Будет предложено также выполнить утилиту NDD с переключателем /QUICK. Последняя может выдать ошибки из-за изменения файловой структуры диска после снятия «слепка» системной области.

Рис. 8.32. Диалоговое окно Partial Restore

Если «слепок» системной области диска утилитой UNFORMAT не найден, то она может осуществить частичное восстановление информации путем сканирования содержимого диска. Это полностью совпадает с режимом работы, устанавливаемым при выборе No в диалоговом окне, показанном на рис. 8. 30. В данном случае утилита требует подтверждения на восстановления и при ответе Yes продолжает работать автоматически. Процесс восстановления отражается на карте диска, идентичной карте, отображаемой утилитой DISKTOOL.

Прервать работу утилиты UNFORMAT можно на любом этапе, просто нажав Esc. При этом открывается окно с двумя подкомандами: Cansel (Прервать) и Resume (Возобновить). Выберите требуемую. Заметим, что нажатие Esc здесь эквивалентно выбору Resume.