Восстановление загрузочного сектора mbr. Восстановление загрузочного сектора жесткого диска

💖 Нравится? Поделись с друзьями ссылкой

Привет всем! Сегодня я расскажу о достаточно распространенной проблеме операционных систем семейства Windows Vista/7/8/8.1/10 — нарушение целостности загрузчика MBR. Как бы не старалась Microsoft учесть возможные проблемы работы своего ПО, предусмотреть все еще на этапе разработки и тестирования наверное невозможно. Добавляют проблем к стабильности работы разнообразные сторонние загрузчики (активаторы, другие версии операционных систем, вирусы).

Что необходимо для восстановления загрузчика.

  1. Установочный носитель Windows Vista/7/8/8.1/10.
  2. Пользователь.
  3. Привод DVD.

Приступим!

Самый простой способ восстановить загрузчик. Для работы со средством восстановления запуска необходимо сначала запустить среду восстановления Windows RE.

Для этого:

  • Настройте BIOS на загрузку с установочного носителя.
  • Выберите пункт Восстановление системы .

  • Далее .
  • В диалоговом окне выберите пункт Восстановление запуска .

  • Следуйте дальнейшим инструкциям.

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

Если проблема осталась, приступим к дальнейшим действиям.

Сейчас мы рассмотрим восстановление загрузочной записи MBR с помощью штатных средств операционной системы. Которые идут либо в составе установочного диска, либо как компонент операционной системы. А именно BOOTREC.EXE и BOOTSECT .

BOOTREC.EXE — средство восстановления загрузочной записи. Поддерживает перечисленные ниже параметры, из которых можно выбрать наиболее подходящий.

Этот параметр записывает в системный раздел основную загрузочную запись, совместимую с Windows 7 или Windows Vista. Он не перезаписывает существующую таблицу разделов. Данный параметр следует использовать для устранения проблем, связанных с повреждением основной загрузочной записи, или если необходимо удалить из основной загрузочной записи нестандартный код.

/FixBoot

Это параметр записывает новый загрузочный сектор в системный раздел, используя загрузочный сектор, совместимый с Windows Vista или Windows 7. Этот параметр следует использовать, если выполняется хотя бы одно из перечисленных ниже условий.

  • Загрузочный сектор заменен на нестандартный загрузочный сектор Windows Vista или Windows 7.
  • Загрузочный сектор поврежден.
  • После установки Windows Vista или Windows 7 на компьютер была установлена более ранняя версия операционной системы Windows. В данном случае для запуска компьютера вместо диспетчера загрузки Windows (Bootmgr.exe) используется загрузчик Windows NT (NTLDR).

Этот параметр выполняет на всех дисках поиск установленных систем, совместимых с Windows Vista или Windows 7. Он также отображает все записи, не включенные в хранилище данных конфигурации загрузки. Этот параметр следует использовать в том случае, если на компьютере присутствуют установленные операционные системы Windows Vista или Windows 7, которые не отображаются в меню диспетчера загрузки.

/RebuildBcd

Этот параметр выполняет на всех дисках поиск установленных систем, совместимых с Windows Vista или Windows 7. Кроме того, он позволяет выбрать установленные системы, которые необходимо добавить в хранилище данных конфигурации загрузки. Этот параметр следует использовать в том случае, если необходимо полностью перестроить хранилище данных конфигурации загрузки.

Приступим!

Для работы со средством Bootrec.exe необходимо сначала запустить среду восстановления Windows RE.

  • Вставьте установочный диск Windows 7 или Windows Vista в DVD-дисковод и включите компьютер.
  • При появлении запроса нажмите клавишу.
  • Выберите пункт Восстановить компьютер .
  • Укажите операционную систему, которую требуется восстановить, и нажмите кнопку Далее .
  • В диалоговом окне Параметры восстановления системы выберите пункт Командная строка .
  • Введите команду Bootrec.exe и нажмите клавишу ВВОД . Появится полный список возможностей.
  • Запишите сектор MBR, для чего есть команда

Bootrec.exe /FixMbr ;

  • Об успешном завершении операции после нажатия Enter компьютер оповестит пользователя в следующей строчке;
  • Далее проведите процедуру записи нового сектора загрузки, для чего введите

Bootrec.exe /FixBoot ;

  • Останется только ввести Exit и попытаться перезагрузить компьютер.

Если нет, опишем, как восстановить загрузчик Windows другим способом с использованием этой же программы:

  • Войдите в командную строку с установочного диска или флешки.
  • Введите Bootrec /ScanOs, после чего утилита про сканирует компьютер на предмет наличия операционной системы.

Bootrec /ScanOs

  • Напишите в следующей строке команду Bootrec.exe /RebuildBcd, программа предложит внести в меню запуска все найденные версии Windows, включая XP и другие.

Bootrec.exe /RebuildBcd

  • Останется с этим согласиться, нажав последовательно Y и Enter, после чего при загрузке системы вы будете иметь выбор, какую из ОС загрузить - XP или семерку.

Если и это не помогло. Устранить проблему с MBR можно и еще одной командой. Для этого в командной строке нужно ввести bootsect /NT60 SYS , затем Enter.

Команда BOOTSECT позволяет записывать заданный программный код загрузочных секторов, обеспечивающих загрузку либо ntldr , либо bootmgr .

Формат командной строки:
bootsect {/help|/nt60|/nt52} {SYS|ALL|< DriveLetter >:}

Параметры командной строки Bootsect:
/help — отображение справочной информации;
/nt52 — запись программного кода загрузочного сектора, обеспечивающего использование загрузчика ntldr для операционных систем, предшествующих Windows Vista.
/nt60 — запись программного кода в загрузочные секторы для обеспечения загрузки файла bootmgr — диспетчера загрузки Windows Vista/Server 2008 и более поздних ОС семейства Windows.
SYS — запись будет выполнена в секторы системного раздела загрузки Windows, в среде которой выполняется данная команда.
ALL — запись программного кода будет выполнена для всех существующих разделов, которые могут быть использованы для загрузки Windows.
DriveLetter — буква диска, для которого будет выполнена перезапись программного кода загрузочных секторов.
/force — принудительное отключение используемых другими программами томов дисков для обеспечения монопольного доступа утилиты bootsect.exe
/mbr — изменение программного кода главной загрузочной записи (MBR — Master Boot Record) без изменения таблицы разделов диска. При использовании с параметром /nt52, MBR будет совместима с предшествующими Windows Vista версиями, При использовании с параметром /nt60 — MBR будет совместима с операционными системами Windows Vista и более поздними.

bootsect /nt52 E: — создать для диска E: загрузочные записи для операционных систем Windows XP/2000/NT, т.е для загрузки на базе ntldr;
bootsect /nt60 /mbr C: — изменить загрузочные сектора диска C: для обеспечения загрузки диспетчера bootmgr, а это Windows Vista/7/8/8.1/10;
bootsect /nt60 SYS — изменение загрузочных секторов для раздела, с которого выполнена загрузка текущей ОС Windows.

Так же попробуем использовать команду BCDBOOT . Это средство, которое используется для создания системного раздела или восстановления среды загрузки, расположенной в системном разделе. Системный раздел создается посредством копирования небольшого набора файлов среды загрузки из установленного образа Windows®. Средство BCDBOOT создает хранилище данных конфигурации загрузки (BCD ) в системном разделе с новой загрузочной записью, которая позволяет загружать установленный образ Windows.

Страница 8 из 8

Глава 7
Восстановление данных на жестких дисках

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

Восстановление логической структуры диска

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

ПРИМЕЧАНИЕ
Вам потребуется значительно меньше времени и терпения, если высумеете вспомнить хотя бы самые основные параметры диска: количество, порядок следования и размеры разделов, а также тип файловой системы на каждом из них.

Восстановление главной загрузочной записи

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


«Лечение» секторов необходимо производить только при условии отсутствия вируса в оперативной памяти. Если копия вируса в памяти не обезврежена, то вполне вероятно, что вирус повторно заразит гибкий диск или винчестер после удаления кода вируса.
Теперь собственно о процедуре восстановления. Как вы знаете, главная загрузочная запись (MBR) присутствует на любом сконфигурированном физическом диске. Однако код программы начальной загрузки в MBR зависит от того, какой ОС создавалась главная загрузочная запись. То есть MBR, созданная при инсталляции Windows 98, отличается от MBR, созданной при инсталляции Windows XP или Linux (подробнее об этом см. главу 5, раздел «Устранение проблем с загрузкой системы»). Содержимое загрузочной записи раздела зависит, кроме того, от типа созданной на этом разделе файловой системы. При выборе средств для восстановления MBR и BR разделов обязательно следует учитывать указанные факторы. Поэтому процедуры восстановления MBR и BR рассмотрены ниже раздельно для Windows 98 и Windows XP.
Восстановление MBR для Windows 98
Прежде чем пытаться восстановить MBR, следует убедиться в необходимости этой процедуры. Для проверки состояния MBR целесообразно использовать утилиту Norton DiskEdit.
ПРИМЕЧАНИЕ
Несмотря на появление все новых программных инструментов для «лечения» файловых систем, многие опытные пользователи предпочитают применять для исправления серьезных ошибок программу Norton DiskEdit. Объясняется это тем, что DiskEdit предоставляет удобные средства просмотра всех элементов структурыфайловой системыи, кроме того, способна предотвратить некорректные изменения этих элементов в процессе восстановления. По указанной причине мыбудем использовать в качестве иллюстраций к излагаемому материалу «снимки» структуры файловой системы, полученные с помощью DiskEdit. Это поможет вам одновременно осваивать возможности DiskEdit.
Чтобы получить доступ ко всем функциям DiskEdit, требуется запустить программу в режиме DOS. Поэтому предварительно необходимо подготовить загрузочный гибкий диск.
СОВЕТ ____________________
Если имеющаяся в вашем распоряжении версия DiskEdit записана на компакт-диске, следует иметь «стандартный» вариант загрузочного гибкого диска, обеспечивающий поддержку CD-привода. Если же предполагается запускать DiskEdit с гибкого диска, можно либо создать «усеченный» вариант загрузочного диска и записать на него файл DiskEdit.exe (он занимает около 700 Кбайт), либо подготовить отдельный гибкий диск с DiskEdit.
Чтобы выбрать с помощью DiskEdit жесткий диск, подлежащий проверке, выполните следующие действия.
1. Загрузите компьютер с гибкого диска в режиме DOS и запустите программу DiskEdit; программа предупредит вас, что она работает в режиме Read Only (Только чтение) с целью защиты данных от случайного редактирования (как изменить режим работы, сказано далее).
2. Щелкните на кнопке Continue (Продолжить), чтобы продолжить работу. Disk-Edit выполнит сканирование дисков с целью определения структуры файловой системы.
3. После завершения сканирования DiskEdit выведет на экран список обнаруженных устройств (рис. 7.1). По умолчанию DiskEdit отображает список логических дисков. Если же таблица разделов повреждена настолько, что ни один из логических дисков не опознан, выводится список обнаруженных физических дисков.
4. В списке Type (Тип) поставьте переключатель в положение Physical Disk (Физический диск).
5. В списке устройств выберите физический диск, который требуется исследовать.

Рис. 7.1.Список устройств, обнаруженных DiskEdit
Физически MBR занимает самый первый сектор жесткого диска (цилиндр 0, головка 0, сектор 1).

ПРИМЕЧАНИЕ
В дальнейшем для краткости будем использовать следующие обозначения: C номер цилиндра, Н – номер головки, S – номер сектора.
Чтобы перейти к нужному сектору, выполните следующие действия.
1. В меню Object (Объект) выберите пункт Physical Sector (Физический сектор).
2. В дополнительном окне (рис. 7.2) введите номер сектора и щелкните на кнопке OK.

Рис. 7.2.Выбор физического сектора
По умолчанию DiskEdit отображает содержимое сектора в шестнадцатеричном коде (режим as Hex) (рис. 7.3).


Рис. 7.3. Представление MBR в шестнадцатеричном коде
В этом представлении каждая пара шестнадцатеричных цифр соответствует одному байту.
ВНИМАНИЕ
Если значение некоторого параметра занимает более одного байта, то в шестнадцате-ричном представлении параметра его старший байт расположен справа, а младший – слева. Например, сигнатура завершения таблицыразделов, АА55, в шестнадцатеричном представлении выглядит как 55 АА.
Первые байты сектора должна занимать программа начальной загрузки. Визуально отличить «нормальную» программу от поврежденной весьма сложно (особенно в том случае, если вы ее вообще первый раз видите). В качестве косвенного признака исправного состояния программы начальной загрузки может служить наличие в ней текстовых диагностических сообщений (типа Geom. Hard. Disk). Их можно увидеть в крайнем правом столбце окна, который содержит символьное (текстовое) представление данных. Еще один косвенный признак – это размер программы. Она должна занимать приблизительно три четверти сектора (446 байт, или 1BE байт в шестнадцатеричной системе) и отделяться от таблицы разделов нулевыми байтами.
Распределение пространства первого сектора жесткого диска представлено в табл. 7.1.
Наконец, наличие корректной таблицы разделов может говорить о том, что первый сектор (сектор 0) в целом не поврежден (или поврежден незначительно). О том, как оценить состояние PT, сказано далее.

Если вы считаете, что программа начальной загрузки требует «лечения», можно использовать следующие методы:
если имеется электронная копия MBR («снятая», например, с аналогичного жесткого диска), можно заменить ею испорченную MBR;
выйти из DiskEdit и в командной строке ввести инструкцию FDISK /MBR; это
приведет к обновлению MBR, но таблица разделов останется в прежнем виде;
при наличии «эталонного» варианта программы, записанного, например, на листе бумаги, и незначительных искажениях можно отредактировать MBR вручную.
В большинстве случаев для восстановления MBR достаточно обновить ее командой FDISK /MBR. Процедура состоит из следующих действий.
1. С помощью программы BIOS Setup убедитесь, что в качестве первого загрузочного устройства указан дисковод FDD.
2. Загрузите компьютер с помощью загрузочного гибкого диска.
3. В командной строке введите FDISK /MBR.
4. Извлеките гибкий диск и выполните перезагрузку системы.

ВНИМАНИЕ
Будьте осторожныпри использовании FDISK /MBR, если повреждение MBR обусловлено воздействием вируса. Дело в том, что эта команда заново переписывает код программы-загрузчика системы и не изменяет таблицу разделов (Partition Table). Если вирус шифрует Partition Table или использует нестандартные способы заражения, FDISK /MBR может привести к полной потере информации на диске. Поэтому перед запуском FDISK /MBR убедитесь в корректности Partition Table. Для этого требуется загрузиться с незара-женного гибкого DOS-диска и проверить корректность этой таблицы(процедура проверки и восстановления PT описана в подразделе «Восстановление таблицыразделов»).
При использовании FDISK необходимо учитывать, что данная утилита не может работать с дисками объемом больше 64 Гбайт.
Чтобы произвести «ручную» правку MBR, необходимо перевести DiskEdit в режим редактирования. Для этого выполните следующие действия.
1. В меню Tools (Сервис) основного окна выберите пункт Configuration (Конфигурация).
2. В открывшейся панели настроек снимите флажок возле пункта Read Only (Только чтение) и щелкните на кнопке OK.
ПРИМЕЧАНИЕ
Для изменения состояния флажков и переключателей в DiskEdit следует использовать клавишу <Пробел>.
После дополнительного подтверждения о смене режима DiskEdit сохранит новые параметры и выполнит повторное сканирование диска. Чтобы вернуться к первому сектору, выполните еще раз описанную выше последовательность действий.
Восстановление MBR для Windows XP
С помощью DOS-команды FDISK /MBR невозможно восстановить MBR, созданную при инсталляции Windows XP.
Для решения этой задачи следует использовать команду fixmbr, которая доступна из консоли восстановления Windows XP. Команда имеет следующий формат:
fixmbr [имя_диска], где имя_диска – это обозначение диска, на который требуется записать новую MBR. Имя диска может выглядеть следующим образом: \Device\HardDisk0.
Так новая MBR записывается на указанный диск: fixmbr \Device\HardDisk0.
ПРИМЕЧАНИЕ
Для получения имени диска можно воспользоваться командой map, которая также доступна в среде Консоли восстановления (рис. 7.4).

Рис. 7.4. Представление имен дисков командой map

ВНИМАНИЕ
Если параметр имя_устройства не указан, новая MBR будет записана на диск, с которого загружается основная ОС.
Если при выполнении команды fixmbr будет обнаружена неправильная или нестандартная подпись таблицы разделов, то на экран выводится запрос подтверждения продолжения работы. Если доступ к дискам осуществляется без сбоев, то на запрос следует ответить отрицательно.
ВНИМАНИЕ
Запись новой MBR на диск с системным разделом может привести к повреждению таблиц разделов, в результате чего разделы могут стать недоступными.
Проверка и восстановление таблицы разделов
Чтобы оценить состояние таблицы разделов (PT), выполните следующие действия.
1. С помощью DiskEdit откройте первый сектор диска, как было описано ранее.
2. В меню View (Вид) выберите пункт as Partition Table (в виде таблицы разделов).
Информация, которая появится на экране, существенно зависит от состояния PT. В любом случае DiskEdit попытается представить данные, расположенные там, где должна находиться PT, в виде таблицы. Если PT более или менее корректна, то она должна выглядеть приблизительно так, как показано на рис. 7.5.

Рис. 7.5. Представление таблицы разделов в текстовой форме

Столбцы таблицы, выводимой DiskEdit, означают следующее:
System (Система) – тип файловой системы или раздела; расширенный (дополнительный) раздел обозначается как EXTNDx; элемент дополнительной таблицы разделов, ссылающийся на следующий логический диск, имеет метку EXTEND;
Boot (Загрузка) – признак загрузочного раздела; если раздел является загрузочным, для него выводится значение Yes, в противном случае – No;
Starting Location (Начальное положение) – адрес первого сектора раздела, заданный номером головки, цилиндра и сектора;
Ending Location (Конечное положение) – адрес последнего сектора раздела, заданный номером головки, цилиндра и сектора;
Relative Sectors (Относительный сектор) – номер первого сектора раздела в соответствии с адресацией LBA (то есть при «сквозной» нумерации по головкам, цилиндрам и секторам);
Number of Sectors (Количество секторов) – размер раздела, измеренный в секторах (напомним, сектор имеет размер 512 байт).

Чтобы просмотреть цепочку ссылок на логические диски, размещенные внутри расширенного раздела, выполните следующие действия.
1. Переместите курсор в строку, соответствующую расширенному разделу.
2. В меню Link (Ссылка) выберите пункт Partition (Раздел).
3. Если в столбце System появился элемент-ссылка (с меткой EXTEND), повторите для него шаги1и2, чтобы перейти к следующему логическому диску (рис. 7.6).

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

Если отображаемые DiskEdit параметры PT говорят о наличии ошибок в ней и вам известна геометрия разделов жесткого диска, то можете отредактировать записи PT «вручную» (то есть с помощью DiskEdit), прямо в таблице.
Если же повреждения PT столь велики, что представленная в таблице информация вообще не поддается разумной интерпретации, можно попробовать другой метод анализа. Откройте PT в виде шестнадцатеричного кода (для этого выберите команду View as Hex) и сравните содержащиеся в PT данные с приведенными в табл. 7.2.

Из всех перечисленных полей некое предопределенное значение может иметь лишь байт, содержащий код типа раздела. Например, для первичного раздела с файловой системой FAT32 этот код должен быть равен 0Ch, для логического диска с FAT32 в расширенном разделе он равен 0Bh, а для NTFS – 07h.

СОВЕТ
Достаточно обширный список наиболее распространенных кодов вы можете получить, если в программе ParagonPartitionManager вы берете для какого-либо раздела команду Изменить partition id (рис. 7.7).

Сектор таблицы логических дисков, в отличие от сектора главной загрузочной записи, практически пуст. Все байты в нем от начала и до байта со смещением 1BDh включительно должны содержать нулевое значение. Начиная со следующего байта (со смещением 1BEh) располагается дополнительная таблица разделов (Extended PT), состоящая из двух элементов. В конце сектора располагается уже знакомая вам сигнатура – значение AA55h. Структура элементов Extended PT полностью аналогична структуре элементов основной таблицы разделов.
В некоторых (особо тяжелых) случаях можно использовать следующий довольно экстремальный метод, который, впрочем, часто дает положительные результаты.
1. С помощью DiskEdit скопируйте в загрузочный сектор восстанавливаемого диска содержимое MBR и Partition Table с любого исправного диска. Затем, очистив (прописав нулями) все записи PT, кроме первой, отредактируйте ее, внеся заведомо искаженную информацию о конечном размещении раздела (например, 9999-й цилиндр) и общем количестве секторов (например, 99999999).
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.

Восстановление данных в файловой системе NTFS

Как вы уже знаете из материала главы 3, файловая система NTFS содержит целый ряд механизмов, призванных повысить надежность хранения данных. Это, в свою очередь, ведет к существенному усложнению структуры NTFS по сравнению с FAT32. Даже детальное изучение структуры записей, хранящихся в MFT (главной таблице файлов), не гарантирует возможность восстановления данных «вручную».
Ситуация усугубляется тем, что на сегодняшний день практически отсутствуют инструменты, обеспечивающие удобные средства просмотра и редактирования MFT.
По указанной причине мы ограничим круг рассматриваемых вопросов следующими ситуациями:
восстановление элемента таблицы разделов, содержащего сведения об NTFS-разделе;
восстановление загрузочного сектора логического диска с NTFS;
восстановление служебной информации в MFT.
Перечисленные задачи можно решить посредством совместного использования уже знакомых вам инструментов: Norton DiskEdit и Paragon Partition Manager, а также утилиты Partition Table Editor, входящей в состав пакета Norton PartitionMagic.

Восстановление элемента таблицы разделов

Имеется в виду ситуация, когда операционной системе Windows XP при загрузке не удается опознать логический диск с NTFS вследствие повреждения описывающего его (диск) элемента таблицы разделов. Чтобы получить более полное представление о возникшей ситуации, целесообразно запустить утилиту Norton Partition Table Editor.

ПРИМЕЧАНИЕ
Утилита Norton Partition Table Editor (в дальнейшем для краткости будем называть ее PTEdit) состоит из единственного исполняемого файла – PTEDIT.exe. Ее особенность состоит в том, что она при запуске обеспечивает перевод системыв однозадачный режим (за счет загрузки собственной DOS). Однако для работыс NTFS-разделами ее лучше запускать либо из средыWindows 98, либо из среды «настоящей» MS DOS, например, с гибкого диска. Размер файла PTEDIT.exe – около 500 Кбайт.
После запуска PTEdit на экране появится диалоговое окно, с помощью которого можно просмотреть и отредактировать основные параметры любого элемента таблицы разделов выбранного физического диска (рис. 7.18).
Выбор физического диска выполняется с помощью раскрывающегося списка Hard Disk (Жесткий диск).
Строки расположенной ниже таблицы соответствуют четырем элементам основной таблицы разделов. В столбцах выводятся следующие сведения:
Type (Тип) – тип файловой системы или раздела; отображается в виде шест-надцатеричного кода;
Boot (Загрузка) – признак загрузочного раздела; для загрузочного активного раздела, как вы знаете, должно быть указано значение 80;
Starting (Начальное положение) – адрес первого сектора раздела, заданный
номером цилиндра (Cyl), головки (Head) и сектора (Sector);
Ending (Конечное положение) – адрес последнего сектора раздела, также заданный номером цилиндра, головки и сектора;
Sectors Before (Предшествует секторов) – количество секторов жесткого диска, предшествующих первому сектору раздела в соответствии с адресацией LBA (то есть при «сквозной» нумерации по головкам и цилиндрам);
Sectors (Секторов) – размер раздела, измеренный в секторах.

Рис. 7.18. Стартовое окно утилиты Partition Table Editor

Чтобы просмотреть цепочку дополнительных таблиц расширенного раздела (EPBR), выполните следующие действия.
1. Переместите курсор в строку, соответствующую расширенному разделу (его код равен 0Fh).
2. Щелкните на кнопке Goto EPBR (Перейти на EPBR), расположенной под таблицей.
Если вы знаете, что восстанавливаемый NTFS-раздел находится на прежнем месте, но в соответствующей ему строке указан неверный тип раздела, вы можете попробовать установить корректное значение принудительно. Для этого щелкните на кнопке Set Type (установить тип) и в открывшемся окне выберите требуемое значение (рис. 7.19). Для раздела NTFS оно равно 07h.
Если вам известны корректные значения других параметров раздела и они отличаются от представленных в таблице, вы можете (предварительно запомнив или записав на бумаге текущие значения) ввести их в поля таблицы. Чтобы внесенные изменения были записаны на диск, щелкните на кнопке Save Change (Сохранить изменения).

Рис. 7.19.Можно принудительно установить требуемый тип раздела

СОВЕТ
Если восстанавливаемый раздел вообще опознается как пустой, можно попробовать создать на его месте новый, такого же типа, как у восстанавливаемого раздела, и (обязательно!) точно такого же размера. Для выполнения этой процедуры можно использовать либо Paragon Partition Manager, либо Norton PartitionMagic (о работе с ними рассказано в третьей главе).

Восстановление загрузочного сектора раздела NTFS

Состав информации, содержащейся в загрузочном секторе раздела NTFS, во многом аналогичен составу информации в загрузочном секторе раздела FAT32: в его первых трех байтах записана команда перехода на программу начальной загрузки ОС, затем идет код файловой системы, а вслед за ним – поля блока параметров BIOS (BPB). Чтобы оценить корректность содержимого загрузочного сектора раздела NTFS, переместите курсор в строку соответствующего раздела и щелкните на кнопке Boot Record (Загрузочная запись), расположенной под таблицей (см. рис. 7.18). В дополнительном окне будет представлено содержимое BPB в текстовом формате (рис. 7.20).
По сравнению с BPB раздела FAT32 здесь присутствуют следующие специфические поля:
Total NTFS Sectors (Всего секторов в NTFS) – общее число секторов в разделе;
MFT Start Cluster (Начальный кластер MFT) – номер первого кластера таблицы MFT;
MFT Mirror Start Cluster (Начальный кластер зеркала MFT) – номер первого кластера копии таблицы MFT;
Clusters per FRS (Кластеров в FRS) – размер одной записи таблицы MFT (в кластерах);
Clusters per Index Block (Кластеров в индексном блоке) – размер индексного блока (в кластерах).

Рис. 7.20. Диалоговое окно NTFS Boot Record

Если повреждения незначительны, можно отредактировать значения полей непосредственно в окне NTFS Boot Record. После внесения изменений щелкните на кнопке Write (Записать), чтобы перенести их на диск.
Если загрузочный сектор поврежден существенно или вам неизвестны корректные значения полей, следует заменить загрузочный сектор его резервной копией. Для версии NTFS, используемой в Windows XP, копия загрузочного сектора хранится в самом последнем секторе логического диска.
Операцию копирования сектора можно выполнить либо с помощью Norton Disk-Edit, либо с помощью Paragon Partition Manager (точнее, с помощью входящей в него утилиты Просмотр секторов). Следует отметить, что в данном случае второй вариант даже предпочтительнее, поскольку Partition Manager «знаком» с NTFS лучше, чем Norton DiskEdit.
Итак, чтобы заменить загрузочный сектор NTFS его резервной копией с помощью утилиты Просмотр секторов, выполните следующие действия.
1. После загрузки Paragon Partition Manager щелкните правой клавишей мыши на изображении восстанавливаемого раздела и выберите в контекстном меню пункт Посмотреть сектора.
2. В окне утилиты Просмотр секторов (рис. 7.21) введите в редактируемом поле Абсолютный сектор|Наберите выражение для оценки: номер последнего сектора раздела (он отображается справа от раскрывающегося списка) и нажмите клавишу Enter.
3. Щелкните на кнопке Сохранить, расположенной в правой части окна утилиты, и в дополнительном окне укажите адрес и имя двоичного (.bin) файла, в который следует записать содержимое сектора.
4. Вернитесь к нулевому (загрузочному) сектору раздела, введя 0 в поле Абсолютный сектор|Наберите выражение для оценки:.
5. Щелкните на кнопке Настройки и в дополнительном окне установите флажок Разрешить запись. После того как вы закроете окно, станет доступна кнопка Восстановить.
6. Щелкните на кнопке Восстановить и в открывшемся окне укажите bin-файл, из которого следует считать содержимое сектора.

Рис. 7.21. Представление загрузочного сектора в окне утилиты Просмотр секторов

После двух подтверждений с вашей стороны о корректности замены будет выполнена запись на диск.
В том случае, если повреждена и резервная копия загрузочного сектора, остается только один выход: отредактировать содержимое загрузочного сектора вручную. Для выполнения этой операции также пригодна утилита Просмотр секторов, но можно использовать и Norton DiskEdit. Распределение пространства загрузочного сектора логического диска NTFS представлено в табл. 7.5.


Для успешного проведения восстановительных работ в разделе NTFS необходимо определить его геометрию, которая характеризуется набором следующих параметров:
размер сектора (в байтах);
размер кластера (в секторах);
номера начального кластера таблицы MFT и ее копии;
размер записи таблицы MFT (в кластерах).
Первый из названных параметров полностью аналогичен одноименному параметру для раздела FAT32.
Что касается размера кластера, то, как и для FAT32, он зависит от объема раздела, но может быть изменен пользователем при форматировании раздела (либо с помощью соответствующих функций таких инструментов, как Norton PartitionMagic или Paragon Partition Manager, рассмотренных в главе 3).

Восстановление служебной информации в MFT

Как вы уже знаете, таблица MFT представляет собой метафайл с именем $MFT, в котором хранятся записи с атрибутами других метафайлов и записи с атрибутами файлов пользователя (подробнее о логической структуре MFT см. главу 3).
Для разделов объемом в несколько гигабайт и при большом количестве файлов данных размеры MFT могут достигать десятков мегабайт. При этом граница MFT может изменяться динамически в зависимости от объема записанных на диск данных и наличия свободного пространства.
Кроме того, каждый файл в NTFS может иметь собственный набор атрибутов (об этом также достаточно подробно говорилось в главе 3); некоторые из них задаются самим пользователем.
Все это существенно затрудняет анализ и восстановление MFT на уровне отдельных записей.
Тем не менее в случае повреждения MFT вы можете попытаться восстановить записи, относящиеся к метафайлам, а затем поручить восстановление файлов и папок одному из программных инструментов, рассмотренных в четвертой главе.
Поиск таблицы MFT
Номер первого кластера таблицы MFT содержится в поле Clusters to MFT загрузочного сектора. Если вам удалось его восстановить, то с помощью утилиты Просмотр секторов можно перейти на этот кластер и проверить корректность записей, относящихся к метафайлам.
Для перехода по номеру кластера выполните следующие действия.
1. Откройте первый (загрузочный) сектор диска.
2. В разделе Абсолютный сектор, в поле Наберите выражение для оценки введите формулу для вычисления номера первого сектора MFT: x, где – это размер кластера, записанный в поле Sectors per Cluster (например: 40 000 х 8, рис. 7.22)
3. Нажмите клавишу Enter.
Характерные признаки «исправной» MFT:
каждая запись начинается со слова FILE0, размещенного в первых пяти байтах сектора;
для большинства записей метафайлов в байтах со смещением F2h хранится имя метафайла, которое всегда начинается с символа $;
первая запись описывает сам метафайл $MFT.

Последовательность размещения записей других метафайлов приведена в табл. 7.6.


Далее в файле $MFT следуют записи с информацией обо всех остальных файлах и каталогах.
В том случае, если поле Clusters to MFT загрузочного сектора повреждено или переход по номеру кластера привел «неизвестно куда», можно попробовать доверить поиск MFT самой утилите Просмотр секторов.
Для этого щелкните на кнопке Перейти и в открывшемся меню (рис. 7.23) выберите команду NTFS4MFT. Обратите внимание, что здесь же указан номер сектора (относительно начала раздела), с которого начинается MFT.

Рис. 7.23.Поиск таблицы MFT с помощью утилиты Просмотр секторов
Если и этот прием не даст результата, остается последний выход: вернуться к работе с программой Norton DiskEdit и попытаться найти таблицу MFT с помощью полнотекстового поиска по разделу. В качестве ключа поиска можно использовать имя метафайла – $MFT. Однако при этом следует учитывать, что имена файлов в NTFS представлены в двухбайтовой кодировке UNICODE, а Norton DiskEdit работает с однобайтовым кодом ASCII.
Если основная таблица MFT повреждена, следует проверить состояние ее копии. Напомним, что в NTFS не предусмотрено создание полной копии MFT. Сокращенная копия, MFT Mirror, содержит лишь первые четыре записи из основной таблицы, относящиеся к метафайлам $MFT, $MFTMirr, $LogFile и $Volume.
Напомним также, что копия MFT в версии NTFS для Windows XP всегда расположена в середине раздела. Поэтому если в загрузочной записи адрес ее начала отсутствует, несложно его вычислить исходя из числа секторов раздела.
Можно также попробовать перейти к сектору с копией MFT с помощью утилиты Просмотр секторов, воспользовавшись командой NTFS MFT зеркальный из меню Перейти (см. рис. 7.23).
Если копия уцелела, необходимо отыскать ее последний сектор и затем перенести содержимое «зеркала» в соответствующие секторы, отведенные под основную MFT.
С помощью утилиты Просмотр секторов эта операция выполняется таким же образом, как и перенос копии загрузочного сектора.
Размер и структура записи таблицы MFT
С учетом сказанного выше большое значение имеет правильное определение размера записи таблицы MFT. Его значение хранится в поле Clusters per FRS загрузочного сектора.
Многие дисковые утилиты, в том числе PTEdit, отображают это значение как десятичное целое положительное число в диапазоне 0-255 (обычно равное 246, см. рис. 7.20). В действительности это значение следует рассматривать как шест-надцатеричное целое со знаком, в котором старший разряд отводится для представления знака. Если число положительно (то есть в десятичном представлении меньше 128), то оно означает количество кластеров, занимаемых одной записью таблицы MFT. Если же число отрицательное (больше десятичного 127), то для определения размера записи MFT нужно использовать следующую формулу:
FRS= 2(256 – Clusters_Per_FRS)
Здесь FRS – количество байтов, занимаемых записью MFT, а Clusters_Per_FRS – значение поля Clusters per FRS.
Например, если в поле Clusters per FRS представлено значение 246 (то есть шест-надцатеричное F6), то в приведенной выше формуле показатель степени 2 будет равен 10, а для FRS получим значение 1024, то есть размер записи MFT составляет 1 Кбайт. Аналогично значение поля Clusters per FRS, равное 245 (F5h), соответствует размеру записи MFT, равному 2 11 = 2048 байт, или 2 Кбайт.
Запись MFT содержит список областей переменной длины, каждая из которых соответствует одному из атрибутов файла. Размер этого списка и состав хранящихся в нем атрибутов для каждого файла может быть своим.
Если все атрибуты файла или каталога не помещаются в базовой записи, создается одна или несколько дополнительных записей. При этом базовая запись содержит атрибут, в котором перечислены все атрибуты данного файла и каталога, а также указание, в каких именно записях (базовой или дополнительных) хранятся те или иные атрибуты.
Каждая запись MFT состоит из заголовка фиксированного формата, вслед за которым идет список атрибутов переменной длины. Приступая к исследованию записи MFT, сначала нужно проанализировать ее заголовок. Формат заголовка записи MFT представлен в табл. 7.7.

Несколько слов по поводу так называемого массива корректировки. Перед сохранением записи MFT операционная система заменяет последние два байта каждого сектора специальным значением – шаблоном корректировки, который должен быть одинаковым для всех секторов одной записи MFT, но различаться для разных записей MFT. Оригинальное содержимое последних байтов секторов записи MFT сохраняется во второй и последующих ячейках (два байта) массива корректировки. В первую ячейку массива при этом записывается значение шаблона корректировки.
Процедура «ручного» побайтного восстановления записей MFT может потребовать кропотливого труда в течение нескольких часов (если не больше). Решиться на такой шаг можно лишь в случае потери действительно «жизненно важных» данных. Альтернативный способ – обратиться к услугам специальных служб восстановления. Их адреса можно найти в Интернете. Разумеется, доверить свои данные можно далеко не всем. К числу служб восстановления, имеющих достаточно высокий авторитет, можно отнести, в частности, службу компании Ontrack, создателя описанного в книге пакета для восстановления данных EasyRecovery.

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

Создание загрузочной флешки Windows 7

Самый простой способ сделать загрузочный накопитель предлагает Microsoft в своей утилите Windows 7 USB/DVD Download Tool. Скачивается она с сайта компании и для работы требует установки также Microsoft .NET Framework 2.0 и ISO-образа ОС. Чтобы создать загрузочный носитель с помощью этой утилиты, выполните следующее:

Это лишь один из способов создать USB-накопитель для решения проблем системы. Его же можно записать и с помощью программы UltraISO - хотя и платной, но с пробным периодом.

Используем UltraISO для загрузочного накопителя

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

Подготавливаем ноутбук или ПК к работе с USB-накопителем

Современные устройства позволяют не залезать неопытным пользователям в BIOS, чтобы иметь возможность загрузится не с жесткого диска . Для этого существует загрузочное меню , которое вызывается обычно клавишами F12, F10, F8 и др. (зависит от версии BIOS и производителя платы) сразу после включения. На ноутбуках используется чаще всего F12.

Если этот режим для вас недоступен, придется менять настройки BIOS.

Войти в окно изменения конфигурации можно обычно нажатием клавиши Del перед загрузкой Windows. В открывшемся окошке нужно будет выбрать пункт, который может называться Boot, Boot Menu, Boot Manager и пр., после чего изменить приоритет загрузки с HDD на USB.

Восстанавливаем Windows 7

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

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

Восстановление запуска

Это средство также работает в автоматическом режиме и зачастую бывает не в силах обеспечить штатную работу. Однако часто ей удается решить такие неисправности, которые могут возникать, при установке предыдущих версий ОС, например, XP в качестве резервной вместе с «Семеркой».

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

Восстановление системы

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

  1. Откройте соответствующий пункт, после чего появится новое окно. В нем отобразится последняя из всех точек, которые Windows смогла создать.
  2. Можно выбрать более раннюю, если отметить флажком пункт, разрешающий показать все точки.
  3. Нажмите «Далее», в следующем окне - «Готово», после чего ОС откатится к выбранной вами точке восстановления.

Потребуется одна из программ LiveCD, которую также требуется записать на диск или флешку. Для примера будет использоваться утилита, показавшая себя как мощный и простой инструмент - Hiren’s Boot CD. В её состав входит много программ для восстановления и диагностики оборудования и Windows, в том числе и для работы с MBR.

Создав носитель с утилитой нужно:

  • Таким же образом как и в прошлом методе установите автозапуск с носителя через БИОС;
  • Выберите пункт «Программы DOS»;
  • Теперь найдите «Disk Partition Tools», в котором будет «Paragon…»;


MBR (по-русски – главная загрузочная запись) – определенный набор данных, строчек кода, таблица разделов и сигнатуры. Необходим он для загрузки операционной системы Windows после включение компьютера. Бывают случаи, когда в результате различных аппаратных и системных сбоев, МБР повреждается или стирается, что приводит к невозможности запуска Windows . Подобные проблемы решает восстановление загрузочной записи MBR Windows 7. В данной статье рассмотрено несколько несложных способов, которыми можно восстановить записи.

Немного теории

После включение компьютера BIOS выбирает носитель информации, с которого будет осуществляться загрузка. На этом этапе устройству необходимо знать, какой именно раздел жесткого диска содержит системные файлы Windows. MBR – небольшая программка, которая хранится в первом секторе HDD и указывает компьютеру на правильный раздел для запуска системы.

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

Восстановление загрузочной записи

Для того чтобы восстановить MBR, вам понадобится инсталляционный диск, с которого вы устанавливали Windows (либо любой другой). Если же диска нет, можно создать загрузочную флешку с Win7. Алгоритм действия:

Автоматическое восстановление

Для начала стоит предоставить починку MBR стандартным средствам от Microsoft. Выберите пункт «Восстановление запуска». Больше ничего делать не требуется, пройдет некоторое время, и компьютер сообщит о завершении процесса. Попробуйте запустить Windows. Если ничего не получилось – значит, необходимо восстановить МБР вручную.

Командная строка

Этот путь требует ввода нескольких.


  • В меню восстановления системы выберите пункт «Командная строка».
  • Теперь необходимо ввести «bottrec/fixmbr ». Данная команда служит для записи новой MBR совместимой с Win 7. Команда удалит нестандартные части кода, исправит повреждения, но не будет затрагивать существующую таблицу разделов.
  • Следом введите «bootrec/fixboot ». Эта команда служит для создания нового загрузочного сектора для Windows.
  • Далее «bootrec/nt60 sys ». Эта команда обновит загрузочный код MBR.
  • Закройте консоль, перезагрузите компьютер и попробуйте запустить систему. Если проблема все еще не решена, необходимо ввести еще несколько команд.
  • Снова запустите консоль и введите «bootrec/Scanos » и «bootrec/rebuildbcd ». С помощью этих утилит компьютер просканирует жесткий диск на наличие операционных систем, а затем внесет их в меню загрузки.
  • Следом опять введите «bootrec/nt60 sys » и перезагрузите компьютер.

Утилита TestDisk


После этого выбираем установленную операционную систему, нажимаем «Ok» и «Применить».



Избавит пользователя от необходимости переустановки операционной системы, и, следовательно, сэкономит его время.

Если у вас при включении компьютера не загружается Windows, процесс зависает на черном экране, то может быть повреждена загрузочная запись жесткого диска (MBR).

Внешние проявления

При появлении ошибки на экране сомнения пропадают.

Может выдаваться и иная информация о неисправности загрузчика HDD.

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

Как восстановить MBR, доведаетесь на этой странице.

Причины

Обратите внимание на распространенные причины неисправностей загрузочного сектора HDD.

Два типа загрузчика

На старых системах до Windows XP использовался загрузчик NT Loader (NTLDR). В Windows 7, Vista и последующих версиях ОС стал применяться UEFI и EFI. Поэтому старые и новые системы на одном ПК, обычно, не ставят. В ином случае NTLDR затирает UEFI.

Сторонний софт

Ошибки в загрузочном секторе HDD могут происходить при использовании даже популярных программ для раздела винчестера. У меня такое случалось с Acronis. Такое бывает потому, что подобный софт заменяет драйвера загрузки дисков своими. Это способно испортить исходную запись MBR. Поэтому лучше пользуйтесь встроенными методами раздела жесткого диска от Windows.

Вирусы

Свои «порядки» в MBR иногда наводят вирусы. Следовательно, после восстановления загрузки HDD проверьте компьютер антивирусными программами.

Если вы уверены, что причина в вирусах, то очистите от них ПК еще до ремонта MBR. Для этого существуют утилиты известных антивирусных компаний, например — Kaspersky Rescue Disk. Их предоставляют бесплатно на официальных сайтах с инструкциями по применению.

Любая из таких программ входит в комплект софта для CD или DVD, который позволяет загружаться с компакт-диска, находить и удалять вирусы на HDD.

Восстановление загрузки Windows 7

Ремонт сектора выполняется с компакт-диска или с USB-флеш-накопителя с установочным пакетом операционной системы.

  1. Сначала вставляете DVD в дисковод или флеш-накопитель в USB-разъем с дистрибутивом Windows.
  2. Затем нужно разрешить запуск с данных устройств. Делается это в настройках BIOS.

Изменение источников загрузки

Технология следующего порядка:


Обязательно при выходе нажимаете F10, иначе изменения не сохранятся!

Работа с компакт-диска или флеш-устройства

Действуете в следующем порядке:

  1. После перезагрузки внизу появится надпись: «Press any key…». Это просят нажать любую клавишу. Нажимаете. Иначе не выйдет. Если надпись уже пропала, повторяете все сначала. Для этого жмете сразу три клавиши: Ctrl+Alt+Del. Это вызовет перезагрузку компьютера.
  2. Когда загрузитесь с DVD или «флешки», появится окно установки Windows. Слева внизу выбираете «Восстановление системы».
  3. Будут предлагать подключить сетевые возможности, выбрать языки или букву диска. Ничего не меняете и доходите до выбора систем.
  4. Выделяете нужную Windows и ставите отметку напротив «Используйте средства восстановления…».
  5. Если требуемой системы нет, то она должна появиться, когда нажмете «Загрузить драйверы».
  6. Продолжаете кнопкой «Далее».
  7. В следующем окне выбираете «Восстановление запуска», и MBR может реанимироваться в автоматическом режиме.
  8. Если сектор не заработал, тогда жмете «Командная строка».
  9. В командной строке вызываете утилиту Bootrec и пишете для нее, чтобы она отремонтировала MBR: bootrec /fixmbr . Каждую команду заканчиваете клавишей Enter.
  10. Затем создаете новый загрузочный сектор: bootrec / fixboot . Для выхода из программы набираете exit и помните, что нужно нажать Enter.

Если исправления не помогли

Имеется еще одна команда реанимации MBR — bootsect /NT60 SYS . После нее пробуйте снова загрузиться.

В случае неудачной попытки пишите в командной строке так: bootsect /rebuildbcd. Произойдет поиск операционных систем, установленных на ПК.

Теперь снова попытайтесь зайти в Windows. Обратите внимание, что в списке систем сейчас будет на одну больше. Пробуйте зайти в каждую из них. Должно получиться!

Нестандартный способ

Если не спасли все варианты восстановления сектора, то рекомендуется переустанавливать Windows. А как ни хочется иногда это делать! Ведь правда?

Я тоже так подумал и решил поставить рядом еще одну маленькую систему. Что означает «маленькую»? Это система-загрузчик. Она пустая: я не ставил на нее драйвера и свои программы, потому что в ней не работаю. Но зато она загружается!

То, что было нужно, я добился: на винчестере появился рабочая загрузочная область. Теперь в прежнюю систему я нормально захожу. Недостаток в том, что потерял около 14 Гб места на диске. Если вам это не страшно, можете взять такой способ на вооружение !

Как исправить сектор в Windows 8-10 и Vista?

Для Vista и более поздних версий Windows подходят те же методы, что и для «семерки», отличается лишь дизайн. Например, в «восьмерке» он такой.

Но пункты остаются те же. Поэтому описывать их не будем. Используйте описанную выше инструкцию для Windows 7.

В Windows XP

В «экспишке» принцип реанимации сектора аналогичный. Но вход немного другой.Сейчас его увидите:

  1. После загрузки с компакт-диска начинается копирование файлов системы на винчестер.
  2. Потом появляется окно выбора действий.
  3. Выбираете вариант восстановления с помощью консоли, поэтому жмете клавишу R.
  4. Далее, спросят о том, в какую систему заходить. Когда она одна, то выбирать нечего, но ответить нужно. Для этого нажимаете на клавиатуре цифру «1», если написано: «1. C: \WINDOWS», — или жмете на другую цифру, которая стоит около нужной ОС.
  5. Затем появляется черный экран DOS-режима. Это та же командная строка, но на всю площадь монитора. Набираете fixboot и нажимаете Enter.
  6. Вас переспросят о том, хотите ли записать новый сектор загрузки.
  7. Отвечаете положительно: пишите Y. Напомню, что Enter жмете после каждой введенной команды или своего ответа.
  8. Потом появляется запись об успешной операции, если все прошло верно.

MBR (по-русски – главная загрузочная запись) – определенный набор данных, строчек кода, таблица разделов и сигнатуры. Необходим он для загрузки операционной системы Windows после включение компьютера. Бывают случаи, когда в результате различных аппаратных и системных сбоев, МБР повреждается или стирается, что приводит к невозможности запуска Windows. Подобные проблемы решает восстановление загрузочной записи MBR Windows 7. В данной статье рассмотрено несколько несложных способов, которыми можно восстановить записи.

Немного теории

После включение компьютера BIOS выбирает носитель информации, с которого будет осуществляться загрузка. На этом этапе устройству необходимо знать, какой именно раздел жесткого диска содержит системные файлы Windows. MBR – небольшая программка, которая хранится в первом секторе HDD и указывает компьютеру на правильный раздел для запуска системы.

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

Восстановление загрузочной записи

Для того чтобы восстановить MBR, вам понадобится инсталляционный диск, с которого вы устанавливали Windows (либо любой другой). Если же диска нет, можно создать загрузочную флешку с Win7. Алгоритм действия:

Автоматическое восстановление

Для начала стоит предоставить починку MBR стандартным средствам от Microsoft. Выберите пункт «Восстановление запуска». Больше ничего делать не требуется, пройдет некоторое время, и компьютер сообщит о завершении процесса. Попробуйте запустить Windows. Если ничего не получилось – значит, необходимо восстановить МБР вручную.

Командная строка

Этот путь требует ввода нескольких команд в командную строку Windows.

  • В меню восстановления системы выберите пункт «Командная строка».
  • Теперь необходимо ввести «bottrec/fixmbr ». Данная команда служит для записи новой MBR совместимой с Win 7. Команда удалит нестандартные части кода, исправит повреждения, но не будет затрагивать существующую таблицу разделов.
  • Следом введите «bootrec/fixboot ». Эта команда служит для создания нового загрузочного сектора для Windows.
  • Далее «bootrec/nt60 sys ». Эта команда обновит загрузочный код MBR.
  • Закройте консоль, перезагрузите компьютер и попробуйте запустить систему. Если проблема все еще не решена, необходимо ввести еще несколько команд.
  • Снова запустите консоль и введите «bootrec/Scanos » и «bootrec/rebuildbcd ». С помощью этих утилит компьютер просканирует жесткий диск на наличие операционных систем, а затем внесет их в меню загрузки.
  • Следом опять введите «bootrec/nt60 sys » и перезагрузите компьютер.

Утилита TestDisk

Если у вас нет загрузочной флешки или диска, можно восстановить поврежденную запись с помощью сторонней программы. Для этого необходимо запустить другую (рабочую) ОС. Если на вашей машине была всего одна Windows, придется подключить жесткий диск к другому компьютеру. Работа с TestDisk достаточно сложна, поэтому рекомендуется ознакомиться с руководствами, посвященными конкретно этой программе.

Рассказать друзьям