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

В настоящее время в корпоративной среде по-прежнему широко распространена Windows 7(и эта ситуация будет сохранятся еще как минимум несколько лет). У одного из заказчиков, работающего на системах под управлением этой ОС, в результате сбоя отказался запускаться загрузчик.

Стандартные и всем известные команды

Bootrec.exe /FixMbr

и

Bootrec.exe /FixBoot

в данном случае не помогли(как и попытка автоматического восстановления загрузки с помощью установочного диска).

Что же делать? Придется создавать раздел с загрузчиком заново.

Система имеет раздел с меткой System Reserved, и именно его придется пересоздавать.

Грузимся с загрузочной флешки, запускаем командную строку и утилиту diskpart , после чего удаляем и создаем заново раздел:

diskpart  // запуск утилиты diskpart  
lis vol  // отображаем список всех разделов
sel vol 0 //  выбираем том, с которым будем работать; в нашем случае том 0
del vol // удаляем раздел
creat par prim // создаем создаём основной раздел
format fs=ntfs // форматируем,используя файловую систему NTFS
assign letter С // присваиваем созданному разделу букву С
activ  // делаем раздел активным
exit  

Итак, раздел создан, далее необходимо прописать туда программный код загрузочных секторов, обеспечивающих загрузку либо bootmgr (в более старых версиях Windows - ntldr)

Для этого используется утилита BOOTSECT.EXE(более полное ее описание приведу в конце заметки).

Записываем коды PBR (Bootmgr) и MBR:

bootsect /nt60 C: /mbr 

Создаем загрузчик для ОС, расположенной на диске D(будьте внимательны, проверяйте имена дисков!):

bcdboot D:\windows /s C:

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

 

Приведу более полное описание BOOTSECT.EXE:

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

Формат командной строки:

bootsect {/help|/nt60|/nt52} {SYS|ALL|< DriveLetter >:} [/force] [/mbr]

Параметры командной строки 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

bootsect /nt60 SYS - изменение загрузочных секторов для раздела, с которого выполнена загрузка текущей ОС Windows.

Вперед

Коротко о себе:

Работаю инженером в компании Tune IT.