В этой статье мы разберемся, как восстановить загрузчик Windows 10 или 11 на современном компьютере, на котором используется UEFI интерфейс вместо классического BIOS и таблица разделов диска GPT (вместо MBR). Повреждение загрузчика Windows может быть вызвано установкой второй ОС (Dual Boot — конфигурация), повреждением файловой систему, некорректным восстановлении Windows после сбоя, удалением скрытых разделов, вирусом-вымогателем и рядом других причин.
Данная статья содержит подробную пошаговую процедуру восстановления поврежденного или удаленного загрузчика ОС в Windows 11/10/8.1 и Windows Server 2022/2019/2016/2012R2 на компьютерах, которые работают в нативном (не legacy) режиме UEFI. Инструкцию можно использовать как для восстановления бинарных файлов загрузчика Windows, так и конфигурационного файла загрузчика EFI\Microsoft\Boot\BCD (в случаях, когда Windows не загружается из-за отсутствия или повреждения файла конфигурацией загрузка BCD.
Содержание:
- Не загружается Windows: Boot configuration data is missing EFI\Microsoft\Boot\BCD
- Автоматическое восстановление загрузчика Windows
- Ручное восстановление загрузчика Windows с помощью BCDBoot
Не загружается Windows: Boot configuration data is missing EFI\Microsoft\Boot\BCD
UEFI компьютер с Windows, установленной в наивном режиме, не сможет загрузиться при повреждении EFI загрузчика Windows. При попытке загрузиться с диска с повреждённым или отсутствующим EFI загрузчиком появится BSOD (синий экран смерти) с ошибкой:
The boot configuration data for your PC is missing or contains errors. File :\EFI\Microsoft\Boot\BCD Error code: 0xc000000f
или
Error code: 0xc000014c
В русской версии Windows ошибка может быть такая:
Ваш компьютер нуждается в ремонте Данные конфигурации загрузки для вашего ПК отсутствуют или содержат ошибки Файл:\EFI\Microsoft\Boot\BCD Код ошибки: 0xc000000f
Эта ошибка говорит о повреждении или даже полном удалении конфигурации загрузчика Windows — Boot Configuration Data (BCD). Если вы попытаетесь восстановить загрузчик на UEFI компьютере с помощью утилиты
bcdedit
, вы получите такую ошибку:
The boot configuration data store could not be found. The requested system device cannot be found.
Дело в том, что если Windows 10/11 установлена в нативном режиме UEFI на GPT диск, то EFI загрузчик Windows (Windows Boot Manager) хранит программу управления загрузкой и конфигурацию BCD на отдельном скрытом разделе EFI (размером 100 мб с файловой системой FAT32). Утилита bcdedit не видит этот EFI раздел, и соответственно не может управлять конфигурацией загрузчика на нем.
Если при загрузке Windows появляется только черный экран с надписью “Operating System not found”, скорее всего у вас полностью удален загрузчик Windows. Следуйте инструкции по ссылке.
Автоматическое восстановление загрузчика Windows
Процедура автоматического восстановления загрузчика, зашитая в среду восстановления Windows (WinRe), как правило, в таких случаях бессильна. Но попробовать все-же стоит:
- Загрузитесь с диска загрузочного диска, диска восстановления или установочной флешки с Windows 10 или 11;
- На экране установки нажмите кнопку Восстановление системы;
- Затем выберите пункт Поиск и устранение неисправностей -> Восстановление при загрузке и выберите ОС, загрузчик которой нужно попытаться восстановить;
- Но скорее всего результат будет отрицательный: Восстановление при загрузке не удалось восстановить компьютер
Ручное восстановление загрузчика Windows с помощью BCDBoot
Перейдем к процедуре ручного восстановления EFI загрузчика Windows на UEFI компьютере.
Для восстановления конфигурации загрузчика (BCD), вам нужно загрузить компьютер с оригинального установочного диска с Windows (диска восстановления или специально подготовленной установочной USB флешки с Windows ). После загрузки в среде восстановления нужно открыть окно командной строки: выберите Восстановление системы -> Диагностика -> Командная строка (System Restore -> Troubleshoot -> Command Prompt).
Командную строку также можно запустить, если у вас под рукой есть только установочный диск с Windows. Для этого достаточно на самом первом этапе установки Windows (при выборе языка и раскладки клавиатуры) нажать комбинацию клавиш Shift+F10 (или Shift+Fn+F10 на некоторых моделях ноутбуков).
В открывшейся командной строке выполните запустите утилиту управления дисками, набрав команду:
diskpart
Выведите список дисков в системе:
list disk
На этом этапе очень важно определить тип таблицы разделов на диске, на котором установлена Windows: MBR или GPT. Дело в том, что EFI загрузчик используется только на дисках с GPT разметкой.
Если у диска в столбце Gpt указана звездочка (
*
), тогда на диске используется таблица разделов GPT, если нет – MBR.
Если с помощью diskpart вы определили, что на вашем диске используется GPT разметка, следуйте дальнейшим шагам инструкции по восстановлению загрузчика.
Если у вас разметка MBR, тогда данная инструкция не применима к вашему компьютеру. Скорее всего у вас компьютер с BIOS, или в настройках UEFI включен режим совместимости Legacy/Compatibility Support Module/CSM.
На MBR дисках загрузчик хранится на отдельном разделе System Reserved, а не на EFI разделе (ни в коем случае не конвертируйте таблицу разделов MBR в GPT, пока не исправите загрузчик!!) Используйте другую инструкцию по восстановлению BCD загрузчика на MBR (Master Boot Record) диске.
Выберите диск, на котором установлена ваша Windows (если жесткий диск в системе один, его индекс должен быть равен 0):
sel disk 0
Выведите список томов и разделов в системе:
list partition
list volume
В нашем примере видно, что загрузочный раздел EFI имеет индекс Partition2 (он же Volume 5 с меткой Hidden). Проще всего определить EFI размер по файловой системе FAT32, размеру 100 Мб (это стандартный минимальный размер для Windows компьютеров, в редких случая размер раздела может быть). Чаще всего для него используется метка — System EFI или ESP/ EFI System Partion).
В нашем примере основной раздел, на который установлена Windows, имеет индекс volume 2, отформатирован в файловая система NTFS и ему назначена буква C:.
В вашем случае назначенная буква диске может отличаться. Это зависит, как вы загрузили свой компьютер в среде WinPE. Проще всего определить его по размеру. Если вы не уверены, нужно проверить что на этом диске есть каталог Windows. Выйдите из утилиты diskpart (команда exit) и выполните команду:
dir C:\
Убедитесь, что на этом диске есть каталоги
Windows
,
Program Files
,
Users
и прочие.
Если этих каталогов нет, значит вашему диску с Windows назначена другая буква диска. Проверьте содержимоет дисков с другими буквами.
Запомните букву диска, назначенную разделу с Windows, чуть ниже мы будем использовать ее в качестве одного из аргументов команды bcdboot.
В таблице также обязательно должен быть раздел MSR (Microsoft System Reserved) размером 16 мб в Windows 10/11 (или 128 Мб в Windows 8.1).
Назначьте скрытому EFI разделу произвольную букву диска (например, M:):
select volume 5
assign letter M:
Должна появится строка, свидетельствующая об успешном назначении буквы диска разделу EFI:
DiskPart successfully assigned the drive letter or mount point.
Завершите работу с diskpart:
exit
Перейдите в каталог с загрузчиком на скрытом разделе:
cd /d m:\efi\microsoft\boot\
В данном случае M: это буква диска, присвоенная разделу EFI чуть выше. Если каталог \EFI\Microsoft\Boot\ отсутствует
The system cannot find the path specified
), попробуйте следующие команды:
cd /d M:\Boot\
или
cd /d M:\ESD\Windows\EFI\Microsoft\Boot\
На этом этапе многие рекомендуют выполнить следующие команды, которые должны перезаписать загрузочную запись раздела, найти установленные Windows и добавить их в BCD:
bootrec /fixboot
bootrec /scanos
bootrec /rebuildbcd
или даже:
bootrec /FixMbr
(восстановление MBR записи для GPT диска выглядит странным)
Все эти команды применимы только для дисков с MBR. Если ваш компьютер загружается в UEFI режиме, то на нем обязательно используется таблица разделов GPT (как раз наш случай). Поэтому при запуске команд
bootrec
вы увидите ошибку:
access is denied
Для исправления загрузочных записей на EFI разделе нужно использовать утилиту
BCDBoot
, а не bootrec.
Утилита BCDBoot позволяет восстановить файлы загрузчика на EFI разделе, скопировав их системного каталога на разделе с Windows. Конфигурация загрузчика BCD пересоздается с помощью шаблона %WINDIR%\System32\Config\BCD-Template.
С помощью команды
attrib
снимите атрибуты скрытый, read-only и системный с файла BCD:
attrib BCD -s -h -r
Удалите текущий файл с конфигурацией BCD, переименовав его (так вы сохраните старую конфигурацию в качестве резервной копии):
ren BCD BCD.bak
С помощью утилиты bcdboot.exe нужно скопировать из системного каталога критические файлы среды загрузки UEFI в загрузочный EFI раздел и пересоздать конфигурацию загрузчика в хранилище BCD:
bcdboot C:\Windows /l en-us /s M: /f ALL
где,
- C:\Windows – путь к корневому системному каталогу Windows на диске (это ваш диск, на который была установлена ваша Windows, мы узнали его ранее с помощью команды diskpart);
- /f ALL – означает, что необходимо скопировать файлы среды загрузки Windows, включая файлы для компьютеров с UEFI и BIOS (теоретическая возможность загружаться на EFI и BIOS системах). Чтобы скопировать только EFI загрузчик, используйте команду /f UEFI;
- /l en-us — определяет языковой стандарт, который используется при инициализации хранилища BCD. По умолчанию используется en-US — английский язык (США);
- /s M: — скопировать файлы EFI загрузчика на указанный раздел;
- /с – эта новая опция BCDBoot в Windows 10, которая позволяет перезатереть имеющиеся загрузочные записи при создании нового хранилища (в том числе debugsettings). Используйте этот параметр, чтобы игнорировать старые настройки и создать полностью чистую конфигурацию BCD загрузчика;
- /v – используется для включения режима вывода подробной информации BCDBoot..
Теперь, если выполнить команду bcdedit, вы увидите следующую картину:
В секции диспетчера загрузки Windows (Windows Boot Manager) должна появится запись, указывающая на полный путь к файлу управления загрузкой UEFI. В этом примере он находится на разделе 2 (
partition=\Device\HarddiskVolume2
), путь
\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
.
Windows Boot Manager -------------------- identifier {bootmgr} device partition=\Device\HarddiskVolume2 path \EFI\Microsoft\Boot\bootmgfw.efi description Windows Boot Manager locale en-US inherit {globalsettings} bootshutdowndisabled Yes default {CURRENT} resumeobject {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} displayorder {default} toolsdisplayorder {memdiag} timeout 30 Windows Boot Loader ------------------- identifier {current} device partition=C: path \Windows\system32\winload.efi description Windows Server 10 locale en-US inherit {bootloadersettings} recoverysequence {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} recoveryenabled Yes isolatedcontext Yes allowedinmemorysettings 0x15000075 osdevice partition=C: systemroot \Windows resumeobject {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
В секции Windows Boot Manager должен быть указан путь к EFI разделу (
=\Device\HarddiskVolume2
), путь к файлу управления загрузкой (bootmgfw.efi). В секции Windows Boot Loader указан раздел Windows и путь к EFI загрузчику Windows (
\Windows\system32\winload.efi
). При включении компьютер передаст управление диспетчеру загрузки EFI, который запустит загрузчик Windows.
Возможные ошибки:
Перезагрузите компьютер, отключите загрузочный диск. Если вы все сделали правильно, в выборе устройств загрузки должен появиться пункт Windows Boot Manager в котором можно выбрать загрузку нужной операционной системы. Ваш EFI загрузчик и конфигурация BCD успешно восстановлены!
В некоторых случаях после восстановления BCD загрузчика, при загрузке Windows появляется ошибка
BAD SYSTEM CONFIG INFO
. Чтобы исправить ошибку:
Убедитесь, что вы не вносили недавно изменения в настройки UEFI
Загрузитесь с установочной/загрузочной флешки и измените конфигурацию загрузчика командами:
-
bcdedit /deletevalue {default} numproc
-
bcdedit /deletevalue {default} truncatememory
Многие из наc сталкиваются с Windows Boot Manager, но не понимают, что это такое. Иногда данное меню появляется при загрузке ноутбука. Что делать в таких ситуациях? Рассказываем в нашем материале.
Источник: Super User / Boot Manager
Windows Boot Manager (bootmgr) — это системный компонент операционной системы Windows, который отвечает за загрузку операционной системы. Он был введен в Windows Vista и продолжает использоваться в последующих версиях, включая Windows 7, 8, 10 и 11. Boot Manager является частью архитектуры загрузки системы и выполняет несколько ключевых функций:
- Управление процессом загрузки — Windows Boot Manager определяет, какую операционную систему запускать, и передает управление загрузке ядра (Windows Loader, winload.exe). В случае, если на компьютере установлено несколько операционных систем, Boot Manager предоставляет меню для выбора, какую из них загрузить;
- Загрузка загрузочного конфигурационного файла (BCD) — Boot Manager загружает и интерпретирует данные из Boot Configuration Data (BCD) — это хранилище, в котором содержатся параметры и опции загрузки для установленных операционных систем;
- Работа с многозагрузочными конфигурациями — Boot Manager поддерживает загрузку нескольких операционных систем, позволяя пользователю выбирать среди них при старте компьютера.
Сравнение с NTLDR
Источник: Wondershare Recover It / NTLDR
NTLDR (NT Loader) — это предшественник Windows Boot Manager, который использовался в более ранних версиях Windows, таких как Windows NT, 2000 и XP. Хотя NTLDR и Boot Manager выполняют схожие функции, они существенно различаются по архитектуре, функциональности и возможностям.
Boot Manager |
NTLDR |
|
Архитектура |
Имеет модульную архитектуру и разделяет функции между несколькими компонентами, такими как Boot Manager (bootmgr) и Windows Loader (winload.exe). Это позволяет более гибко управлять процессом загрузки и расширяет возможности загрузчика |
Был монолитным загрузчиком, который управлял загрузкой операционной системы и сразу загружал ядро Windows, а также мог загружать более старые версии DOS с использованием файла boot.ini. |
Поддержка современных технологий |
Поддерживает как MBR, так и GPT (GUID Partition Table), а также работает в средах UEFI, что делает его более универсальным и современным инструментом для управления загрузкой операционной системы. |
Был ограничен по своим возможностям и не поддерживал современные технологии, такие как UEFI, и новые файловые системы. Он работал только с MBR (Master Boot Record) и не мог эффективно взаимодействовать с новыми аппаратными стандартами. |
Конфигурация и управление |
Boot Manager использует более сложную и мощную систему конфигурации на базе BCD (Boot Configuration Data), которая предоставляет расширенные возможности для настройки и управления процессом загрузки, включая поддержку различных операционных систем и конфигураций оборудования. |
Конфигурация загрузки в NTLDR осуществлялась через простой текстовый файл boot.ini, который ограничивал возможности пользователя в настройке загрузки и усложнял управление многозагрузочными системами. |
Графический интерфейс |
Предлагает более удобный и понятный графический интерфейс для выбора операционной системы, что упрощает взаимодействие пользователя с системой. |
Предоставлял текстовое меню для выбора операционной системы при многозагрузочной конфигурации, что было функционально, но ограничено в возможностях. |
Как работает Windows Boot Manager
Работа начинается сразу после включения компьютера и завершает свои действия перед запуском ядра операционной системы.
Этапы загрузки
Процесс загрузки с использованием Windows Boot Manager можно разделить на несколько этапов:
- Инициализация BIOS/UEFI. Когда компьютер включается, первичный процесс загрузки начинается с BIOS (Basic Input/Output System) или UEFI (Unified Extensible Firmware Interface). Эта программа загружается первой и проверяет основные компоненты системы (процессор, память, устройства ввода-вывода). BIOS или UEFI определяет, с какого устройства нужно загрузить операционную систему (жесткий диск, SSD, USB-накопитель и так далее);
- Загрузка Windows Boot Manager. После завершения работы BIOS/UEFI управление передается Windows Boot Manager, который находится на системном разделе жесткого диска (обычно этот раздел скрыт от пользователя). Boot Manager загружает и читает файл конфигурации BCD (Boot Configuration Data), который содержит информацию о доступных операционных системах и их параметрах загрузки;
- Меню выбора операционной системы. Если на компьютере установлено несколько операционных систем, Windows Boot Manager отображает меню выбора, позволяя пользователю выбрать, какую операционную систему загрузить. В случае отсутствия альтернативных ОС Boot Manager автоматически загружает единственную доступную систему;
- Передача управления Windows Loader. После выбора или автоматической загрузки операционной системы Windows Boot Manager передает управление Windows Loader (winload.exe). Этот компонент отвечает за загрузку ядра операционной системы и всех необходимых драйверов для начала работы системы;
- Загрузка ядра операционной системы. Windows Loader загружает ядро Windows, инициализирует системные драйверы и запускает системные процессы, такие как управление памятью и взаимодействие с оборудованием. После успешной загрузки ядра система переходит в стадию инициализации пользовательских процессов и служб.
Конфигурационные файлы
Windows Boot Manager использует несколько конфигурационных файлов и данных для управления процессом загрузки:
- BCD (Boot Configuration Data) — является центральным хранилищем конфигурационных данных, которые используются Windows Boot Manager. В нем содержатся записи о каждой установленной операционной системе, а также параметры загрузки, такие как путь к загрузчику ОС, режимы загрузки (обычный, безопасный или другой), а также параметры, влияющие на работу оборудования;
- winload.exe — исполняемый файл, загружаемый Windows Boot Manager после выбора операционной системы. Он отвечает за загрузку ядра и начальных драйверов, необходимых для запуска ОС;
- bootmgr — является основным исполняемым файлом Windows Boot Manager. Он хранится в корне системного раздела и загружается BIOS/UEFI для инициализации процесса загрузки.
Взаимодействие с BIOS/UEFI
Источник: Xataka Windows / BIOS и UEFI
BIOS и UEFI — это программные интерфейсы, которые находятся на границе между аппаратным обеспечением компьютера и операционной системой. Их основная задача — инициализировать и тестировать оборудование перед запуском операционной системы, а также передать управление загрузчику (в данном случае Windows Boot Manager).
BIOS работает в режиме реального времени и использует MBR (Master Boot Record) для управления загрузкой. В случае с BIOS Windows Boot Manager хранится на системном разделе, и управление передается через указание на загрузочный сектор диска, который запускает bootmgr.
UEFI является более современным интерфейсом и поддерживает работу с GPT (GUID Partition Table), что позволяет управлять загрузкой более эффективно и использовать объемы дисков, превышающие 2 ТБ. В UEFI Windows Boot Manager находится в разделе EFI, и управление передается через специальный загрузочный менеджер UEFI, который запускает bootmgfw.efi (аналог bootmgr в среде UEFI).
BIOS и UEFI могут работать в разных режимах. Для Windows это может быть либо Legacy BIOS, либо UEFI. При использовании UEFI возможна работа в режимах Secure Boot, который предотвращает загрузку неподписанного кода, тем самым защищая систему от вредоносных программ.
Можно ли отключить Windows Boot Manager?
Источник: Make Use Of / Windows Logo
Технически, Windows Boot Manager можно отключить, но это не рекомендуется для стабильной работы системы. Boot Manager является ключевым компонентом процесса загрузки Windows и управляет выбором операционной системы, настройками конфигурации загрузки и взаимодействием с ядром системы.
Отключение Boot Manager может привести к ряду проблем, таких как невозможность загрузить операционную систему, нарушение конфигураций многозагрузочных систем или повреждение данных загрузки.
Почему не рекомендуется отключать Boot Manager
- Отключение Windows Boot Manager может сделать систему нестабильной или даже нерабочей. Этот компонент управляет процессом загрузки и обеспечивает правильную передачу управления ядру ОС. Без него Windows не сможет корректно загружаться;
- Если на вашем компьютере установлено несколько операционных систем (например, Windows и Linux), отключение Boot Manager приведет к потере возможности выбирать между ними при загрузке. Это может усложнить процесс управления многозагрузочными конфигурациями;
- В современных системах с UEFI и Secure Boot отключение Boot Manager может привести к нарушению работы системы безопасности, а также вызвать ошибки при загрузке ОС;
- Boot Manager опирается на файл конфигурации BCD для управления параметрами загрузки, такими как выбор операционной системы или безопасный режим. Без Boot Manager система не сможет корректно обрабатывать эти параметры.
Временное отключение
Если необходимо временно отключить или скрыть меню Windows Boot Manager, это можно сделать путем изменения настроек. Однако важно понимать, что такое отключение является временной мерой, и система будет по-прежнему использовать Boot Manager для загрузки.
Можно настроить время отображения меню выбора операционной системы. Для этого нужно изменить тайм-аут в файле BCD с помощью утилиты bcdedit. Например:
- bashCopy codebcdedit /timeout 0
Это отключит отображение меню выбора ОС, и система будет загружаться автоматически без задержки.
Если на компьютере установлено несколько операционных систем, можно выбрать одну из них по умолчанию и автоматически загружать её, не отображая меню выбора. Это можно сделать через настройки системы:
- Нажмите Win + R, введите msconfig.
Источник: CQ / Windows 11
- В разделе «Загрузка» выберите нужную ОС и установите ее по умолчанию.
Источник: CQ / Windows 11
- Установите таймер загрузки на 0 секунд.
Альтернативные варианты загрузки одной ОС
В системах с UEFI вы можете настроить загрузку ОС напрямую через интерфейс UEFI, выбрав в меню загрузки нужный диск или раздел, содержащий операционную систему. Это позволяет загружаться в обход некоторых функций Boot Manager, но в случае сбоя все равно потребуется восстановить Boot Manager.
Существуют сторонние загрузчики, такие как GRUB (обычно используется в системах Linux), которые могут управлять процессом загрузки на уровне выше, чем Boot Manager. Однако использование таких загрузчиков требует знаний и конфигурации и может привести к дополнительным сложностям в системах с Windows.
Заглавное фото: HP
This article is about startup process in Windows Vista and later versions. For older versions, see NTLDR.
The Windows Boot Manager (BOOTMGR
) is the bootloader provided by Microsoft for Windows NT versions starting with Windows Vista and Windows Server 2008. It is the first program launched by the BIOS or UEFI of the computer and is responsible for loading the rest of Windows.[1] It replaced the NTLDR present in older versions of Windows.
Windows Boot Manager
Windows Boot Manager operating system select menu |
|
Other names | BOOTMGR |
---|---|
Developer(s) | Microsoft |
Operating system | Windows |
Predecessor | NTLDR |
Type | Bootloader |
License | Proprietary |
The boot sector or UEFI loads the Windows Boot Manager (a file named BOOTMGR
on either the system or the boot partition), accesses the Boot Configuration Data store and uses the information to load the operating system through winload.exe
or winresume.exe
on BIOS systems, and winload.efi
and winresume.efi
on UEFI systems.[2]
On system with BIOS firmware, the BIOS invokes MBR boot code from a hard disk drive at startup. The MBR boot code and the VBR boot code are OS-specific. In Microsoft Windows, the MBR boot code tries to find an active partition (the MBR is only 512 bytes), then executes the VBR boot code of an active partition. The VBR boot code tries to find and execute the bootmgr
file from an active partition.[3]
On systems with UEFI firmware, UEFI invokes bootmgfw.efi
from an EFI system partition at startup, starting the Windows Boot Manager.
Once launched the Windows Boot Manager reads the Boot Configuration Data to determine what operating systems are present and if it should present the user with a menu allowing them to select which operating system to boot. Before Windows Vista, this data was contained in boot.ini.
These menu entries can include:
- Options to boot Windows Vista and later by invoking winload.exe.
- Options to resume Windows Vista and later from hibernation by invoking winresume.exe.
- Options to boot a prior version of the Windows NT family by invoking its NTLDR.
- Options to load and to execute a volume boot record.
Operating system loading
edit
The operating system is loaded by individual boot loaders for each install of Windows, called the Windows Boot Loader.
The Windows Boot Manager invokes winload.exe
—the operating system boot loader—to load the operating system kernel executive (ntoskrnl.exe) and core device drivers. In that respect, winload.exe is functionally equivalent to the operating system loader function of NTLDR in prior versions of Windows NT. In UEFI systems, the file is called winload.efi
and the file is always located at \windows\system32
or \windows\system32\boot
.
If the computer has recently hibernated, then bootmgr
will instead invoke winresume.exe
. In UEFI systems, the file is called winresume.efi
and is always located at \windows\system32
or \windows\system32\boot
.[4]
Boot Configuration Data
edit
Boot Configuration Data (BCD) is a firmware-independent database for boot-time configuration data.[5] It is used by Microsoft’s Windows Boot Manager and replaces the boot.ini that was used by NTLDR.
Boot Configuration Data is stored in a data file that has the same format as Windows Registry hives and is eventually mounted at registry key HKEY_LOCAL_MACHINE\BCD00000[6] (with restricted permissions[7]). For UEFI boot, the file is located at /EFI/Microsoft/Boot/BCD
on the EFI System Partition. For traditional BIOS boot, the file is at /boot/BCD
on the active partition.[8]
bcdedit
Developer(s) | Microsoft |
---|---|
Operating system | Microsoft Windows |
Type | Command |
License | Proprietary commercial software |
Website | docs |
Boot Configuration Data may be altered using a command-line tool (bcdedit.exe), using the Registry Editor[6] (regedit.exe), using Windows Management Instrumentation, or with third-party tools such as EasyBCD, BOOTICE,[9] or Visual BCD Editor.[10]
Boot Configuration Data allows for third-party integration, so anyone can implement tools like diagnostics or recovery options
- Booting process of Windows NT
- Windows Vista I/O technologies
- ^ barrygolden. «Boot and UEFI – Windows drivers». learn.microsoft.com. Retrieved 2023-03-20.
- ^ de Boyne Pollard, Jonathan. «The Windows NT 6 boot process». Frequently Given Answers. Archived from the original on August 26, 2016.
- ^ «Boot Sequence of Windows Multi-Boot – Multibooters.com». www.multibooters.com. Archived from the original on 2024-02-27. Retrieved 2020-11-19.
- ^ Hudek, Ted; Marshall, Don; Graf, Eliot (23 April 2019). «Overview of Boot Options in Windows». Microsoft Docs Hardware Dev Center. Microsoft. Archived from the original on 21 April 2020. Retrieved 21 April 2020.
- ^ Marshall, Don. «Overview of Boot Options in Windows – Windows drivers». learn.microsoft.com. Retrieved 2023-03-20.
- ^ a b Russinovich, Mark (8 November 2011). «Fixing Disk Signature Collisions». Mark’s Blog. Microsoft Corporation. Microsoft TechNet. Retrieved 5 February 2021.
- ^ «Why can’t I edit the system BCD store via regedit?».
- ^ Microsoft. «Knowledge Base Article ID: 2004518». Archived from the original on 16 January 2010.
- ^ Pauly. «BOOTICE board index». Archived from the original on 2013-12-28. Retrieved 2013-12-27.
- ^ Bo Yans. «Visual BCD Editor».
- de Boyne Pollard, Jonathan. «The Windows NT 6 boot process». Frequently Given Answers.
Windows Boot Manager — загрузчик операционных систем Windows Vista/7/8/10. Естественно поддерживается EFI режим загрузки. И конечно же его можно использовать не только для загрузки Windows.
Для примера скриншот меню одной мультизагрузочной сборки, где в качетсве загрузчика использовался Windows Boot Manger.
Нет поддержки загрузки образов дисков, таких как ISO, IMG и т.д., но данный вопрос решается с помощью загрузчика Grub4Dos, который используется в качестве посредника.
Сам загрузчик состоит из записи MBR (используется только в режиме загрузки BIOS), исполняемого файла загрузчика bootmgr или bootmgfw.efi для EFI, и файла конфигурации BCD (Boot Configuration Data).
Скачать файлы bootmgr и bootmgr.efi, можно из самой операционной системы, по путям
C:\Windows\Boot\PCAT\bootmgr
и
C:\Windows\Boot\EFI\
bootmgfw.efi. Записать MBR на нужный диск можно будет в командной строке Windows, с помощью команды bootsect, или с помощью программы BOOTICE.
Создать и редактировать файл конфигурации BCD, можно либо через командную строку (команда bcdedit), либо более удобно, с помощью программы EasyBCD или BOOTICE.
Проблема:
Не загружается Windows: Boot configuration data is missing EFI\Microsoft\Boot\BCD
The boot configuration data for your PC is missing or contains errors.
File :\EFI\Microsoft\Boot\BCD
Error code: 0xc000000f
или
Ваш компьютер нуждается в ремонте Данные конфигурации загрузки для вашего ПК отсутствуют или содержат ошибки Файл:\EFI\Microsoft\Boot\BCD
Код ошибки: 0xc000000f
или
The boot configuration data store could not be found.
The requested system device cannot be found.
Примечание: Если при загрузке Windows появляется только черный экран с надписью «Operating System not found», скорее всего загрузчик Windows полностью удален. В этом случае следует воспользоваться советами из статьи Ошибка ‘Operating system wasn’t found’ при загрузке компьютера.
Решение:
Автоматическое восстановление загрузчика Windows
Процедура автоматического восстановления загрузчика, зашитая в среду восстановления Windows (WinRe), как правило, в таких случаях бессильна. Но попробовать все же стоит:
-
Загружаемся с загрузочного диска, диска восстановления или установочной флешки с Windows 10 или 11;
-
На экране установки нажимаем кнопку Восстановление системы;
-
Выбираем пункт Поиск и устранение неисправностей -> Восстановление при загрузке и выбираем ОС, загрузчик которой нужно попытаться восстановить;
- 01.jpg (26.51 КБ) 736 просмотров
-
Скорее всего результат будет отрицательный:
Восстановление при загрузке не удалось восстановить компьютер
-
Ручное восстановление загрузчика Windows с помощью BCDBoot
-
Для восстановления конфигурации загрузчика (BCD), необходимо загрузить компьютер с оригинального установочного диска с Windows (диска восстановления или специально подготовленной установочной USB флешки с Windows ). После загрузки в среде восстановления открываем окно командной строки и выбираем Восстановление системы -> Диагностика -> Командная строка (System Restore -> Troubleshoot -> Command Prompt):
-
-
Запускаем утилиту управления дисками:
-
Выводим список дисков в системе:
На этом этапе очень важно определить тип таблицы разделов на диске, на котором установлена Windows: MBR или GPT. Дело в том, что EFI загрузчик используется только на дисках с GPT разметкой.
Если у диска в столбце Gpt указана звездочка ( * ), тогда на диске используется таблица разделов GPT, если нет – MBR:Если у вас разметка MBR, тогда данная инструкция не применима к вашему компьютеру. Скорее всего у вас компьютер с BIOS, или в настройках UEFI включен режим совместимости Legacy/Compatibility Support Module/CSM.
На MBR дисках загрузчик хранится на отдельном разделе System Reserved, а не на EFI разделе (ни в коем случае не конвертируйте таблицу разделов MBR в GPT, пока не исправите загрузчик!!) Используйте другую инструкцию по восстановлению BCD загрузчика на MBR (Master Boot Record) диске.
-
-
Выбираем диск, на котором установлена ОС MS Windows (если жесткий диск в системе один, его индекс должен быть равен 0):
-
Выводим список томов и разделов в системе:
В этом примере видно, что загрузочный раздел EFI имеет индекс Partition2 (он же Volume 5 с меткой Hidden). Проще всего определить EFI размер по файловой системе FAT32, размеру 100 Мб (это стандартный минимальный размер для Windows компьютеров, в редких случая размер раздела может быть). Чаще всего для него используется метка — System EFI или ESP/ EFI System Partion).
В этом примере основной раздел, на который установлена Windows, имеет индекс volume 2, отформатирован в файловая система NTFS и ему назначена буква C:.
В каждом индивидуальном случае назначенная буква диске может отличаться. Это зависит, в частности от того, как загружен компьютер в среде WinPE. Проще всего определить этот раздел по размеру. Нужно проверить что на этом диске есть каталог Windows. Выходим из утилиты diskpart (команда exit) и убеждаемся, что на этом диске есть каталоги Windows , Program Files , Users и прочие.:
Если этих каталогов нет, значит диску с Windows назначена другая буква диска. В этом случае следует проверить содержимое дисков с другими буквами.
-
-
Запоминаем букву диска, назначенную разделу с Windows, чуть ниже она пригодится в качестве одного из аргументов команды bcdboot.
В таблице также обязательно должен быть раздел MSR (Microsoft System Reserved) размером 16 мб в Windows 10/11 (или 128 Мб в Windows 8.1).
Если отдельный EFI или MSR раздел отсутствует, их можно пересоздать вручную по инструкции.
-
Назначаем скрытому EFI разделу произвольную букву диска (например, M:):
Появится строка, свидетельствующая об успешном назначении буквы диска разделу EFI:
DiskPart successfully assigned the drive letter or mount point.
-
Завершаем работу с diskpart:
-
Переходим в каталог с загрузчиком на скрытом разделе:
В данном случае M: это буква диска, присвоенная разделу EFI чуть выше. Если каталог \EFI\Microsoft\Boot\ отсутствует
The system cannot find the path specified
пробуем команды:
или
На этом этапе многие рекомендуют выполнить следующие команды, которые должны перезаписать загрузочную запись раздела, найти установленные Windows и добавить их в BCD:
Код: Выделить всё
bootrec /fixboot bootrec /scanos bootrec /rebuildbcd
или даже:
(восстановление MBR записи для GPT диска выглядит странным)
Все эти команды применимы только для дисков с MBR. Если компьютер загружается в UEFI режиме, то на нем обязательно используется таблица разделов GPT. Поэтому при запуске команд bootrec мы увидим ошибку: access is denied
Для исправления загрузочных записей на EFI разделе нужно использовать утилиту BCDBoot , а не bootrec.
Утилита BCDBoot позволяет восстановить файлы загрузчика на EFI разделе, скопировав их системного каталога на разделе с Windows. Конфигурация загрузчика BCD пересоздается с помощью шаблона %WINDIR%\System32\Config\BCD-Template
-
Снимаем атрибуты скрытый, read-only и системный с файла BCD:
-
Удаляем текущий файл с конфигурацией BCD, переименовав его (для сохранения старой конфигурацию в качестве резервной копии):
-
Копируем из системного каталога критические файлы среды загрузки UEFI в загрузочный EFI раздел и пересоздаем конфигурацию загрузчика в хранилище BCD:
Здесь:
-
C:\Windows – путь к корневому системному каталогу Windows на диске (диск, на который была установлена Windows, мы узнали его ранее с помощью команды diskpart);
-
/f ALL – означает, что необходимо скопировать файлы среды загрузки Windows, включая файлы для компьютеров с UEFI и BIOS (теоретическая возможность загружаться на EFI и BIOS системах). Чтобы скопировать только EFI загрузчик, используем команду /f UEFI;
-
/l en-us — определяет языковой стандарт, который используется при инициализации хранилища BCD. По умолчанию используется en-US — английский язык (США);
-
/s M: — скопировать файлы EFI загрузчика на указанный раздел;
-
/с – эта новая опция BCDBoot в Windows 10, которая позволяет затереть имеющиеся загрузочные записи при создании нового хранилища (в том числе debugsettings). Этот параметр следует использовать для того, чтобы игнорировать старые настройки и создать полностью чистую конфигурацию BCD загрузчика;
-
/v – используется для включения режима вывода подробной информации BCDBoot
В случае использования русской версии Windows команда будет другая
Полный список языковых стандартов для Windows (ru-RU. En-GB, be-BY, uk-UA и т.д.) доступен здесь.
Теперь, если выполнить команду bcdedit, в секции диспетчера загрузки Windows (Windows Boot Manager) должна появится запись, указывающая на полный путь к файлу управления загрузкой UEFI. В этом примере он находится на разделе 2 ( partition=\Device\HarddiskVolume2 ), путь \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI:
В секции Windows Boot Manager должен быть указан путь к EFI разделу ( =\Device\HarddiskVolume2 ), путь к файлу управления загрузкой (bootmgfw.efi). В секции Windows Boot Loader указан раздел Windows и путь к EFI загрузчику Windows ( \Windows\system32\winload.efi ). При включении компьютер передаст управление диспетчеру загрузки EFI, который запустит загрузчик Windows.
Возможные ошибки:
-
BFSVC Error : Could not open the BCD template store. status – [c000000f] – проверьте правильность введенной команды. Возможно у вас установлена локализованная версия Windows. В этом случае нужно правильно указать код языка системы (local language code). Утилита bcdboot копирует файлы шаблонов BCD из каталога \Windows\System32\Config. Проверьте есть ли в этом каталоге файл BCD-Template:
Если BCD шаблоны в этой папке повреждены или удалены, попробуйте проверить целостность системных файлов в офлайн режиме (понадобится установочный диск с Windows – диск D:):
Код: Выделить всё
sfc /scanow /OFFBOOTDIR=C:\ /OFFWINDIR=D:\WINDOWS
-
-
BFSVC Error: Error copying boot files Last Error = 0x570 – попробуйте выполнить проверку диска с помощью команды
-
BFSVC Error: Failed to set element application device. Status = [c000000bb] – проверьте с помощью chkdsk.exe разделы с EFI и Windows 10. Проверьте, что снят атрибут скрытый и системный у файла BCD. Удалите его:
Код: Выделить всё
attrib -s -h \EFI\Microsoft\Boot\BCD del \EFI\Microsoft\Boot\BCD
-
-
Failure when initializing library system volume – проверьте, что используеся правильный FAT32 раздел с EFI (возможно на компьютере их несколько);
-
Failure when attempting to copy boot files – проверьте букву диска Windows в команде. На скриншоте ошибка появилась при попытке скопировать файлы загрузки с диска C:. В данном случае диску с Windows назначена другая буква, например D:. Найти диск с Windows и назначенную букву можно с помощью diskpart (описано выше):
- 11.jpg (9.57 КБ) 735 просмотров
-
-
Перезагружаем компьютер, отключаем загрузочный диск. Если все сделано правильно, в выборе устройств загрузки должен появиться пункт Windows Boot Manager в котором можно выбрать загрузку нужной операционной системы. Ваш EFI загрузчик и конфигурация BCD успешно восстановлены!
В некоторых случаях после восстановления BCD загрузчика, при загрузке Windows появляется ошибка
BAD SYSTEM CONFIG INFO
Чтобы исправить ошибку:
Убеждаемся, что в настройки UEFI в недавнем времени не делалось изменений;
Загружаемся с установочной/загрузочной флешки и изменяем конфигурацию загрузчика:
Код: Выделить всё
bcdedit /deletevalue {default} numproc bcdedit /deletevalue {default} truncatememory
Почитать по теме:
-
Восстановление EFI загрузчика в Windows 10 и 11
-
Ошибка ‘Operating system wasn’t found’ при загрузке компьютера