.
После запуска система вначале проверяет данные BIOS, чтобы узнать порядок устройств загрузки, поэтому при возникновении проблемы начните с проверки указанного в BIOS порядка загрузки. На загрузочном диске также имеется сектор, называемый «основной загрузочной записью» Master Boot Record (MBR), состоящей из кода (об этом чуть позже) и таблицы, где указаны местоположения разделов диска. BIOS загружает код и таблицу в оперативную память, затем выполняет код. Если код поврежден (или обнулен), то система «виснет» либо выдает синий экран.
Восстановить «кодовую» часть записи MBR можно с помощью утилиты Bootsect (bootsect.exe), имеющейся только в Windows PE и отсутствующей в Windows 7/R2. Синтаксис Bootsect выглядит следующим образом:
bootsect/nt60 driveletter:/mbr
Синтаксис кажется несколько странным, поскольку запись MBR существует не у букв дисков (то есть разделов и томов), а у физических дисков. Однако вместо прямого указания номера физического диска Bootsect по букве определяет соответствующий физический диск и восстанавливает на нем код MBR. Предположим, например, что мы загрузили WinPE и имеем внешний диск, подключенный к системе, который отображается как диск G. Предположим также, что этот внешний диск является физическим диском под номером 5. Для восстановления записи MBR этого диска вводим следующую команду:
bootsect/nt60 G:/mbr
Ответ Bootsect будет выглядеть примерно так:
\\??\PhysicalDrive5 Successfully updated disk bootcode. Bootcode was successfully updated on at least one volume.
Таким образом, Bootsect определила, что G — это диск номер 5, и восстановила его код MBR. Мы здесь говорим о «коде MBR», поскольку в 512-байтовой записи MBR с 446-го байта начинается таблица разделов. Вот почему Bootsect перезаписывает только «кодовую» часть, поскольку, если бы ваш диск «забыл», где находятся его разделы, то, по сути, это оказалось бы равносильно стиранию вашего жесткого диска (а ваш клиент, вероятно, стер бы выставленный вами счет).
За загрузкой записи MBR следует исполнение кода MBR. Этот код выполняет три функции: выясняет, какой раздел является «активным» (то есть загружаемым), загружает первый сектор данного раздела в оперативную память и дает процессору указание исполнить содержимое в оперативной памяти.
Назовем этот первый сектор активного раздела загрузочной записью Windows Boot Record (WBR). Подобно MBR, это небольшое пространство на диске в 512 байт. Код данной записи находит, загружает и исполняет файл Ntldr (с Windows NT 3.1 по Windows Server 2003 R2) или Bootmgr (в Windows Server 2008, Windows 7 и Windows Vista). Работа простая, но, если запись WBR повреждена, система «виснет» или выдает синий экран. В этом случае Bootsect поможет восстановить поврежденную запись WBR. Снова загрузите WinPE и введите следующую команду:
bootsect/nt60 driveletter:
Для большинства систем при загрузке из WinPE буквой диска является C. Если у вас есть USB-устройство, которое должно загружаться, но не загружается, Bootsect/nt60 часто спасает положение. Кстати, странный синтаксис команды связан с тем, что Bootsect существует со времени появления Windows XP, и параметр /mbr у нее появился лишь недавно. Очевидно, проводя модернизацию, разработчик решил немного сэкономить на программировании — отсюда эта иносказательная форма, когда на номер диска указывает буква тома.
Далее WBR загружает Bootmgr, переходя к следующему вопросу контрольного списка: существует ли на C файл по имени Bootmgr? Находясь в WinPE, выясните это и не забудьте дать указание показывать скрытые файлы:
dir c:\bootmgr/ah
Если этого файла нет, просто создайте его копию с загрузочного устройства WinPE или из любой копии Windows 7/R2.
В следующий раз мы продолжим эту тему, а именно перейдем к данным конфигурации загрузки BCD.
Марк Минаси (www.minasi.com/gethelp) — старший редактор журнала Windows IT Pro, сертифицированный системный инженер по продуктам Microsoft