Не загружается Windows. Восстановление загрузки Windows 7 / 8

Что делать, если не загружается Windows 7 из-за поврежденного или неправильно отредактированного меню загрузчика? Восстановление загрузки Windows 7 – несложный процесс, если вы понимаете принцип работы системы.

Если по каким-либо причинам Windows 7 не загружается, набор системных утилит (bootrec, bootsect, bcdedit) помогут устранить проблему.

Начиная с Windows 7 Microsoft отказалась от использования стандартного загрузчика XP ntldr и сохранения конфигурации в файле boot.ini. Теперь, чтобы отредактировать меню загрузки Windows Vista/7 применяется специальная программа-редактор bcdedit.exe работающая с новым хранилищем загрузки.

TechNet Microsoft: “Файлы данных конфигурации загрузки (BCD) обеспечивают хранилище, которое будет использоваться для описания приложений загрузки и параметров приложений загрузки. Объекты и элементы хранилища по сути заменяют Boot.ini

BCDEdit – это средство командной строки, предназначенное для управления данными конфигурации загрузки.”

Важно понимать, что файл BCD не играет роли загрузчика Windows. BCD содержит информацию про диспетчер и приложения загрузки которые нужно использовать при запуске. В каком-то смысле, он является заменой файла конфигурации boot.ini На компьютерах с операционной системой на основе BIOS файл BCD расположен в папке \Boot\ активного раздела. На компьютерах с операционной системой на основе EFI файл BCD расположен в системном разделе EFI (ESP).

 

 

Вопреки расхожему мнению загрузочное меню Windows 7 не хранится в реестре. Конфигурация загрузчика просто проецируется на ветку реестра (HKEY_LOCAL_MACHINE\BCD00000000). Менеджер загрузки и конфигурации находятся в скрытом разделе размером 100Мб в папке Boot. Там же находится утилита тестирования оперативной памяти (аналог Memtest).

На рис. выше этот раздел имеет название “System reserved”.

Справка: Системный том содержит файлы Диспетчера загрузки Windows и другие файлы, необходимые для начальной загрузки систем.
Загрузочный же том содержит файлы операционной системы, расположенные в папках %SystemRoot% и %SystemRoot%\System32.

При установке Windows XP второй системой, её загрузочные файлы (ntldr, ntdetect, IO, autoexec, boot ) будут размещены в скрытом разделе System Reserved, т.е. там же где расположены файлы конфигурации 7ки (bcd). Почему? А потому, что именно этот раздел имеет метку “Активен”. ОС семейства Windows загружаются только с активного раздела.

 

Восстановление загрузчика Windows 7 при помощи встроенных утилит

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

Для восстановления загрузки Windows 7 после потери информации из-за появления бед-блоков или вследствие деструктивных действий вирусов поможет bootrec.exe

bootrec – работает с MBR жесткого диска (аналогичны Fixmbr и Fixboot в XP) восстанавливает загрузчики в первом секторе жесткого диска и активном (помечен как “Система” в диспетчере дисков) разделе.

Bootrec.exe /FixMbr – записывает совместимую с Vista/7 главную загрузочную запись (Master Boot Record, MBR)

Bootrec.exe /FixBoot – записывает в системный раздел новый загрузочный сектор

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

Используйте средство Bootrec.exe для устранения ошибки с сообщением “Bootmgr отсутствует”. Если перестройка хранилища данных конфигурации загрузки не приводит к устранению проблемы, можно экспортировать и удалить данные конфигурации загрузки, а затем выполнить этот параметр повторно. Это обеспечит полную перестройку хранилища данных конфигурации загрузки.

Для этого в командной строке среды восстановления Windows введите следующие команды:

  • bcdedit /export C:\BCD_Backup
  • c:
  • cd boot
  • attrib bcd -s -h -r
  • ren c:\boot\bcd bcd.old
  • bootrec /RebuildBcd

Если XP отказывается устанавливаться вместо Windows 7, команда bootsect сможет помочь

Программа bootsect.exe обновляет основной загрузочный код разделов диска, чтобы обеспечить переключение между BOOTMGR и NTLDR. Это средство можно использовать для восстановления загрузочного сектора компьютера: bootsect.exe {/help | /nt52 | /nt60} {SYS | ALL | <буква_диска:>} [/force]
Код  52 – для XP
60 – для Vista/7
ALL – применить ко всем дискам.

Например команда bootsect /nt60 SYS /mbr  позволит восстановить загрузку Windows 7, изменив загрузочный сектор и передав управление диспетчеру загрузки.
bootsect /nt52 SYS /mbr передаст управление стандартному загрузчику Windows XP.

bootcfg – работает с файлом boot.ini (если в системе есть XP)

bcdedit – конфигурирует загрузочное меню. Подробнее о bcdedit читайте далее.

 

Редактирование меню загрузки Windows 7 при помощи bcdedit

Редактирование меню загрузки может понадобится после установки XP в качестве второй ОС.

Чтобы вызвать bcdedit запустите командную строку от имени администратора: runas /user:administrator cmd.exe

bcdedit – покажет текущее меню загрузки

bcdedit /? – выведет справку по командам

--- Загрузка 7 ---
Диспетчер загрузки Windows  <---расположение самого менеджера загрузки (bcd и memtest.exe)
--------------------
Идентификатор           {bootmgr}  <---идентификатор конкретной записи, он же = resumeobject {}
device                  partition=\Device\HarddiskVolume2  <---папка с файлами для инициализации загрузки
description             Windows Boot Manager
locale                  ru-RU
inherit                 {globalsettings}
default                 {current}
resumeobject            {d288dcb3-fe6f-11e2-a829-e9160df1400d} <--- 
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 30

Загрузка  Windows          <---расположение самой операционной системы (с загрузчиком winload.exe)
-------------------
Идентификатор           {current}
device                  partition=C:  <---divice = osdevice - буква диска, где где расположена ОС
path                    \Windows\system32\winload.exe  <---точный путь к программе загрузчика winload.exe
description             Windows 7
locale                  ru-RU
inherit                 {bootloadersettings}
recoverysequence        {d288dcb5-fe6f-11e2-a829-e9160df1400d} 
recoveryenabled         Yes
osdevice                partition=C:
systemroot              \Windows
resumeobject            {d288dcb3-fe6f-11e2-a829-e9160df1400d}
nx                      OptIn

Поле идентификатор может иметь буквенно-цифровой формат {d288dcb3-fe6f-11e2-a829-e9160df1400d} вот такой например.

bcdedit [действие] [идентификатор элемента меню]  [параметры]

Действия:

  • delete – удаляет элемент загрузочного меню
  • copy – копирование существующего элемента меню
  • timeout установка тайм-аута
  • set – переименование элементов загрузочного меню
  • default – изменение операционной системы, запускаемой по умолчанию
  • displayorder – порядок отображения на экране
  • create создание нового меню загрузчика
  • export выгрузка параметров загрузки в файл
  • import загрузка параметров из файла

К примеру, чтобы удалить текущий (в данном случае единственный) элемент Microsoft Windows 7 из загрузочного меню, нужно воспользоваться командой bcdedit /delete {current}

или

bcdedit /default {current} установит Windows7 для загрузки по умолчанию

Здесь current – идентификатор элемента меню с которым мы работаем (редактируем).

 

Windows 7 не загружается после установки XP

Если же Windows 7 не загружается после установки XP или по причине некорректного редактирования меню загрузки, неудачной установки OS-Loader_ов, меню загрузки придется восстанавливать.

При помощи установочного диска Windows 7 можно восстановить возможность загрузки в “Семерку” (Загрузиться с установочного диска 7ки, выбрать “Восстановление системы” —> “Восстановление запуска”), а уже потом, посредством утилиты bcdedit (или программы Multiboot) настроить корректную загрузку двух операционных систем.

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

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

Запустив командную строку от имени администратора выполните:

Bcdedit /create {ntldr} /d "Windows XP"

Эта команда создает в хранилище загрузки Windows 7 запись для Windows XP. Если таковая (запись) уже существует, просто переименуйте:

Bcdedit /set {ntldr} description "Windows XP"

Следующая команда укажет загрузчику Windows 7 устройство расположения файлов загрузки XP (стандартные для XP файлы Ntloader, Ntdetect…):

Bcdedit /set {ntldr} device partition=[буква диска или если он спрятан путь в формате \Device\HarddiskVolume[Number]]:

Указываем путь к загрузчику Windows XP:

Bcdedit /set {ntldr} path \ntldr

Следующая команда добавит строчку о выборе Windows XP в меню загрузки и расположит ее под остальными:

Bcdedit /displayorder {ntldr} /addlast

Восстановление и редактирование загрузки при помощи программы Multiboot

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

Multiboot – это восстановление загрузки Windows 7, Vista, XP, настройка их совместной работы без набора сложных команд.

 

Загрузка Windows в среде EFI

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

В скрытом шифрованном разделе жесткого диска ESP, отформатированном в системе FAT32, находится файл BCD содержащий информацию об установленных ОС. Еще раз хочу обратить внимание, что файл BCD – не загрузчик как многие полагают, а всего лишь хранилище конфигурации для считывания загрузчиком. BCD является заменой boot.ini

Загрузчик зашитый в микросхему содержащую микропрограмму EFI BIOS находит раздел ESP по специальной метке-сигнатуре и передает управление содержащемуся там файлу по адресу \Device\HardDiskVolume#N\EFI\Microsoft\Boot\bootmgfw.efi Bootmgfw.efi – это EFI загрузчик Windows. После передачи управления загрузчику ОС из системного раздела ESP, дальнейший процесс продолжается как обычно при помощи Winload находящегося в системном каталоге Windows.

Результат команды bcdedit запущенной без аргументов из командной строки отображает конфигурацию загрузки компьютера в EFI режиме загрузки.

 

Ошибки загрузки и восстановление Windows в режиме EFI

Если при загрузке компьютера с BIOS EFI появляется ошибка:

Your PC needs to be repaired. 
The Boot Configuration Data for your PC is missing or contains errors. 
File:\EFI\Microsoft\Boot\BCD

Error code: 0xc000000f File:\EFI\Microsoft\Boot\BCD. Error code: 0xc000000f

это говорит о нарушении целостности папки \Boot или некорректности файла BCD (содержащего данные о загрузке) скрытого раздела диска ESP. Повреждения могут быть вызваны бед-блоками на поверхности жесткого диска либо нарушением целостности файловой системы. Поэтому, прежде чем приступать к восстановлению загрузки Windows следует проверить поверхность диска на наличие битых секторов и целостность файловой системы запустив программу chkdsk из-под загрузочного диска Windows или Live-CD реаниматора.

Для восстановления директории\EFI\Microsoft\Boot\ с ее содержимым необходимо загрузиться с установочного диска Windows и при появлении начального окна установщика нажать комбинацию клавиш Shift-F10.

В открывшемся окне cmd набрать следующие команды:

diskpart – утилита работы с дисками
list disk – вывод всех накопителей в системе (диски, флеш-накопители и т.п.)
sel disk 0 – выбор интересующего нас диска из списка (подразумевается что он пронумерован как disk 0)
list vol – отображение томов выбранного диска

Предположим, что мы видим, что разделу с операционной системой Windows 8 присвоена буква C:
Выходим из diskpart, вводим набрав exit
Вводим команду, которая полностью перезапишет содержимое хранилища загрузки операционной системы.
bcdboot.exe C:\Windows (возможно, что вместо C придется подставить букву своего раздела с папкой Windows).
После этого файлы загрузки будут успешно созданы.

 

Перезагружаем компьютер.

 

 

Добавить комментарий