Утилита Disk Editor (DISKEDIT)

8.4.8. Утилита Disk Editor (DISKEDIT)

DISKEDIT служит для восстановления информации на дисках вручную. Из рассмотренных в данном подразделе утилит она обладает наиболее широкими возможностями, однако может при­меняться только высококвалифицированными, пользователями, во всех деталях знающими порядок размещения информации на магнитных дисках (см. подраздел 5.12). За предоставление богатых возможностей приходится, к тому же, расплачиваться высокой трудоемкостью восстановления информации. В связи с этим утилиту целесообразно использовать только в случаях, когда UNERASE, UNFORMAT, NDD и FILEFIX не смогли восстановить данные. DISKEDIT может обрабатывать даже диски, которые вообще недоступны средствам DOS из-за разрушения системной области.

Утилита является по сути низкоуровневым дисковым редактором и выполняет следующие функции:

1)  выбор объекта для работы, которым может быть любой компонент содержимого диска как на логическом, так и на физическом уровне, а также область стандартного адресного пространства;

2)  визуализацию объекта в различных форматах, существенно облегчающих восприятие его содержимого;

3).редактирование объекта в режиме замены (однако редактировать память не допускается);

4)  отмену (при необходимости) сделанных в объекте изменений;

5)  выделение блока как части объекта;

6)  копирование  блока  из  одного  объекта  в  другой  с   использованием   временного   буфера (Clipboard — «Доска вырезок»);

7)  заполнение блока заданными символами;

8)  сборку файла из блоков различных объектов;

9) упрощение доступа к логически связанным объектам на диске;

10)  получение справочной информации об объекте и его карты на диске;

11)  поиск в объекте заданной информации;

12)  сравнение объектов;

13)  смену атрибутов, даты и времени создания файлов (каталогов);

14)  преобразование символов в десятичные (шестнадцатеричные) коды и обратно;

15)  отображение таблицы ASCII.

DISKEDIT работает только в диалоговом режиме и запускается командной строкой вида

DISKEDIT [d:| dir|file] [/М] [/X:d...] [/W] [/SKIPHIGH]

Аргумент задает объект, который становится выбранным для работы сразу после запуска утилиты (диск, каталог или файл). Если аргумент опущен, то подразумевается рабочий каталог.

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

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

Переключатель /W переводит утилиту в режим возможности записи, даже если она сконфи­гурирована для работы в режиме «только чтение».

Переключатель /SKIPHIGH предотвращает использование утилитой верхней памяти.

Структура главного экрана утилиты представлена на рис. 8.52.

 

 

Рис.   8.52.    Структура    главного   экрана   утилиты   DISKEDIT

 

Большую его часть занимает окно, в котором отображается часть выбранного объекта в том или ином формате. Мы назвали, это окно панелью, чтобы при изложении не возникало коллизий между ним и различными открывающимися и закрывающимися диалоговыми окнами. Содержимое объекта можно прокручивать и почти всегда редактировать, если такая возможность не запрещена при конфигурировании DISKEDITa Утилита позволяет разделять единственную панель на две панели (для повышения удобства работы), только одна из которых в любой момент времени является активной. Если на экране имеется единственная панель, то она всегда активна. Активная панель ограничена справа элеватором.

В поле справочной информации содержатся краткие сведения об объекте, размещенном на активной панели.

В однострочном поле подсказок выводится контекстно-зависимая подсказка для пользователя.

Верхнюю строку главного экрана занимает меню, в котором имеются следующие пункты:

Object            — для выбора, рабочего объекта;

Edit                 — для редактирования объекта;

Link                — для выбора другого объекта, логически связанного с элементом данного объекта;

View                — для визуализации выбранного объекта в требуемом формате;

Info                  — для получения справочной информации о выбранном объекте, его карты или информации о диске, на котором он расположен;

Tools                — для выполнения различных действий инструментального характера и конфигурирования утилиты;

Quit                — для временного или окончательного выхода из утилиты.

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

На активной панели независимо от отображаемого на ней объекта и формата отображения доступны следующие клавиши и их комбинации:

   и                                  — для перемещения курсора вверх (вниз) на одну строку;

    и                    — для перемещения курсора влево (вправо) на один символ внутри редактируемого элемента В начале (конце) элемента — для перемещения курсора к предыдущему (следующему) редактируемому элементу;

Ctrl-← и Ctrl-→                — для перемещения курсора в начало (конец) строки;

PgUp и PgDn                    — для перехода к просмотру предыдущей (следующей) страницы объекта;

+  и — на малой цифровой клавиатуре      — для перехода к следующему (предыдущему) сектору, занимаемому объектом;

Ноте и End                         — для перехода к началу (концу) объекта;

Ctrl-Home и Ctrl-End       — для  перехода к началу (концу) текущего сектора, кластера или файла.

DISKEDIT хранит в своих внутренних таблицах сведения о системной области обрабатываемого диска и о файловой структуре, а также карту диска и т.п. Поэтому при их изменении вне утилиты (например, при временном выходе в DOS) DISKEDrT, обнаружив этот факт, пересканирует (Rescan) диск. Процесс пересканирования отображается в соответствующем, открывающемся с этой целью окне. Переска­нирование может осуществляться также и при изменении содержимого диска из утилиты. На непроизво­дительных ПЭВМ пересканирование занимает много времени. Поэтому если Вы знаете, что изменения содержимого диска несущественны, то пересканирование можно отменить путем нажатия клавиши Esc.

По умолчанию DISKEDIT находится в режиме Read Only (только чтение). Вследствие этого попытка изменить объект не увенчается успехом. Утилиту можно сконфигурировать так, чтобы запись на диск разрешалась.

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

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

Подменю Object

Подменю Object показано на рис. 8.53. Каждая его команда служит для выбора определенного объекта (логического или физического информационного компонента на диске), который в дальнейшем будет использоваться другими командами утилиты. Выбранный объект (точнее — данные, в нем содержа­щиеся) автоматически размещается на активной панели и отображается на ней при помощи наиболее подходящего визуализатора, который при необходимости можно сменить (см. подменю View). После этого объект может просматриваться, редактироваться и применяться для обновления других объектов.

Некоторые пункты подменю в том или ином контексте могут быть недоступны.

Команда Drive (оперативный вариант — Alt-D) служит для установки режима работы утилиты по обработке диска и выбора для обработки дискового носителя информации. С помощью данной команды можно задать один из следующих режимов работы:

1)  обработку физического диска как последовательности секторов;

2)  обработку логического диска в терминах DOS.                                  

При выдаче команды открывается диалоговое окно, в одной из областей которого (она активна) перечислены все доступные приводы, а в другой (называемой Туре) — режимы работы. По умолчанию установлен второй режим (Logical disks).

Если Вы хотите задать обработку физического жесткого диска, то нажмите Tab для активизации области Туре и переключите режим на режим Physical disks. Затем вновь активизируйте область со списком приводов, помаркируйте требуемый и выдайте подкоманду ОК. В качестве объекта в этом случае выбирается весь физический диск, а на панели визуализируется стартовый сектор с MBR с использованием Нех-визуализатора. Данный режим можно использовать также при работе с дискетой, но придется уточнить ее формат.


Рис.   8.53.   Подменю   Object

Для обработки логического диска после открытия описанного диалогового окна достаточно помаркировать требуемый привод и выдать подкоманду ОК. В качестве объекта в этом случае выбирается корневой каталог логического диска в данном приводе и используется Dir-визуализатор.

DISKEDIT различает и поддерживает следующие логические приводы:

1)  НГМД (floppy) различных форматов;

2) логические приводы на винчестере (Hard disk), распознаваемые и поддерживаемые DOS;

3)  внешние дисководы, виртуальные диски в ОЗУ и недисковые ВЗУ, такие, как НМЛ, работающие под управлением драйверов, эмулирующих НМД (для упомянутых приводов используется обоз­начение Device Driven);

4)  синонимы других приводов, назначенные DOS-командой ASSIGN (обозначение — Assigned);

5)  синонимы каталогов, введенные DOS-командой SUBST (обозначение — Substituted);

6)  фиктивные дисководы (Phantom drive), дополнительно созданные драйверами  на других реальных  и уже зарегистрированных в системе дисководах (например, созданные драйвером DRTVER.SYS);

7)  сетевые приводы (Network drive), т.е. приводы, доступные при помощи сетевого ПО;

8)  скрытые приводы (Encrypted), созданные утилитой Diskreet.

Команда diRectory (оперативный вариант — Alt-R) обеспечивает выбор в качестве объекта заданного на обрабатываемом диске каталога. При ее выдаче открывается стандартное диалоговое окно Change Directory, в котором можно специфицировать требуемый каталог по дереву каталогов, возможно, с использованием средств быстрого поиска. Для отображения объекта будет использоваться Dir-визуализатор.

Команда File (оперативный вариант — Alt-F) служит для выбора в качестве объекта заданного файла. После выдачи команды открывается диалоговое окно, аналогичное показанному на рис. 8.51. В нем следует выбрать требуемый файл одним из двух способов, после чего его содержимое будет размещено на активной панели с использованием Hex- или Text-визуализатора. Визуализатор назначается в зависимости от типа содержимого файла.

Команда Cluster (оперативный вариант — Alt-Q служит для выбора в качестве объекта последо­вательности кластеров текущего (возможно, указанного командой Alt-D) диска Вслед за выдачей команды открывается диалоговое окно, в котором отображается допустимый диапазон номеров кластеров для данного диска, а также предлагается специфицировать номер первого (Starting) и номер последнего (Ending) кластера в последовательности. Если требуется выбрать единственный кластер, то можно ввести его номер только один раз и затем выдать подкоманду ОК. Для отображения содержимого первого кластера последовательности на панели будет выбран наиболее подходящий визуализатор.

Команда Sector (оперативный вариант — Alt-S) аналогична предыдущей, но служит для выбора в качестве объекта последовательности секторов текущего диска с использованием логической нумерации.

Команда Physical Sector (оперативный вариант — Alt-P) также служит для выбора в качестве объекта последовательности секторов диска, но для их указания используется физическая адресация. После выдачи команды в открывшемся диалоговом окне нужно указать номер цилиндра (Cylinder), номер поверхности (Side) и номер на дорожке (Sector) первого сектора последовательности, а также число секторов в ней (Number of sectors). Применяя физическую адресацию, можно осуществить доступ к любой части диска, в том числе к той, которая не обрабатывается DOS. Среди них:

  стартовый сектор физического диска с MBR;

  любой промежуток между ним и началом раздела;

  область, не включенная в раздел;

  разделы, не принадлежащие DOS.

Команда partition Table (оперативный вариант — Alt-A) используется для выбора в качестве объекта РТ из стартового сектора физического жесткого диска, на котором находится текущий логический диск. Для отображения РТ на активной панели применяется РТ-визуализатор.

Команда Boot Record (оперативный вариант — Alt-B) служит для выбора в качестве объекта блока параметров DPB из стартового сектора текущего логического диска. Для отображения DPB используется DPB-визуализатор.

Команда 1st copy of FAT (оперативный вариант — Alt-Fl) обеспечивает выбор в качестве объекта первой копии FAT текущего диска Для отображения объекта используется FAT-визуализатор.

Команда 2nd copy of FAT (оперативный вариант — AH-F2) аналогична предыдущей, но служит для выбора второй копии FAT.

Команда cLipboard предназначена для выбора в качестве объекта Clipboard с использованием подходящего визуализатора. Clipboard имеет объем 4 Кбайт и применяется:

1)  для временного хранения информации при ее копировании с одного места диска в другое (например, при переносе содержимого второй копии FAT в первую);

2)  для сборки файла из фрагментов (блоков) различных объектов;

3)  при вставке данных в файл;

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

Команда Memory Dump (оперативный вариант — Alt-M) обеспечивает выбор в качестве объекта непрерывной области памяти в стандартном адресном пространстве (до 1 Мбайт). Вслед за ее выдачей предлагается указать начальный адрес (Starting address) и конечный адрес (Ending address) объекта в виде номера первого параграфа в сегменте, причем в шестнадцатеричной системе счисления. Используя данную команду, Вы можете отобразить содержимое не только ОЗУ, но и ПЗУ, а также видеопамяти с использованием только Нех-визуализатора. Редактировать память при помощи утилиты нельзя.

 

Подменю View

Подменю View представлено на рис. 8.54. Его команды разбиты на две группы.

 

 

Рис.   8.54.   Подменю    View

 

Команды первой из них (верхней группы) обеспечивают выбор (активизацию) визуализатора для отображения объекта на активной панели. По умолчанию DISKEDIT автоматически исследует каждый сектор перед его отображением и использует наиболее подходящий визуализатор. С помощью же команд первой группы рассматриваемого подменю можно выбрать требуемый визуализатор явно, причем он может отличаться от назначенного по умолчанию. За исключением Text-визуализатора, каждый визуализатор является также и соответствующим редактором, позволяя изменять содержимое объекта (но только в режиме замены). Выбранный визуализатор определяет допу­стимые редактируемые элементы (например, байты или элементы FAT). Редактируемым является помаркированный элемент активной панели, внутри которого в данный момент позиционирован курсор. Все изменения, сделанные в редактируемом элементе, но еще не записанные на диск, выделяются. При смене визуализатора редактируемым остается тот же элемент (в видоизмененном виде), а все внесенные до этого, но еще не записанные на диск коррекции также остаются выделенными. Наиболее быстрый способ перехода к следующему редактируемому элементу состоит в нажатии клавиши Tab, а к предыдущему — Shift-Tab. Однако это не относится к Нех-визуализатору.

Команды второй группы служат для управления панелью: разделения ее на две части, изменения размера активной панели и смены активности панелей. Наличие двух панелей облегчает попеременный просмотр двух объектов или различных фрагментов одного и того же объекта Еще одно применение двух панелей состоит в одновременном отображении логически связанных объектов (см. подменю Link).

Рассмотрим команды подменю View в приведенном на рис. 8.54 порядке.

Команда as Hex (оперативный вариант — F2) выбирает шестнадцатеричный (Hex-) визуали­затор. Пример активной панели с отображением данных посредством этого визуализатора показан на рис. 8.55. Активная панель разделяется на два поля. В левом (большем) поле содержимое каждого байта отображается в шестнадцатеричном виде, а в правом (меньшем) поле дается его текстовая интерпретация, что облегчает восприятие информации. Самая левая колонка шестнадцатеричных чисел на панели указывает смещение начала соответствующих строк данных относительно начала объекта. Дополнительно к этому на панели показывается номер сектора и, возможно, кластера, в которых находятся отображаемые данные.

 


Рис.   8.55.   Пример   использования   Нех-визуализатора

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

Редактируемым элементом для Нех-визуализатора является байт. Однако имеется возможность изменения и полубайта. Перемещение курсора между соответствующими редактируемыми эле­ментами в шестнадцатеричном и текстовом полях осуществляется клавишей Tab. Подчеркнем, что в связи с одновременным наличием двух полей редактирование можно осуществлять как в шестнадцатеричном, так и в текстовом виде.

Каждое сделанное на панели изменение данных для облегчения восприятия выделяется. Однако эти изменения (как и во всех других визуализаторах) не заносятся на диск автоматически. С целью обновления информации на диске нужно выдать команду Write changes в подменю Edit. Для повышения безопасности работы утилита обеспечивает при необходимости восстановление данных в том виде, в каком они были до обновления.

Команда as Text (оперативный вариант — F3) выбирает текстовый (Text-) визуализатор. В этом визуализаторе данные располагаются построчно (см. пример на рис. 8.56), а возможность их редактирования отсутствует.

Команда as Directory (оперативный вариант — F4) выбирает Dir-визуализатор, в котором каждая строка в удобном формате отображает соответствующий элемент объекта-каталога. Пример форматирования объекта Dir-визуализатором приведен на рис. 8.57. Напомним, что каждый элемент каталога описывает файл, подкаталог, метку тома, удаленный файл (каталог) или является еще не использованным элементом (Unused directory entry). Сведения о каждом задействованном элементе каталога распределены по таким полям:

Name           — имя файла (каталога) или начало метки тома;

.Ext              — расширение имени файла (каталога) или продолжение метки тома;

Size              — длина файла (каталога) в байтах;

Date             — дата создания файла (каталога);

Time            — время создания файла (каталога);

Cluster         — номер первого кластера, занимаемого файлом (каталогом);

Arc               — наличие атрибута А;

R/O             — наличие атрибута R;

Sys               — наличие атрибута S;

Hid               — наличие атрибута Н;

Dir               — признак каталога;

Vol               — признак метки тома.

 


Рис. 8.56. Пример использования Text-визуализатора

 

 

Рис.   8.57.   Пример   использования   Dir-визуализатора

 

Символ х, записанный в качестве первого в поле Name, свидетельствует о том, что файл (каталог) удален.

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

Все поля до Arc редактируются обычным способом, а начиная с Arc — путем использования клавиши Space для включения/выключения атрибутов.

Команда as FAT (оперативный вариант — F5) выбирает FAT-визуализатор, в структурирован­ном виде отображающий содержимое таблицы размещения файлов. Пример форматирования данных FAT-визуализатором показан на рис. 8,58. Два первых элемента FAT не показываются, а каждый из остальных отображается одним из следующих способов:

1)                 числом 0, если соответствующий кластер свободен;


Рис.   8.58.   Пример   использования   FAT-визуализатора

2)  ненулевым десятичным числом, если соответствующий кластер занят файлом (каталогом) и не является последним в цепочке кластеров. Число при этом указывает номер следующего кластера в цепочке;

3)   последовательностью  символов   <EOF>   (конец файла),  если  соответствующий  кластер занят файлом (каталогом) и является последним в цепочке;

4)   последовательностью символов   <BAD>, если соответствующий  кластер  имеет дефект, выявленный  при  форматировании  диска  или утилитой  NDD.  Отметим,  что утилита Calibrate может сделать дефектный кластер на жестком диске нормальным. Вспомним также, что посред­ством утилиты DISKTOOL можно управлять признаком дефектности явно, однако это не влияет на реальное состояние кластера.

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

Редактируемым элементом в FAT-визуализаторе является любой элемент FAT, на котором позиционирован курсор. При редактировании элемента FAT можно:

1)  напечатать другое десятичное число для изменения цепочки кластеров;

2)  пометить соответствующий кластер как дефектный, нажав клавишу В или Del;

3)  поместить в него признак <EOF>, нажав клавишу Е.

Команда as Partition Table (оперативный вариант — F6) вызывает РТ-визуализатор, структу­рирующий таблицу разделов из MBR, находящейся в стартовом секторе жесткого диска. Пример РТ приведен на рис. 8.59. Сведения о каждом разделе распределяются по следующим колонкам:

System                         — идентификатор ОС, которой используется раздел (системный код);

Boot                              — признак загружаемости (статус) раздела;

Starting Location   — физический адрес начала раздела в терминах номера цилиндра (Cylinder), поверхности (Side) и сектора на дорожке (Sector);

Ending Location         — физический адрес конца раздела в тех же терминах;

Relative Sectors          — логический номер начального сектора раздела;

Number of Sectors      — число секторов в разделе.

Для раздела DOS может быть указан один из следующих системных кодов:

DOS-12            — для первичного раздела DOS с 12-битной FAT;

DOS-16            — для первичного раздела DOS с 16-битной FAT;

EXTEND          — для расширенного раздела DOS;

BIGDOS           — для большого первичного раздела DOS, размер которого превышает 32 Мбайт.

Незадействованные строки РТ отмечаются как unused.

Поле Boot активного раздела содержит Yes, а пассивных — No.

Во всех остальных колонках проставлены числа, причем в десятичной системе счисления.

Обычно емкость сектора составляет 512 байт. Поэтому по числу секторов в разделе легко можно вычислить его размер путем деления этого числа на 2 и дописывания справа «Кбайт».

Необходимость обновления РТ возникает редко. Тем не менее DISKEDIT предоставляет возможности по модификации каждого из перечисленных полей. При этом числовые значения печатаются обычным способом, а поля System и Boot модифицируются последовательным нажатием клавиши Space до тех пор, пока требуемый признак не будет установлен.

 


Рис.   8.59.   Пример   использования   РТ-визуализатора

 

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

Для просмотра NSB из MBR следует использовать Нех-визуализатор.

Команда as Boot Record (оперативный вариант — F7) активизирует DPB-визуализатор, который струк­турирует данные, содержащиеся в блоке параметров (логического) диска из BR, находящейся в его стартовом секторе. Пример форматирования DPB этим визуализатором показан на рис. 8.60. Соответствующие значения, проставленные в колонках DOS Reports и Boot Record Data (т.е. содержимое DPB) должны совпадать. Если это не так, то числа в столбце Boot Record Data нужно подредактировать, а затем — записать DPB на диск.

Команда Split window (оперативный вариант — Shift-F5) обеспечивает разделение единственной панели на две одинаковые по размеру панели, расположенные одна под другой. Сразу после разделения содержимое панелей совпадает, однако впоследствии оно может быть изменено, например, командами подменю Object, а также рядом других команд наряду с командой sWitch windows.

Одна из панелей активна и имеет справа элеватор.

 

 

Рис.   8.60.   Пример   использования   DPB-визуализатора

Размеры панелей можно изменить при помощи «мыши», захватив левой кнопкой и переместив вверх или вниз границу, их разделяющую.

Панель обязательно должна быть разделена при выполнении команды сравнения в подменю Tools. Случаи, когда разделение полезно, перечислены выше.

Если Вы имеете EGA- или VGA-видеосистему, то при желании работать с двумя панелями лучше до запуска DISKEDIT установить 43- или 50-строчный режим, например, путем выполнения командной строки NCC /43 или NCC /50 соответственно. Это существенно повысит «емкость» панелей.

После разделения единственной панели на две команда Split window заменяется на команду Unsplit window — для слияния двух панелей в одну. После слияния остается видимой активная панель. Это эквивалентно «закрытию» пассивной панели.

Команда Grow window (оперативный вариант — Shift-F6) служит для увеличения размера активной панели — так, как будто бы она является единственной. После выполнения команды пассивная панель становится невидимой, но при этом не перестает существовать.

Команда sHrink window (оперативный вариант — Shift-F7) является обратной по отношению к предыдущей команде, уменьшая размер активной панели вдвое и тем самым обеспечивая видимость пассивной панели.

Команда sWitch windows (оперативный вариант — Shift-F8) обеспечивает смену активности панелей. Активная панель становится пассивной, а пассивная — активной. Это делает обе панели полностью равноправными.

Последние три команды доступны только после разделения панели на две части.

 

Подменю Edit

Рассматриваемые здесь команды реализуют дополнительные к подменю View функции по редактированию информации на диске. Подменю Edit показано на рис. 8.61.

 

 

Рис.   8.61.   Подменю   Edit

 

Команда Undo (оперативный вариант — Ctrl-U) служит для отмены изменений, сделанных в текущем секторе, до их записи на диск.

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

Команда Undo позволяет аннулировать результаты максимум 512 изменений, причем при каждой ее выдаче отменяется только одно из них, а именно, последняя из еще оставшихся не аннулированными модификаций.

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

Команда Undo не даст положительного эффекта при выполнении команд Fill и Paste Over, когда они действуют на фрагменты более чем одного сектора.

Команда Mark (оперативный вариант — Ctrl-B) служит для выделения блока в объекте на активной панели. Блок можно выделить при отображении данных любым визуализатором, за исключением текстового. Выделенный блок специальным образом отмечается и может быть скопирован на Clipboard или заполнен кодом заданного символа.

Для выделения блока нужно установить курсор на его начало, выдать команду Mark, а затем переместить курсор на конец блока. Начать выделение блока можно и с его конца. Для отмены выделения блока еще раз выдайте команду Mark (нажмите Ctrl-B) и переместите курсор в другое место. Сделать Так, чтобы блок был выделенным, а курсор не находился на одной из его границ, Вам не удастся, да это и не требуется.

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

Команда Сору (оперативный вариант — Ctrl-C) обеспечивает копирование выделенного в активной панели блока на Clipboard. Если Clipboard была уже занята, то она предварительно автоматически очищается.

Команда Paste Over (оперативный вариант — Ctrl-V) служит для копирования в режиме замены содержимого Clipboard в объект на активной панели, начиная с текущей позиции курсора. Данная команда недоступна при использовании Text-визуализатора. Таким образом, для копирования блока из одного объекта в другой необходимо:

1) разместить исходный объект на активной панели (используя подменю Object);

2)  выделить командой Mark в этом объекте блок, подлежащий копированию;

3)  командой Сору скопировать блок на Clipboard;

4) разместить на активной панели целевой объект (при помощи подменю Object);

5)  переместить курсор в требуемую позицию этого объекта;

6)  скопировать содержимое Clipboard в целевой объект командой Paste Over.

Несмотря на то, что команда Paste Over осуществляет копирование с замещением, а не вставку, все же можно в ряде случаев реализовать последнюю операцию. Для этого следует

1)  скопировать фрагмент объекта, начиная с того места, куда нужно вставить данные, на Clipboard;

2)  напечатать вставляемую информацию;

3)  скопировать содержимое Clipboard в этот же объект за добавленными данными.                                                                  Команда Fill предназначена для заполнения выделенного на активной панели блока заданным однобайтовым кодом. После выдачи команды открывается диалоговое окно, содержимое которого зависит от используемого визуализатора. Однако в любом случае предлагается задать в качестве заполнителя символ, выбираемый из кодовой таблицы, содержащей графические образы, а также десятичные и шестнадцатеричные коды всех символов. После маркировки символа-заполнителя выдайте подкоманду ОК, и операция будет выполнена.

Команда Write changes (оперативный вариант — Ctrl-W) служит для записи изменений, сде­ланных в текущем секторе, на диск. Незаписанные изменения на активной панели выделяются. После выдачи данной команды выделение исчезает и исходные данные не могут быть восста­новлены никакими средствами, кроме как повторным редактированием. При выполнении команды будет выдано предупреждение и предложено выбрать Write для записи или Review для отмены записи. Чтобы выдать подкоманду Review, достаточно нажать клавишу Esc. При этом произойдет возврат в состояние, при котором выдана команда Write changes.

Команда Discard changes выполняет те же функции, что и Undo, однако одновременно отменяются все изменения, сделанные в текущем секторе.

 

Подменю Link

Команды подменю Link (см. рис. 8.62) наряду с другими средствами утилиты обеспечивают связывание объектов.

 

 

Рис.   8.62.   Подменю   Link

 

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

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

Возможности связывания определяются типом текущего элемента. Все поддерживаемые ути­литой логические взаимосвязи элементов объектов с другими объектами и их фрагментами приведены на рис. 8.63.

DISKEDIT реализует следующие типы связывания:

1)  явное связывание;

2)  динамическое связывание;

3)  быстрое связывание.

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

Рис. 8.63. Логические   взаимосвязи

Для динамического связывания нужно предварительно разделить панель на две части и затем выполнить команду Window в рассматриваемом подменю. После этого можно делать текущими различные элементы на активной панели и при этом на пассивной панели наблюдать наиболее значимые объекты (фрагменты объектов), связанные с ними. Наиболее значимые логические взаимосвязи показаны на рис. 8.63 двойными линиями.

Для быстрого связывания следует включить соответствующую опцию по команде Configuration из подменю Tools. Это позволит осуществлять связывание путем нажатия клавиши Enter после того, как требуемый элемент объекта сделан текущим. В данном случае так же, как и при динамическом связывании, будет выбран наиболее значимый вариант логической взаимосвязи из имеющихся в данном контексте. Однако связанный объект (фрагмент объекта) разместится на активной панели.

Теперь остановимся подробнее на командах подменю Link.

Команда File (оперативный вариант — Ctrl-F) обеспечивает доступ к содержимому файла или кластера, когда текущим элементом объекта на активной панели является имя файла в Dir-визуализаторе или элемент FAT в FAT-визуализаторе соответственно. Если текущим элементом в Dir-визуализаторе является имя каталога, то осуществляется доступ к его содержимому с ис­пользованием Dir-визуализатора.

Команда Directory (оперативный вариант — Ctrl-D) служит для доступа к элементу каталога, который описывает владельца текущего кластера в Hex- или Text-визуализаторе. На активной панели при этом может быть размещено содержимое файла, кластера или сектора в области данных. Если текущим элементом является элемент FAT в FAT-визуализаторе, то осуществляется доступ к элементу каталога, описывающему файл (каталог), владеющий этим элементом. Конечно, эта команда выполнима, если текущий кластер выделен для хранения файла (каталога).

Команда Cluster chain (оперативный вариант — Ctrl-T) обеспечивает доступ к цепочке кластеров в FAT, включающей текущий кластер в Hex- или Text-визуализаторе. На активной панели при этом может быть размещено содержимое файла, кластера или сектора в области данных. Команда выполнима только в том случае, если текущий кластер занят фрагментом файла (каталога). Если на активной панели отображено содержимое каталога Dir-визуализатором и текущим элементом является имя файла (каталога), то по данной команде осуществляется доступ к цепочке кластеров в FAT, занимаемых этим файлом (каталогом). Цепочка FAT после выполнения команды отмечается другим цветом.

Команда Partition служит для доступа к началу раздела, описываемого текущей строкой таблицы разделов в РТ-визуализаторе. Если это первичный раздел DOS, то будет отображен DPB. В случае расширенного раздела DOS будет выдана РТ из SMBR.

Команда Window доступна при разделении панели на две части и обеспечивает динамическое связывание текущего элемента на активной панели с объектом или фрагментом объекта на пассивной панели. Повторная выдача команды отменяет динамическое связывание.

Подменю Info

Команды подменю Info (см. рис. 8.64) служат для выдачи полезной справочной информации об объекте, размещенном на активной панели.

 

 

Рис.   8.64.   Подменю   Info

 

Команда Object info обеспечивает отображение именно такой информации.

Команда Drive info позволяет получить подробные сведения о текущем приводе и о диске, в нем установленном.

Команда Map of object служит для отображения карты текущего диска с выделением на ней объекта (файла, каталога или последовательности кластеров), размещенного на активной панели.

Для выдачи более подробной карты при наличии EGA- или VGA-дисплея можно до запуска

DISKEDIT выполнить командную строку NCC /43 или NCC /50 соответственно.

 

Подменю Tools

Это подменю (рис. 8.65) содержит ряд дополнительных команд сервисного и инструменталь­ного характера, дополняющих возможности утилиты. Команда cOnfigutation служит для конфи­гурирования DISKEDITa.

 

 

Рис.   8.65.   Подменю   Tools

Многие пункты данного подменю доступны только в определенных контекстах.

Команда Find (оперативный вариант — Ctrl-S) предназначена для поиска данных, т.е. специфи­цированной символьной строки, в объекте на активной панели. Объектом может быть файл, а также последовательность кластеров или секторов. После выдачи команды открывается диалоговое окно, в котором можно задать искомую последовательность символов либо в текстовом (ASCII), либо в шестнадцатеричном (Hex) виде. Кроме того, если Вы не хотите игнорировать различия одноименных строчных и прописных букв, то отмените действие опции Ignore case. Затем выдайте подкоманду Find с целью активизации операции поиска, которая будет осуществляться от позиции курсора. После обнаружения заданной строки выполнение операции завершится, найденная строка будет выделена, а курсор установится на ее начало.

Если действует автоматический выбор подходящего визуализатора и строка найдена в BR, MBR, FAT или Dir, то нужно будет явно выбрать Нех-визуализатор, чтобы ее увидеть в неизмененной форме.

Команда find aGain (оперативный вариант — Ctrl-G) обеспечивает поиск следующего вхож­дения заданной строки в объект на активной панели. Она выдается после команды Find или после предыдущего выполнения этой же команды.

Команда Write to служит для записи объекта (файла, последовательности кластеров или секторов) с активной панели в объект одного из только что перечисленных типов. В случае копирования объекта в файл последний может быть размещен на другом диске. Команда обычно используется при ручном восстановлении файлов в качестве альтернативы соответствующим средствам утилиты UNERASE. С помощью команды Write to можно скопировать объект любого размера. Используя же подменю Edit, можно осуществить копирование только на Clipboard максимум 4 Кбайт, но зато имеется возможность ограничиться блоком объекта.

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

Например, после отыскания потерянных данных можно осуществить их выделение как блока, затем скопировать блок на Clipboard, разместить Clipboard на активной панели и скопировать ее содержимое в файл. Можно и не использовать Clipboard, а вместо этого выбрать объект, содержащий потерянные данные, целиком.

При записи объекта в уже существующий файл Вам будет предложено присоединить (Append) объект к файлу или создать новый файл (Overwrite). Таким образом, копирование в файл менее безопасно.

Команда Print as (оперативный вариант — Ctrl-P) предназначена для печати объекта с активной панели в различных форматах. После выдачи команды открывается диалоговое окно, имеющее две области:

Where to print        — для указания устройства печати;

Format                   — для задания формата печати.

В области Where to print можно выбрать одну из двух возможностей:

Printer (LPT1)                 — печатать на принтере;

File                         — «печатать» в файл, спецификация которого задается после установки этой альтернативы вслед за нажатием клавиши Tab.

В области Format выбирается один из следующих вариантов:

Hex                        — Hex-формат;

Directory                — Dir-формат;

FAT                       — FAT-формат;

Boot Record           — DPB-формаг,

Partition Table        — РТ-формат.

По умолчанию предлагается формат активного визуализатора. Отметим, что Text-формат в приведенном списке отсутствует.

Команда Recalculate Partition обеспечивает вычисление значений в колонках Relative Sectors и Number of Sectors no значениям в колонках Starting Location и Ending Location таблицы разделов (см. рис. 8.59). Эти пары столбцов соответствуют различным способам нумерации секторов на диске. Команда применяется к выделенным в качестве блока строкам РТ, размещенной на активной панели и отображаемой на ней РТ-визуализатором.

Подлежащие вычислению значения должны быть установлены в нуль.

Проведенные командой вычисления облегчат модификацию РТ, которая требуется все же довольно редко. Однако если, например, «троянская» программа разрушила MBR в стартовом секторе жесткого диска, то Вы можете предпринять следующие действия:

1)  выбрать в качестве объекта весь жесткий диск;

2)  найти на нем сектор с BR, скажем, по строке MSDOS4.0;

3)  получить сведения о размещении стартового сектора логического диска;

4)  извлечь из DPB в BR параметры логического диска;

5)  поместить требуемые данные в строку РТ;

6)  довычислить недостающие в ней данные командой Recalculate Partition.

Команда Compare Windows служит для сравнения содержимого двух объектов, размещенных на различных панелях. При обнаружении несовпадения на активной панели выделяется первый байт несовпавшего фрагмента и на него устанавливается курсор. В случае полного совпадения объектов Вы получите сообщение об этом.

Команда set aTtributes позволяет установить (Set) или сбросить (Reset) любые атрибуты одновременно у группы файлов. Для этого предварительно необходимо выделить требуемые элементы каталога в Dir-визуализаторе как блок, затем выдать данную команду, после чего в открывшемся диалоговом окне произвести нужные установки и выдать подкоманду ОК. Вслед за этим следует записать изменения на диск командой Ctrl-W. Изменить атрибуты одиночного файла можно непосредственно в Dir-визуализаторе.

Команда Set Date/time обеспечивает модификацию даты и времени создания группы файлов (каталогов) одновременно. Для этого, также предварительно, необходимо выделить требуемые элементы каталога в Dir-визуализаторе как блок, ввести данную команду, в открывшемся диа­логовом окне выбрать режим смены даты и/или времени и установить их. По умолчанию предлагаются текущие дата и время. После завершения установки следует записать сделанные изменения на диск (Ctrl-W). Изменить дату и/или время создания одиночного файла (каталога) можно непосредственно в Dir-визуализаторе.

Команда Hex converter вызывает на экран дисплея преобразователь, осуществляющий перевод байтов из одного представления в другое. Поддерживается шестнадцатеричное (Hex), десятинное (Decimal)   v) символьное  (Character),   или  текстовое  представление.  Задав   в  соответствующей области открывшегося диалогового окна символ в одном из представлений, Вы немедленно получите оба других.

Команда ASCII Table служит для отображения текущей кодовой страницы дисплея (256 символов и их кодов).

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

Read Only         — для задания режима работы «только чтение» (иначе запись на диск будет разрешена);

Quick Move      — для ускорения перемещения курсора по экрану на медленных ПЭВМ (в этом случае часть статистической работы утилитой выполняться не будет);

Auto View         — для автоматического выбора наиболее подходящего визуализатора (иначе всегда будет использоваться Нех-визуализатор);

Quick Links                — для обеспечения быстрого связывания (см. подменю Link);

Quit Prompt               — для запроса подтверждения от пользователя при выходе из утилиты по нажатию клавиши Esc.

 

 

Рис.   8.66.   Диалоговое   окно   Configuration

 

Дополнительно к этому Вы можете установить один из следующих символьных фильтров:

Show all characters       — для отображения на экране всех символов, содержащихся в тексте;

View Wordstar files      — для просмотра файлов, созданных текстовым редактором Wordstar и содержащих управляющие символы (последние отображаться не будут).

Фильтр влияет на работу Hex- и Text-визуализаторов.

После задания опций и спецификации фильтра можно выбрать:

Save               для  сохранения  сделанных установок  с  целью  использования  в  последующих сеансах работы;

ОК               — для установки опций и фильтра только в текущем сеансе работы;

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

 

Подменю Quit

Это подменю служит для выхода в DOS и содержит следующие команды:

Quit Disk Doctor         — завершить работу утилиты и осуществить возврат в DOS (оперативный вариант команды — Ctrl-Q);

Shell to DOS           — осуществить временный возврат в DOS путем запуска вторичной копии КП.

В связи с тем, что пункт Quit меню утилиты разворачивается в подменю, комбинация клавиш Alt-Q не может использоваться для немедленного выхода из DISKEDITa.

 

Сводка оперативных команд

С целью удобства использования все оперативные команды, доступные на главном экране утилиты, перечислены в табл. 8.2.

Таблица   8.2

Оперативные   команды   утилиты   DISKEDIT

 

Клавиши

Основной регистр

Shift-

Ctrl-

Alt-

1

2

3

4

5

Пишущей машинки:

A

B

 

 

C

 

D

 

E

 

F

 

G

 

 

M

P

 

 

 

Q

 

R

S

 

 

 

T

 

 

U

 

V

 

W

 

 

 

пометить в FAT кластер как дефектный

 

 

 

 

поместить в FAT признак <EOF>

 

 

 

 

выделить блок/отменить выделение блока

скопировать блок на Clipboard

осуществить доступ к элементу каталога

 

осуществить доступ к файлу или кластеру

найти следующее вхождение символьной строки в объекте

напечатать объект

 

 

завершить работу

 

 

найти символьную строку в объекте

 

осуществить доступ к цепочке FAT

отменить изменения в текущем секторе

скопировать содержимое Clipboard в объект

записать изменения на диск

 

 

выбрать PT

выбрать DPB

 

выбрать последовательность кластеров

выбрать привод

 

 

 

выбрать файл

 

 

 

 

выбрать дамп памяти

выбрать последовательность секторов в терминах физической адресации

 

 

выбрать каталог

выбрать последовательность секторов в логической нумерации

 

Служебные:

Esc

отказаться, отменить, выйти

 

 

 

Enter

 

Tab

 

 

 

Alt

выбрать, быстро связать

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

раскрыть первый пункт меню

 

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

Выбрать умалчиваемую подкоманду

 

 

 

 

 

 

 

 

 

 

 

 

Функциональные:

F1

 

F2

F3

 

F4

 

F5

 

F6

 

F7

 

F8

 

F10

 

Вызвать интерактивный справочник

Выбрать Нех-визуализатор

Выбрать Text-визуализатор

Выбрать Dir-визуализатор

Выбрать FAT-визуализатор

 

Выбрать РТ-визуализатор

 

Выбрать DPB-визуализатор

 

 

 

Войти в меню и подготовиться к повторной выдаче последней команды

 

 

 

 

 

 

 

 

Разделить панель/слить панели

Расширить активную панель

Сузить активную панель

Сменить активность панелей

 

 

Выбрать первую копию FAT

Выбрать вторую копию FAT

Малой цифрой клавиатуры:

 

 

 

 

 

PgUp

 

 

PgDn

 

 

+

 

-

 

Home

 

 

End

 

 

Del

 

 

Переместить курсор вверх на одну строку

Переместить курсор вниз на одну строку

Переместить курсор влево на один символ

Переместить курсор вправо на один символ

Перейти к предыдущей странице объекта

Перейти к следующей странице объекта

Перейти к следующему сектору объекта

Перейти к предыдущему сектору объекта

Перейти к началу объекта

 

 

Перейти к концу объекта

 

Пометить в FAT кластер как дефектный

 

 

 

 

 

 

 

Переместить курсор в начало строки

Переместить курсор в конец строки

 

 

 

 

 

 

 

 

 

 

Перейти к началу текущего сектора, кластера или файла

Перейти к концу текущего сектора, кластера или файла