Текст книги "Восстановление данных"
Автор книги: Алексей Гультяев
Жанр: Базы данных, Компьютеры
сообщить о неприемлемом содержимом
Текущая страница: 24 (всего у книги 25 страниц)
2. После этого запустите утилиту DiskDoctor, которая, как и DiskEdit, входит в набор Norton Utilities.
3. Начните проверку восстанавливаемого диска, щелкнув последовательно в двух окнах на кнопках Diagnose Disk и Diagnose (рис. 7.8).
Рис. 7.8. Стартовые окнаутилиты DiskDoctor
4. На запрос об устранении найденных в Partition Table ошибок ответьте согласием, щелкнув на кнопке Yes (рис. 7.9).
Рис. 7.9. Несмотря на грозное предупреждение DiskDoctor, соглашайтесь на все
5. После внесения исправлений в искусственно созданную вами таблицу разделов DiskDoctor предложит поиск возможных дополнительных DOS-разделов (то есть разделов с файловой системой семейства FAT). Дайте согласие на это, и если данные на диске не повреждены, дополнительный раздел будет найден и после вашего подтверждения восстановлен.
Как правило, после перезагрузки компьютера данные дополнительного раздела становятся доступны без дополнительных восстановительных операций.
Восстановление удаленных и «потерянных» разделовРазделы и логические диски могут быть «потеряны» в результате повреждения таблицы разделов (PT). Поэтому зачастую процедуры «ремонта» PT и восстановления «потерянных» разделов являются звеньями одной цепи: восстановив одну из записей PT, можно отыскать на диске следующий раздел, внести его данные в соответствующую запись PT и так далее.
Ситуация несколько усложняется в том случае, если были удалены сами разделы (например, с помощью программ типа Paragon Partition Manager) либо если был отформатирован весь жесткий диск.
Особый случай – это потеря разделов в результате преобразования динамических томов в базовые.
Однако технология восстановления удаленных и «потерянных» разделов зависит не столько от причины утраты, сколько от того, является (являлся) ли удаленный раздел системным. Если нет, то все операции по восстановлению раздела можно производить непосредственно в среде ОС Windows. Причем если это Windows ХР, то в качестве основного инструмента можно использовать утилиту Управление дисками. Для Windows 98 потребуется программа, способная создавать разделы и логические диски без изменения области данных раздела. Таковыми являются, в частности, Norton Partition Magic и упоминавшийся Paragon Partition Manager (но не утилита FDISK, которая при сканировании доступного дискового пространства прописывает в первый сектор на каждом треке код F6, что приводит к потере информации в этих секторах).
Кроме того, необходимо будет вспомнить (и чем точнее, тем лучше) размер восстанавливаемого раздела.
Итак, для восстановления утраченного несистемного раздела без потери хранящихся на нем данных выполните следующие действия.
1. Создайте заново на его месте раздел такого же точно размера, не выполняя форматирование нового раздела.
2. В нулевой сектор раздела поместите копию загрузочной записи (BR) «бывшего» раздела (как ее найти и что собой представляет BR, рассказано в следующем подразделе).
Кроме того, весьма мощными средствами по отысканию и восстановлению «пропавших» разделов обладают программы Drive Rescue и EasyRecovery, рассмотренные в главе 6.
Восстановление данных в файловой системе FAT32
Порядок проверки состояния файловой системы в общем случае зависит от характера повреждения. Например, нет необходимости разбираться с MBR, если поврежден корневой каталог логического диска или таблица FAT. Тем не менее, если вы не можете определить причину неработоспособности системы или по общему характеру ситуации создалось впечатление, что «все пропало», лучше начинать диагностику с «самого верха».
Будем считать, что с помощью материала предыдущего раздела все проблемы с MBR успешно преодолены. В таком случае порядок проверки состояния разделов, представленных в таблице разделов, должен быть следующим.
1. Проверка загрузочной записи (Boot Record) раздела (логического диска).
2. Проверка состояния корневого каталога.
3. Исследование таблицы размещения файлов (FAT).
4. Проверка состояния вложенных папок и файлов.
Проверка и восстановление Boot RecordЗагрузочная запись раздела (как и логического диска в дополнительном разделе) располагается в первом секторе этого раздела (в пределах раздела этот сектор имеет относительный номер 0).
Как уже было сказано, содержимое загрузочной записи зависит от типа операци– онной системы, которая должна загружаться с этого диска (если он является системным), и от типа файловой системы, под которую отформатирован раздел.
Тем не менее в любом случае BR содержит две области данных: программу на– чальной загрузки операционной системы и блок параметров BIOS (BIOS Para– meter Block, BPB).
С помощью программы DiskEdit можно перейти на интересующий вас сектор загрузочной записи двумя способами.
Первый способ доступен, если в PT все сведения корректны. В этом случае можнопросто выбрать в таблице нужный диск, а затем в меню Link выбрать ко манду Partition.DiskEdit выведет на экран содержимое всего сектора BR в текстовом виде (рис. 7.10).
Второй способ предполагает использование сведений, полученных при просмотре таблицы разделов, а точнее – абсолютного адреса первого сектора.
Выполните следующие действия.
1. Используя текстовое представление таблицы разделов, доберитесь по ссылкам до нужного диска.
2. Чтобы получить абсолютный адрес первого сектора диска, сложите относительный номер первого сектора диска, представленный в столбце Relative Sectors (в строке ссылки EXTEND), с абсолютным номером первого сектора предшествующего диска; например, для цепочки дисков, показанной на рис. 7.6, адрес первого сектора логического диска с FAT32 будет равен: 8 193 150 + 63 = = 8 193 213; для следующего диска с FAT32: 24 579 450 + 8 193 213 = 32 772 663.
3. В меню Object выберите пункт Physical Sector.
4. В дополнительном окне введите номер первого сектора диска и щелкните на кнопке OK.
ПРИМЕЧАНИЕ ____________________
В действительности число, указанное в столбце Relative Sectors, – это размер (в секторах) предшествующего диска (раздела), и называть его относительным номером первого сектора следующего диска вынуждает лишь наименование этого столбца таблицы.
DiskEdit выведет на экран содержимое всего сектора BR в шестнадцатеричном коде (рис. 7.11).
Рис. 7.11. Представление первого сектора логического диска в шестнадцатеричном коде
Чтобы получить текстовое представление только блока BPB, выполните следующие действия.
1. Выделите четвертый байт от начала сектора (первые три байта сектора занимает команда перехода на начало программы загрузки), как показано на рис. 7.11.
2. В меню View выберите пункт as Boot Record(32) (в виде загрузочной записи для FAT32).
Распределение пространства первого сектора логического диска представлено в табл. 7.3.
ПРИМЕЧАНИЕ
Поля BPB со смещением от начала сектора 44 байта и более на первом экране утилиты DiskEdit не умещаются. Чтобы ихувидеть, воспользуйтесь полосой прокрутки.
Восстановление BR системного и/или загрузочного раздела для Windows 98 может быть выполнено в «ручном» либо в «автоматическом» режиме.
ПРИМЕЧАНИЕ ____________________
Восстановление загрузочной записи системного раздела необходимо производить, загрузив систему с помощью загрузочного гибкого диска. Для других разделов соблюдение этого требования не обязательно, но желательно.
Для «автоматического» решения проблемы можно воспользоваться одной из двух команд:
SYS <букеа диска> – обеспечивает запись BR в загрузочный сектор раздела, а также копирование в корневой каталог трех системных файлов: Msdos.sys, Io.sys и Command.com;
FORMAT <букеа диска> – обеспечивает формирование файловой структуры указанного раздела диска с воссозданием BR, чистых таблиц FAT и корневого каталога (Root Directory); область данных при этом не затрагивается.
Если же восстановление загрузочной записи при помощи команд SYS и FDISK невозможно, следует попробовать заменить загрузочный сектор либо его резервной копией, взятой из сектора 6 этого же раздела, либо (в крайнем случае) копией загрузочной записи другого раздела, имеющего идентичную геометрию.
Для выполнения процедуры замены целесообразно использовать утилиту Norton DiskEdit. С ее помощью выполните следующие действия.
1. После того как DiskEdit завершит сканирование и выведет на экран список обнаруженных устройств, в списке Type (Тип) поставьте переключатель в положение Physical Disk (Физический диск).
2. В списке устройств выберите физический диск, который требуется исследовать.
3. В меню View (Вид) выберите пункт as Partition Table (в виде таблицы разделов).
4. В строке таблицы разделов, соответствующей восстанавливаемому разделу, посмотрите и запишите номер первого сектора раздела (значение в столбце Relative Sectors). Если вас интересует логический диск на дополнительном разделе, доберитесь до нужной записи в соответствующей дополнительной таблице разделов, как было описано выше.
5. К зафиксированному номеру сектора прибавьте 6, чтобы получить абсолютный номер сектора с резервной копией BR.
6. В меню Object выберите пункт Physical sector.
7. В дополнительном окне (рис. 7.12) введите в поле Starting Sector (Начальный сектор) вычисленный номер резервного загрузочного сектора, а в поле Number of Sectors (Количество секторов) – значение 1 и щелкните на кнопке OK^u получите шестнадцатеричное представление резервного загрузочного сектора.
Рис. 7.12. Переход к резервной копии загрузочного сектора
8. Чтобы убедиться в целостности резервного сектора, переключитесь в текстовый режим просмотра, и затем вернитесь к шестнадцатеричному представлению.
9. В меню Tools с помощью команды Configuration переведите DiskEdit в режим редактирования.
10. В меню Edit выберите команду Mark (Пометить) и затем с помощью клавиш управления курсором выделите содержимое всего сектора (если сектор был открыт правильно, DiskEdit не пустит вас за его пределы).
Рис. 7.13. Выбор типа заменяемого объекта
11. В меню Tools выберите команду Write Object To… (Записать объект в…)ивдо-полнительном окне (рис. 7.13) переведите переключатель в положение To Sectors… (В секторы…). Обратите внимание, что если вы выберите здесь вариант To Physical sectors. (В физические секторы.), то в следующем окне вам придется указывать адрес восстанавливаемого загрузочного сектора в адресации CHS.
12. В следующем окне (рис. 7.14) введите в поле Starting Sector (Начальный сектор) относительный адрес восстанавливаемого загрузочного сектора (он равен 0) и в ответ на запрос DiskEdit подтвердите свои намерения. Загрузочный сектор будет заменен его копией.
Рис. 7.14. Последний шаг в замене загрузочного сектора
Чтобы убедиться в успешности выполненной процедуры, откройте восстановленный загрузочный сектор в текстовом режиме и проверьте значения полей в соответствии с табл. 7.3.
Исследование корневого каталогаВслед за загрузочной записью находятся две копии таблицы размещения файлов FAT и корневой каталог. Переходить к исследованию FAT имеет смысл лишь в том случае, когда соответствующий раздел (или логический диск) корректно опознается системой, то есть и в таблице разделов для него представлены корректные сведения, и загрузочная запись диска корректна.
Поэтому для исследования внутренней структуры раздела целесообразно использовать другой режим DiskEdit – работу с логическими устройствами (Logical disk).
Для перехода в новый режим выберите в меню Object пункт Drive (Устройство). После того как DiskEdit завершит сканирование, установите переключатель режимов в положение Logical disks и затем выберите в списке логических дисков тот, с которым вы собираетесь работать (рис. 7.15).
Рис. 7.15. Список логических дисков
После этого DiskEdit начнет сканирование диска с целью определения структуры файловой системы и построения полного дерева папок и файлов. Чтобы получить сведения о FAT и корневом каталоге, не обязательно дожидаться полного завершения сканирования, можно его прервать через несколько секунд после начала, нажав клавишу Esc. После получения от вас подтверждения о прекращении сканирования DiskEdit выведет на экран содержимое корневого каталога в текстовой форме (рис. 7.16).
Рис. 7.16. Корневой каталог
Если DiskEdit по какой-то причине не смог самостоятельно обнаружить корневой каталог, попробуйте перейти к нему по относительному адресу его первого сектора. Номер этого сектора можно определить по значению поля First cluster of Root блока BPB. Кроме того, при поиске корневого каталога необходимо учитывать следующее.
Корневой каталог (как и любой другой каталог в FAT32) содержит 32-байтовые элементы – дескрипторы, описывающие файлы и вложенные каталоги.
Первый дескриптор корневого каталога содержит сведения о логическом диске (точнее говоря, о самом корневом каталоге), в том числе: метку тома, дату и время создания, атрибуты каталога как элемента файловой системы. Остальные дескрипторы, хранящиеся в корневом каталоге, содержат большее количество сведений о связанных с ними элементах данных. Все они не умещаются на одном экране DiskEdit. Для их пролистывания следует использовать команду More (Еще), расположенную в строке меню окна.
Мы ограничимся описанием лишь наиболее важных полей дескриптора, которые представлены на первом экране:
Name – имя элемента данных (файла или папки); если элемент данных отмечен как удаленный, то в качестве первого символа имени используется байт E5 (в текстовом формате DiskEdit заменяет его буквой х);
Ext – расширение файла (для папок это поле пусто);
ID – тип элемента данных; возможные значения:
Vol – том;
Dir – каталог;
LFN – аббревиатура от Long File Name, длинное имя файла (об LFN см. главу 3, раздел «Выбор имен папок и файлов»);
File – файл;
Erased – удален (указывается только для файлов);
Del LFN – удаленное длинное имя (признак устанавливается после переименования файла или папки);
Size – размер (в байтах);
Date – дата создания или изменения;
Time – время создания или изменения;
Cluster – номер первого кластера;
A, R, S, H, D, V – атрибуты элемента данных (архивный, только чтение, системный, скрытый, каталог, том); значения всех атрибутов хранятся в одном байте дескриптора.
Чтобы просмотреть содержимое какого-либо вложенного каталога, переместите курсор в соответствующую строку и нажмите клавишу Enter.
Если сведения о корневом (или вложенном) каталоге, представленные DiskEdit, кажутся вам «подозрительными», можно попробовать интерпретировать записанные в нем данные самостоятельно, переключившись в режим просмотра шестна-дцатеричного кода. Для этого в меню View выберите пункт as Hex. Формат дескриптора каталога представлен в табл. 7.4.
Анализируя полученную информацию, вы можете обнаружить подозрительные изменения в полях размера файла, даты и времени. При необходимости их можно исправить «вручную».
Кроме того, для каждого файла в столбце Cluster отображается номер распределенного ему первого кластера. Следует просмотреть весь каталог до конца: необходимо проверить, что в каталоге отсутствуют посторонние данные. Они могут быть записаны туда вирусом.
Если перейти в режим неформатированного просмотра, можно убедиться, что свободные элементы каталога содержат нулевые значения. Если же после свободных элементов находятся какие-либо данные, существует очень большая вероятность того, что они записаны туда вирусом или системой защиты программ от несанкционированного копирования (если исследуемый каталог содержит такие программы).
В том случае, когда каталог поврежден полностью или частично, ссылки на описанные в нем файлы будут потеряны. Если вы найдете тем или иным способом секторы, содержащие нужный вам файл с разрушенным дескриптором, то, пользуясь описанной ниже методикой, сможете восстановить дескриптор и получить доступ к файлу.
Процедура основана на использовании функций DiskEdit по поиску различных элементов файловой системы FAT.
Например, чтобы найти потерянные каталоги (такие, на которые нет ссылок из других каталогов, в том числе из корневого), требуется выполнить следующее.
1. В меню Tools выберите команду Find Object (Найти объект), а в дополнительном меню выберите вариант Subdirectory (Подкаталог).
2. Программа DiskEdit просматривает секторы диска в поисках такого, в начале которого находится последовательность байтов 2Е 20 20 20 20 20 20 20 20 20 20. Эта последовательность соответствует дескриптору, содержащему ссылку каталога на себя самого.
3. Нажимая комбинацию клавиш Ctrl+G, вы можете продолжить поиск нужного каталога, пока не найдете тот, который содержит интересующие вас файлы.
4. Как только нужный каталог найден, необходимо записать физический адрес сектора диска, содержащего каталог, а затем найти либо вычислить номер кластера, соответствующего каталогу.
Для поиска номера кластера, в котором располагается найденный каталог, перейдите в режим текстового просмотра каталога, выбрав в меню View пункт as Directory. Затем в меню Link выберите команду Cluster chain (fat) (Цепочка кластеров (fat)). На экране появится содержимое таблицы FAT в текстовом режиме просмотра, при этом искомый номер кластера будет выделен.
Зная номер кластера потерянного каталога, можно создать новый дескриптор каталога, например, в корневом каталоге диска, и сделать в этом дескрипторе ссылку на найденный каталог. После этого потерянный каталог вновь станет доступным.
Исследование FATМежду загрузочным сектором и таблицей размещения файлов FAT могут находиться зарезервированные секторы, которые являются служебными для файловой системы или не используются.
Количество секторов, зарезервированных на логическом диске, можно узнать из блока параметров BIOS (BPB или Extended BPB, в зависимости от версии операционной системы). Искомое значение находится в поле Reserved sectors at beginning этого блока (смещение 3 байта).
Если зарезервирован только один сектор, то первая копия таблицы размещения файлов FAT располагается сразу вслед за загрузочным сектором. Именно загрузочный сектор в данном случае и является зарезервированным.
Когда зарезервировано несколько секторов, между загрузочным сектором и первой копией таблицы FAT может находиться еще несколько секторов, содержащих нулевые значения. Если компьютер заражен вирусом, в этих секторах может быть спрятано тело вируса или копия оригинальной загрузочной записи, замещенной вирусом.
Информация, представленная в корневом каталоге, должна соответствовать сведениям о распределении кластеров области данных, хранящимся в обеих копиях FAT.
Чтобы сравнить значения полей Cluster и Size дескриптора некоторого элемента данных с информацией в FAT, выполните следующие действия.
1. Откройте в текстовом режиме корневой каталог интересующего вас логического диска и переместите курсор в соответствующую строку.
2. В меню Link выберите команду Cluster chain (Цепочка кластеров).
DiskEdit откроет первую копию FAT и выделит в ней черным прямоугольником номер первого кластера объекта, а также подсветит красным все остальные распределенные объекту кластеры (рис. 7.17).
Визуально таблица размещения файлов должна содержать в основном монотонно изменяющиеся последовательности номеров кластеров, нулевые значения, соответствующие свободным кластерам, а также значение 0xFFFF (0xFFF для FAT12 или 0xFFFFFFFF для FAT32), которое является признаком конца цепочки кластеров.
В результате программной ошибки или работы вируса таблица FAT может быть либо полностью разрушена, либо изменена (например, зашифрована или прописана нулями). Если цепочка кластеров для нужного вам файла разрушена частично или полностью, восстановление такого файла может стать непростой задачей. В этом случае можно попробовать воспользоваться инструментами восстановления данных, рассмотренными в четвертой главе книги.
Рис. 7.17. Просмотр FAT
Если они не помогут, вновь вернитесь к работе с DiskEdit. Чтобы найти таблицу FAT не по адресу, а по ее содержимому, выполните следующее.
Выберите в меню Tools команду Find Object и затем строку FAT. Программа DiskEdit выполнит поиск первой копии таблицы FAT и отобразит ее дамп, выделив в нем первые три байта.
Если теперь сместить текстовый курсор вниз или нажать клавишу PgDn, а затем выбрать повторно в меню Tools команду Find Object FAT еще раз, будет найдена вторая копия таблицы FAT.
Если любая из копий таблицы FAT корректна, то для быстрого перехода к одной из них можно использовать имеющиеся в меню Object команды 1st FAT и 2nd FAT.
Правообладателям!
Это произведение, предположительно, находится в статусе 'public domain'. Если это не так и размещение материала нарушает чьи-либо права, то сообщите нам об этом.