- BCD System Store Settings for UEFI
- Windows Boot Manager Settings for UEFI
- Device Setting
- Path Setting
- Other Settings
- Windows Boot Loader Settings
- Device and OSDevice Settings
- Path Setting
- Windows Memory Tester Settings
- Device Setting
- Path Setting
- Как восстановить загрузчик EFI Windows?
- Чтобы было понятно…
- Данные конфигурации загрузки Windows
- Как восстановить загрузчик EFI Windows 10: в лоб.
- Возможные ошибки
- Как восстановить загрузчик EFI Windows 7/10: пересоздаём EFI.
- Ошибка вновь появляется…
BCD System Store Settings for UEFI
For a typical deployment scenario, you do not need to modify the BCD store. This topic discusses the various BCD settings in the BCD store that you can modify. On UEFI systems, this includes settings for the following boot applications:
The following sections describe the available settings for each of these boot applications in detail and how to modify each application for UEFI systems.
For simplicity, the BCDEdit examples in this section modify the BCD system store. To modify another store, such as a copy of the BCD-template, include the store name in the command line.
Windows Boot Manager Settings for UEFI
Windows Boot Manager (
The BCD settings for the device and path elements in Windows Boot Manager indicate the firmware boot manager. The template that is named BCD-template for Windows includes the following settings for Windows Boot Manager.
Device Setting
The device element specifies the volume that contains Windows Boot Manager. For UEFI systems, the device element for Windows Boot Manager is set to the system partition volume letter. To determine the correct volume letter, use the Diskpart tool to view the disk partitions. The following example assumes that the system has a single hard drive that has multiple partitions, including a system partition that has been assigned a drive letter of S.
The following Diskpart commands select disk 0 and then list the details of the volumes on that disk, including their drive letters. It shows volume 2 as the system partition.
If the system partition does not have an assigned drive letter, assign one by using the Diskpart assign command. The following example assumes that the system partition is volume 2 and assigns it S as the drive letter.
After you have determined the system partition volume, set the device element for Windows Boot Manager to the corresponding drive letter. The following example sets device to drive S.
Path Setting
The path element specifies the location of the Windows Boot Manager application on that volume. For UEFI systems, path indicates the firmware boot manager, whose path is \EFI\Microsoft\Boot\Bootmgfw.efi.
You can confirm that BCD-template has the correct path by enumerating the values in the store, as follows:
To explicitly set path to \EFI\Microsoft\Boot\Bootmgfw.efi, use the following command.
Other Settings
You should set Windows Boot Manager to be the first item in the display order of the UEFI firmware, as shown in the following example.
You should also specify the topmost Windows boot loader application in the Windows Boot Manager display order. The following example shows how to put a specified Windows boot loader at the top of the display order.
In the preceding example, is the identifier for the specified Windows boot loader object. The next section discusses this identifier in greater detail.
NoteВ В A multiboot system that has multiple installed operating systems has multiple instances of the Windows boot loader. Each instance of the Windows boot loader has its own identifier. You can set the default Windows boot loader (
Windows Boot Loader Settings
A BCD store has at least one instance, and optionally multiple instances, of the Windows boot loader. A separate BCD object represents each instance. Each instance loads one of the installed versions of Windows that has a configuration that the object’s elements have specified. Each Windows boot loader object has its own identifier, and the object’s device and path settings indicate the correct partition and boot application.
BCD-template for Windows has a single Windows boot loader object that has the following settings.
The identifier for this Windows boot loader is <9f25ee7a-e7b7-11db-94b5-f7e662935912>. You can use this GUID on your system or let the BCDEdit tool generate a new GUID for you.
To simplify BCDEdit commands, you can specify one of the Windows boot loaders in the BCD system store as the default loader. You can then use the standard identifier (
Device and OSDevice Settings
The following elements specify key locations:
The device element specifies the partition that contains the boot application.
The osdevice element specifies the partition that contains the system root.
For the Windows boot loader for EFI, both elements are usually set to the drive letter of the Windows system partition. However, if BitLocker is enabled or a computer has multiple installed versions of Windows, osdevice and device might be set to different partitions.BCD-template sets both elements to drive C, which is the typical value. You can also explicitly set the osdevice and device values, as shown in the following example. The example also assumes that you have specified the Windows boot loader for EFI as the default boot-loader object.
Path Setting
The path element of a Windows boot loader specifies the location of the boot loader on that volume. For UEFI systems, path indicates the Windows boot loader for EFI, whose path is \Windows\System32\Winload.efi.
You can confirm that BCD-template has the correct path value by enumerating the values in the store. You can also explicitly set the path value, as shown in the following example.
Windows Memory Tester Settings
The Windows memory tester (
NoteВ В Note: Intel Itanium computers do not include a Windows memory tester and do not require
BCD-template for Windows has the following settings.
Device Setting
For UEFI systems, the device element for the Windows memory tester is set to the system partition drive letter. The following example assumes that the system partition is drive S, as used in earlier examples.
Path Setting
The path element specifies the location of Windows Test Manager on the volume that the device element has specified. For UEFI systems, path indicates the EFI version of the application (\EFI\Microsoft\Boot\Memtest.efi).
You can confirm that BCD-template has the correct path value by enumerating the values in the store. You can also use the BCDEdit tool to explicitly set the path value, as shown in the following example.
Как восстановить загрузчик EFI Windows?
Как восстановить загрузчик EFI Windows 7 и Windows 10?
В этой статье мы попробуем восстановить загрузчик EFI для Windows 7/8/10. Чуть ранее мы уже разбирали восстановление загрузки для таблицы MFT на примере Windows 7. Сейчас же позволю себе сразу отметить, что повреждение загрузчика в нашем случае чаще всего (помимо прочего) вызывается:
- установкой второй операционной системы
- неправильными операциями по восстановлению системы (или неудачным её завершением)
- удалением неких данных из скрытых разделов
- битые секторы
- действием зловредов.
С помощью представленных инструментов можно будет попробовать восстановить загрузчик EFI, который отказывается загрузить систему из-за отсутствующего или битого файла конфигурации по адресу:
Скрытый диск:\EFI\Microsoft\Boot\BCD
Вот, кстати, его примерное содержимое из Heren’s BootCD:
Чтобы было понятно…
Структура разделов в таблице GPT на Windows, загруженной в режиме UEFI, чаще всего выглядит так:
- EFI – раздел ESP (Extensible Firmware Interface) – раздел, где хранится программное обеспечение с драйверами, обеспечивающими загрузку Windows;
- MSR – он же Microsoft Reserved – резервируемый во время установки Windows раздел; его вполне может и не быть на вашей машине
- Первичный раздел – том, где хранятся системные файлы: реестр, службы, системные утилиты, файлы настроек и т.д.
Windows 10 сюда добавляет ещё и диск Восстановления. По умолчанию (т.е. при установке Windows на НЕФОРМАТИРОВАННЫЙ диск), первые два раздела имеют чёткий объём. И потому по необходимости их легко вычленить, ориентируясь только лишь на размеры обоих. В Windows 7, например, это соответственно 100 Мб и 128 Мб. И это, как говорится, типовая конфигурация. Некоторые производители компьютеров создают разделы по своему усмотрению, например, засовывая туда среду восстановления Windows PE в файл winre.wim. Если вы обнаружили у себя такой файл, знайте, что именно он содержит в себе образ восстановления системы от производителя. Раздел EFI обязателен на GPT дисках с UEFI поддержкой. Когда компьютер включается, среда UEFI загружает загрузчик (EFI\Microsoft\Boot\bootmgfw.efi) из раздела EFI (ESP), передавая той контроль над загрузкой самой Windows. Нет раздела – нет загрузки.
Раздел же MSR на диске создаётся для облегчения обзора разделов и используется для системных операций (типа конвертации диска из простого в динамический). Это резервный раздел, которому Windows никогда не присваивает опознавательные знаки. И данных пользователя он не содержит. В Windows 10 размер раздела MSR – 16 Мб (в Windows 8 – 128 Мб), тип файловой системы – NTFS.
Данные конфигурации загрузки Windows
О том, что файл по указанному выше адресу EFI\Microsoft\Boot\BCD повреждён, вам может сообщить синий экран смерти BSOD с ошибкой следующего содержания:
Это означает, что данные в файле Boot Configuration Data не распознают конфигурацию загрузчика вашей Windows. Однако, пользователей, знакомых с утилитой восстановления загрузчика в MFT bcdedit.exe, в этот раз та не выручит. При попытке её запустить, пользователь увидит непривычное:
Мол, ни данных, ни самого устройства не существует. Причина одна: раз конфигурация загрузчика BCD в UEFI-режиме загрузки лежит в специальном разделе EFI:
efi раздел в Windows 7
efi раздел в Windows 10
…то наша утилита просто его не видит. Т.е. не видит сам загрузчик , а то и весь раздел . В общем, не спасают и традиционные средства восстановления, созданные на такой случай:
У вас тоже с ошибкой написано?
Как восстановить загрузчик EFI Windows 10: в лоб.
- выбираем загрузочное устройство, вызвав меню быстрой загрузки клавишами в зоне F или через BIOS
- загружаем с флешки с Windows 10 PE;
- выходим на командную строку, зажав Shift + F10 после появления окна Установка Windows
- как и в предыдущем режиме, нам нужно определиться со списком разделов компьютера. Далее я предполагаю, что жёсткий диск установлен в единственном экземпляре:
- обнаруживаем EFI раздел. Его размеры, повторюсь, невелики (100 Мб в W7 и W10), и он имеет файловую систему FAT32:
у меня EFI – это безымянный Том 3
- по умолчанию он скрыт, а значит не имеет буквы. Для дальнейшей работы она нам понадобится. Так что присваиваем букву прямо сейчас:
После закрытия программы отправляемся в этот раздел:
Здесь появляется небольшое отступление. Этот путь существует по умолчанию, и причин, чтобы консоль вам отказала в переходе в указанную папку, нет. Если ошибка появилась, см. абзац Возможные ошибки или сразу переходите к следующей части Как восстановить загрузчик EFI Windows 7/10: пересоздаём EFI.
меня ошибка Отказано в доступе настигла сразу
- создаём заново загрузочный сектор одноимённого раздела:
- используя утилиту bcdedit.exe создадим хранилище заново, копируя загрузочные файлы из системной папки:
/f ALL – скопирует загрузочные файлы (и UEFI и BIOS режимов) для возможной поддержки загрузки на EFI и BIOS;
/l ru– ru – укажет на языковую локаль системы, которая будет использоваться, т.е. на русскую. Если всё проходит без ошибок, пропускайте абзац.
- выполняем последовательно следующие команды:
Перезагружаемся в Windows 10 на жёстком диске и проверяем.
Возможные ошибки
Администратора здесь могут подстерегать некоторые ошибки. Среди них наиболее часто появляются:
- BFSVC Error: Can not open the BCD template store. status – [c000000f] –
нужно проверить вводимые команды и путь к хранению системных файлов Windows; иногда ошибка появляется из-за неправильного указания языковой локали; - BFSVC Error: Error copying boot files from Last Error = 0x570 – ошибка является следствием самого явления, что Windows не загружается. Вероятно, плохие сектора появились не только в разделе загрузки EFI, но и на диске с системой; прогоните жёсткий диск утилитой chkdsk.exe тут же из консоли командой
где с – диск с системой
- Отказано в доступе – причин на то множество: от наличия плохих секторов до неверно выставленного режима загрузки (стоит Legacy вместо UEFI; нужно – только UEFI) с флешки. Однако. UEFI не был бы UEFI, если бы всё проходило вот так гладко: то, что раздел EFI не подпускает к своим файлам – это, скорее закономерность, чем исключение. Так что, если в доступе вам отказано, я советую вам просто сначала удалить сам раздел EFI (а он такой нам больше не нужен), воссоздать его заново с единственно необходимой для его работы директорией, а затем уже положиться на ремонтную bootrec, позволив ей завершить работу. Так что, если необходимость возникла, продолжаем работу с момента появления отказа команде
Как восстановить загрузчик EFI Windows 7/10: пересоздаём EFI.
Самое главное здесь – не промахнитесь с разделом/лами и не удалите тот из них, в котором хранятся данные Windows и ваша информация. Итак, раз bootrec.exe попасть в нужный нам раздел не смогла, раздел убираем . Для этого нам будет нужно вернуться в diskpart.exe, снова определиться с разделами и выбрать тот, что на 100 Мб. Возвращаемся в ремонтную консоль:
И начинаем заново:
можно проверить результат:
У нас осталось некоторое нераспределённое пространство, в котором мы заново создаём удалённый только что раздел:
Но при попытке присвоить применявшуюся ранее букву Y, консоль ответила отказом (надо было её перезапускать). Я присвою разделу букву Z:
Подготовим почву для bootrec.
- копируем туда файлы из состава среды EFI из папки установленной Windows (С – буква диска с системными файлами Windows):
- пусть bootrec с вашей флешки проверит диски на предмет системных файлов Windows:
Никуда они не денутся, если вы их случайно не удалили, или они не попали в зону бэд-секторов. Остаётся…
- … заставить написать “правильный” файл BCD и прочие “конфиги”:
Выключаем компьютер, флешку вынимаем и включаем машину. Ждём появления Windows. Дайте ей загрузиться до Рабочего стола и проверяйте, всё ли на месте.
Ошибка вновь появляется…
Не беспокойтесь. Если вы вникли в процесс, и все команды вводили осознанно и корректно, ситуация, скорее всего, уже исправлена. Просто следует учесть особенности своеобразных фильтров безопасности, принятых для режима UEFI, и не путать буквы дисков. Их можно пройти, проделав такие шаги:
- Разбудите BIOS:
– снимите крышку боковую компьютера или нижнюю ноутбука
– отключите жёсткий диск (отключив оба шлейфа на “стационарнике” или вынув из разъёмов на ноутбуке)
– включите машину, дождавшись ошибки загрузки;
– выключив компьютер, подключите жёсткий заново и снова, включив компьютер, проверьте; - проверьте UEFI меню платы компьютера на предмет правильной очерёдности разделов загрузки; первым должен стоять, как вы поняли, именно EFI;
- убедитесь, что метка Загрузочный стоит только напротив EFI раздела, и ни у какого больше. Проверить и исправить ситуацию из Windows PE, к сожалению, не получится. И для этого придётся воспользоваться дополнительными инструментами в виде загрузочной флешки. Сделайте это любым удобным вариантом из статьи Метка диска Загрузочный: как добавить или удалить?