Время на прочтение
6 мин
Количество просмотров 527K
Как устроена загрузка современных ОС? Как при установке системы настроить загрузку посредством UEFI, не утонув в руководствах и ничего не сломав?
Я обещал «самое краткое руководство». Вот оно:
- Создаём на диске таблицу разделов GPT
- Создаём FAT32-раздел на пару сотен мегабайт
- Скачиваем из интернета любой UEFI-загрузчик
(нам нужен сам загрузчик, это один бинарный файл!) - Переименовываем и кладем этот файл на созданный раздел по адресу /EFI/Boot/bootx64.efi
- Создаём текстовый конфиг, кладем его там, где загрузчик ожидает его увидеть
(настройка и местоположение конфига зависят от конкретной реализации загрузчика, эта информация доступна в интернете) - После перезагрузки видим меню загрузчика
(Если на диске установлена Windows 8 или 10 — с большой вероятностью это руководство сокращается до пунктов 3 — 5.)
TL;DR не надо прописывать путь к загрузчику в новых загрузочных записях UEFI — надо файл загрузчика расположить по стандартному «пути по-умолчанию», где UEFI его найдет, и вместо загрузочного меню UEFI пользоваться меню загрузчика, которое гораздо проще и безопаснее настраивается
Как делать не надо
Есть, на самом-то деле, несколько способов настроить UEFI-загрузку. Я начну с описания других вариантов — чтобы было понятно, как (и почему) делать не надо. Если вы пришли за руководством — мотайте в самый низ.
Не надо лезть в NVRAM и трогать efivars
Наиболее «популярная» процедура установки загрузчика в систему такова: установщик ОС создаёт специальный раздел, на нём — структуру каталогов и размещает файлы загрузчика. После этого он с помощью особой утилиты (efibootmgr в linux, bcdedit в windows) взаимодействует с прошивкой UEFI-чипа, добавляя в неё загрузочную запись. В этой записи указывается путь к файлу загрузчика (начиная от корня файловой системы) и при необходимости — параметры. После этого в загрузочном меню компьютера появляется опция загрузки ОС. Для linux существует возможность вообще обойтись без загрузчика. В загрузочной записи указывается путь сразу к ядру вместе со всеми параметрами. Ядро должно быть скомпилировано с опцией EFISTUB (что давно является стандартом для большинства дистрибутивов), в этом случае оно содержит в себе заголовок «исполняемого файла EFI», позволяющий прошивке его запускать без внешнего загрузчика.
При старте системы, когда пользователь выбирает нужную ему загрузочную запись, прошивка UEFI сперва ищет на прописанном в этой записи диске особый EFI-раздел, обращается к файловой системе на этом разделе (обязательно FAT или FAT32), и запускает загрузчик. Загрузчик считывает из файла настроек свой конфиг, и либо грузит ОС, либо предоставляет загрузочное меню. Ничего не замечаете? Да, у нас два загрузочных меню — одно на уровне прошивки чипа UEFI, другое — на уровне загрузчика. В реальности о существовании второго пользователи могут даже не догадываться — если в меню всего один пункт, загрузчик Windows начинает его грузить без лишних вопросов. Увидеть экран с этим меню можно, если поставить вторую копию Windows или просто криво её переустановить.
Обычно для управления загрузочными записями руководства в интернете предлагают взаимодействовать с прошивкой UEFI. Есть аж пять основных вариантов, как это можно сделать: efibootmgr под linux, bcdedit в windows, какая-то софтина на «Маках», команда bcfg утилиты uefi shell (запускается из-под UEFI, «на голом железе» и без ОС, поскольку скомпилирована в том самом особом формате) и для особо качественных прошивок — графическими средствами UEFI (говоря популярным языком, «в настройках BIOS»).
За всеми вышенаписанными «многобуков» вы могли легко упустить такую мысль: пользователь, чтобы изменить настройки программной части (например, добавить параметр запуска ОС), вынужден перезаписывать flash-память микросхемы на плате. Есть ли тут подводные камни? О да! Windows иногда способна сделать из ноутбука кирпич, linux тоже, причём разными способами. Качество прошивок часто оставляет желать лучшего — стандарты UEFI либо реализованы криво, либо не реализованы вообще. По логике, прошивка обязана переживать полное удаление всех переменных efivars без последствий, не хранить в них критичных для себя данных и самостоятельно восстанавливать значения по-умолчанию — просто потому что пользователь имеет к ним доступ, и вероятность их полного удаления далека от нуля. Я лично в процессе экспериментов неоднократно (к счастью, обратимо) «кирпичил» свой Lenovo — из загрузочного меню исчезали все пункты, включая опцию «зайти в настройки».
Работа с загрузочными записями UEFI — тоже не сахар. К примеру, утилита efibootmgr не имеет опции «редактировать существующую запись». Если ты хочешь немного изменить параметр ядра — ты удаляешь запись целиком и добавляешь её снова, уже измененную. При этом строка содержит в себе двойные и одинарные кавычки, а также прямые и обратные слеши в не особо очевидном порядке. Когда я наконец заставил эту магию работать — я сохранил её в виде bash-скриптов, которые до сих пор валяются у меня в корневой ФС:
efibootmgr -c -L "Archlinux (debug)" -l '\EFI\archlinux\vmlinuz-linux' -u "root=/dev/mapper/vg1-lvroot rw initrd=\EFI\archlinux\initramfs-linux.img systemd.log_level=debug systemd.log_target=kmsg log_buf_len=1M enforcing=0"
Не надо использовать GRUB
Это чёртов мастодонт, 90% функциональности которого предназначено для дисков с MBR. Для настройки необходимо отредактировать ряд файлов, после чего выполнить команду генерации конфига. На выходе получается огромная малопонятная нормальному человеку простыня. В составе — гора исполняемых файлов. Ставится командой, которую просто так из головы не возьмешь — надо обязательно лезть в документацию
grub-install --target=x86_64-efi --efi-directory=esp_mount --bootloader-id=grub
Для сравнения — самый простенький UEFI-bootloader, который есть в составе пакета systemd, ставится командой
bootctl install --path=/boot
Эта команда делает ровно две вещи: копирует исполняемый файл загрузчика на EFI-раздел и добавляет свою загрузочную запись в прошивку. А конфиг для неё занимает ровно СЕМЬ строчек.
«Самое краткое руководство» — чуть более подробно
Загрузочное меню надо реализовывать на уровне загрузчика — править текстовые конфиги гораздо проще и безопасней.
Загрузочная запись нам не нужна — дело в том, что при выставлении в настройках BIOS загрузки с диска прошивка UEFI сначала ищет на нём EFI-раздел, а затем пытается исполнить файл по строго фиксированному адресу на этом разделе: /EFI/Boot/BOOTX64.EFI
Что такое «EFI-раздел»? В теории, он должен иметь особый тип «EFI System» (ef00). На практике, годится первый раздел на GPT-диске, отформатированный в FAT32 и имеющий достаточно места, чтобы разместить загрузчик и вспомогательные файлы (если есть).
Пункт 3: «Скачиваем из интернета любой UEFI-загрузчик». Что это значит? Загрузчик — это просто исполняемый файл определенного формата, к которому в комплекте идет конфиг. К примеру, если у вас есть под рукой установленный пакет с systemd — файл загрузчика можно найти по адресу /usr/lib/systemd/boot/efi/systemd-bootx64.efi, переименовать его в bootx64.efi и скопировать в /EFI/Boot/ на EFI-разделе. Нет под рукой systemd? Скачайте архив с сайта Archlinux. Или с репозитария Ubuntu. Или Debian. Есть под рукой система с Windows? Возьмите виндовый загрузчик оттуда, тоже сгодится )) Если сумеете настроить, я честно говоря не пробовал.
Пункт 4: «Настроить конфиг». Как и обычная программа, когда загрузчик запускается — он ожидает найти по определенным путям файлы конфигурации. Обычно эту информацию легко найти в интернете. Для загрузчика systemd-boot нам необходимо в корне EFI-раздела создать каталог «loader», а в нём файл «loader.conf» с тремя строчками (привожу свои):
default archlinux
timeout 10
editor 1
Параметр editor отвечает за возможность отредактировать пункт загрузочного меню перед запуском.
Рядом с loader.conf необходимо создать каталог entries — один файл в нём будет отвечать за одну загрузочную запись в boot-меню. У меня там один файл arch.conf с таким содержанием:
title Arch Linux
linux /efi/archlinux/vmlinuz-linux
initrd /efi/archlinux/initramfs-linux.img
options root=/dev/mapper/vg1-lvroot rw initrd=\EFI\archlinux\intel-ucode.img
Я не упомянул, но довольно очевидно — ядро и initramfs должны лежать в одной файловой системе с загрузчиком, то есть на EFI-разделе. Пути к ним в конфигах отсчитываются от корня этой ФС.
Другие загрузчики
systemd-boot очень простой и предоставляет спартанского вида чёрно-белое меню. Есть варианты красивей, если душа просит красоты.
rEFind — очень красивый загрузчик. Скачать можно тут в виде deb-пакета. Использую на своём ноуте. Умеет создавать загрузочное меню автоматически, без конфига — просто сканируя файлы.
Clover. Позволяет выставлять нативное разрешение экрана, имеет поддержку мыши на экране загрузки, разные темы оформления. Дефолтная тема ужасна, конфиг в виде xml нечитаем, настроить не смог.
Различные неочевидные последствия
Вы можете легко попробовать эту схему в работе. Берёте USB-флешку, форматируете в таблицу разделов GPT, создаете FAT-раздел и копируете туда загрузчик. Комп сможет с неё стартовать.
Если просто скопировать на такую флешку boot-раздел установленного linux — система будет спокойно загружаться с флешки, не видя разницы.
Пару недель назад мы рассказывали о неплохой утилите WinToUSB, сейчас пришла очередь поведать о другой полезной программе от этого разработчика. EasyUEFI — это инструмент для редактирования загрузочного меню, служащего для запуска операционных систем, на компьютерах использующих UEFI.
С помощью этой программы пользователь легко сможет добавить новые пункты в загрузочное меню (к примеру установленный на том же компьютере дистрибутив Linux), отключить, удалить, отредактировать уже существующие, воспользоваться функцией разового запуска с нужными параметрами.
Кроме прочего пользователю доступны функции создания резервных копий загрузчика, установки нужного таймаута до старта системы. В качестве полезного бонуса в комплекте предлагается утилита для создания загрузочного диска с WinPE, который может пригодиться при восстановлении системы.
Распространяется EasyUEFI бесплатно, языки интерфейса: английский, китайский, корейский. Помните о том, что использовать подобного рода программное обеспечение нужно с умом и знанием дела.
Как устроена загрузка современных ОС? Как при установке системы настроить загрузку посредством UEFI, не утонув в руководствах и ничего не сломав?
Я обещал «самое краткое руководство». Вот оно:
TL;DR не надо прописывать путь к загрузчику в новых загрузочных записях UEFI — надо файл загрузчика расположить по стандартному «пути по-умолчанию», где UEFI его найдет, и вместо загрузочного меню UEFI пользоваться меню загрузчика, которое гораздо проще и безопаснее настраивается
Есть, на самом-то деле, несколько способов настроить UEFI-загрузку. Я начну с описания других вариантов — чтобы было понятно, как (и почему) делать не надо. Если вы пришли за руководством — мотайте в самый низ.
Наиболее «популярная» процедура установки загрузчика в систему такова: установщик ОС создаёт специальный раздел, на нём — структуру каталогов и размещает файлы загрузчика. После этого он с помощью особой утилиты (efibootmgr в linux, bcdedit в windows) взаимодействует с прошивкой UEFI-чипа, добавляя в неё загрузочную запись. В этой записи указывается путь к файлу загрузчика (начиная от корня файловой системы) и при необходимости — параметры. После этого в загрузочном меню компьютера появляется опция загрузки ОС. Для linux существует возможность вообще обойтись без загрузчика. В загрузочной записи указывается путь сразу к ядру вместе со всеми параметрами. Ядро должно быть скомпилировано с опцией EFISTUB (что давно является стандартом для большинства дистрибутивов), в этом случае оно содержит в себе заголовок «исполняемого файла EFI», позволяющий прошивке его запускать без внешнего загрузчика.
При старте системы, когда пользователь выбирает нужную ему загрузочную запись, прошивка UEFI сперва ищет на прописанном в этой записи диске особый EFI-раздел, обращается к файловой системе на этом разделе (обязательно FAT или FAT32), и запускает загрузчик. Загрузчик считывает из файла настроек свой конфиг, и либо грузит ОС, либо предоставляет загрузочное меню. Ничего не замечаете? Да, у нас два загрузочных меню — одно на уровне прошивки чипа UEFI, другое — на уровне загрузчика. В реальности о существовании второго пользователи могут даже не догадываться — если в меню всего один пункт, загрузчик Windows начинает его грузить без лишних вопросов. Увидеть экран с этим меню можно, если поставить вторую копию Windows или просто криво её переустановить.
Обычно для управления загрузочными записями руководства в интернете предлагают взаимодействовать с прошивкой UEFI. Есть аж пять основных вариантов, как это можно сделать: efibootmgr под linux, bcdedit в windows, какая-то софтина на «Маках», команда bcfg утилиты uefi shell (запускается из-под UEFI, «на голом железе» и без ОС, поскольку скомпилирована в том самом особом формате) и для особо качественных прошивок — графическими средствами UEFI (говоря популярным языком, «в настройках BIOS»).
За всеми вышенаписанными «многобуков» вы могли легко упустить такую мысль: пользователь, чтобы изменить настройки программной части (например, добавить параметр запуска ОС), вынужден перезаписывать flash-память микросхемы на плате. Есть ли тут подводные камни? О да! Windows иногда способна сделать из ноутбука кирпич, linux тоже, причём разными способами. Качество прошивок часто оставляет желать лучшего — стандарты UEFI либо реализованы криво, либо не реализованы вообще. По логике, прошивка обязана переживать полное удаление всех переменных efivars без последствий, не хранить в них критичных для себя данных и самостоятельно восстанавливать значения по-умолчанию — просто потому что пользователь имеет к ним доступ, и вероятность их полного удаления далека от нуля. Я лично в процессе экспериментов неоднократно (к счастью, обратимо) «кирпичил» свой Lenovo — из загрузочного меню исчезали все пункты, включая опцию «зайти в настройки».
Работа с загрузочными записями UEFI — тоже не сахар. К примеру, утилита efibootmgr не имеет опции «редактировать существующую запись». Если ты хочешь немного изменить параметр ядра — ты удаляешь запись целиком и добавляешь её снова, уже измененную. При этом строка содержит в себе двойные и одинарные кавычки, а также прямые и обратные слеши в не особо очевидном порядке. Когда я наконец заставил эту магию работать — я сохранил её в виде bash-скриптов, которые до сих пор валяются у меня в корневой ФС:
Это чёртов мастодонт, 90% функциональности которого предназначено для дисков с MBR. Для настройки необходимо отредактировать ряд файлов, после чего выполнить команду генерации конфига. На выходе получается огромная малопонятная нормальному человеку простыня. В составе — гора исполняемых файлов. Ставится командой, которую просто так из головы не возьмешь — надо обязательно лезть в документацию
Для сравнения — самый простенький UEFI-bootloader, который есть в составе пакета systemd, ставится командой
Эта команда делает ровно две вещи: копирует исполняемый файл загрузчика на EFI-раздел и добавляет свою загрузочную запись в прошивку. А конфиг для неё занимает ровно СЕМЬ строчек.
Загрузочное меню надо реализовывать на уровне загрузчика — править текстовые конфиги гораздо проще и безопасней.
Загрузочная запись нам не нужна — дело в том, что при выставлении в настройках BIOS загрузки с диска прошивка UEFI сначала ищет на нём EFI-раздел, а затем пытается исполнить файл по строго фиксированному адресу на этом разделе: /EFI/Boot/BOOTX64.EFI
Что такое «EFI-раздел»? В теории, он должен иметь особый тип «EFI System» (ef00). На практике, годится первый раздел на GPT-диске, отформатированный в FAT32 и имеющий достаточно места, чтобы разместить загрузчик и вспомогательные файлы (если есть).
Пункт 3: «Скачиваем из интернета любой UEFI-загрузчик». Что это значит? Загрузчик — это просто исполняемый файл определенного формата, к которому в комплекте идет конфиг. К примеру, если у вас есть под рукой установленный пакет с systemd — файл загрузчика можно найти по адресу /usr/lib/systemd/boot/efi/systemd-bootx64.efi, переименовать его в bootx64.efi и скопировать в /EFI/Boot/ на EFI-разделе. Нет под рукой systemd? Скачайте архив с сайта Archlinux. Или с репозитария Ubuntu. Или Debian. Есть под рукой система с Windows? Возьмите виндовый загрузчик оттуда, тоже сгодится )) Если сумеете настроить, я честно говоря не пробовал.
Пункт 4: «Настроить конфиг». Как и обычная программа, когда загрузчик запускается — он ожидает найти по определенным путям файлы конфигурации. Обычно эту информацию легко найти в интернете. Для загрузчика systemd-boot нам необходимо в корне EFI-раздела создать каталог «loader», а в нём файл «loader.conf» с тремя строчками (привожу свои):
Параметр editor отвечает за возможность отредактировать пункт загрузочного меню перед запуском.
Рядом с loader.conf необходимо создать каталог entries — один файл в нём будет отвечать за одну загрузочную запись в boot-меню. У меня там один файл arch.conf с таким содержанием:
Я не упомянул, но довольно очевидно — ядро и initramfs должны лежать в одной файловой системе с загрузчиком, то есть на EFI-разделе. Пути к ним в конфигах отсчитываются от корня этой ФС.
systemd-boot очень простой и предоставляет спартанского вида чёрно-белое меню. Есть варианты красивей, если душа просит красоты.
rEFind — очень красивый загрузчик. Скачать можно тут в виде deb-пакета. Использую на своём ноуте. Умеет создавать загрузочное меню автоматически, без конфига — просто сканируя файлы.
Clover. Позволяет выставлять нативное разрешение экрана, имеет поддержку мыши на экране загрузки, разные темы оформления. Дефолтная тема ужасна, конфиг в виде xml нечитаем, настроить не смог.
Вы можете легко попробовать эту схему в работе. Берёте USB-флешку, форматируете в таблицу разделов GPT, создаете FAT-раздел и копируете туда загрузчик. Комп сможет с неё стартовать.
Если просто скопировать на такую флешку boot-раздел установленного linux — система будет спокойно загружаться с флешки, не видя разницы.
Можно ли обновить мой BIOS на UEFI?
Не совсем. UEFI нельзя прошить вместо BIOS, поскольку он занимает гораздо больше памяти. Но существует такая штука, как DUET. Это загружаемая из BIOS посредством отдельного загрузочного раздела среда UEFI, которая может быть полезна, если вы собираетесь использовать диски объемом >2Тб на своем старом железе с BIOS. Подробнее можно ознакомиться здесь: http://www.rodsbooks.com/bios2uefi/
Что такое GPT?
GUID Partition Table, GPT — стандарт формата размещения таблиц разделов на жестком диске. Он является частью интерфейса EFI. EFI использует GPT там, где BIOS использует MBR.
Где в GPT хранятся аналоги загрузочных секторов?
EFI использует для хранения загрузчиков папку EFI/boot, находящуюся в корне раздела FAT32. По умолчанию должен загружаться файл /EFI/boot/bootx64.efi
Если загружаемый диск размечен в стиле MBR, то наличие файловой системы FAT32 на первом разделе (если их несколько) и файла с загрузчиком, лежащего по дефолтному пути, являются единственными условиями загрузки с этого носителя (CD/DVD тоже поддерживаются). В случае, если диск размечен в стиле GPT, раздел необязательно должен быть первым, но у него должен присутствовать флаг boot (проверить и выставить можно через gparted)
Возможно ли сконвертировать диск из MBR в GPT и обратно без потери данных?
Да. Для этого потребуется загрузочный диск/флешка с Gparted http://gparted.sourceforge.net/download.php
После загрузки с загрузочного носителя откроется окно gparted, в котором в верхнем правом углу будет отображен рабочий диск (обычно это /dev/sda). Необходимо запомнить имя диска, который вы хотите сконвертировать, открыть терминал, и набрать там sudo gdisk /dev/sda
где вместо sda, при необходимости, нужно подставить имя вашего диска. Затем нужно ввести команду w и подтвердить запись таблицы GPT на диск. Все, диск преобразован в таблицу GPT. Для обратной конвертации в MBR необходимо таким же образом открыть gdisk для вашего диска, и последовательно набрать команду r, затем g, после чего подтвердить запись новой таблицы при помощи команды w.
Так же в среде Windows вам поможет программа Partition Guru либо аналоги.
Источник
Ручное восстановление конфигурации загрузчика BCD и записи MBR в Windows 10
Диспетчер загрузки в современных версиях Windows использует файл конфигурации загрузки BCD (Boot Configuration Data) для запуска операционной системы, установленной на компьютере. В этом файле хранятся данные об установленной Windows и параметрах ее загрузки. Если файл BCD удален или поврежден, Windows перестает загружаться. Также вы не сможете загрузить Windows, если повреждена MBR запись на жестком диске. В этой статье мы покажем способ ручного пересоздания файла хранилища данных конфигурации загрузки BCD и Master Boot Record (MBR) на примере Windows 10.
Если файл BCD поврежден, отсутствует, если вы удалили / отформатировали отдельный раздел диска с меткой System Reserved (и размером 500Мб), специальный OEM раздел, то скорее всего при попытке загрузить Windows, пользователь увидит такое сообщение:
При повреждении MBR может быть ошибка No operating system found.
Автоматическое восстановление конфигурации загрузчика Windows
При появлении такой ошибки, в первую очередь попытайтесь исправить проблему с загрузкой ОС с помощью режима автоматического восстановления (Startup Repair), который можно запустить из среды восстановления Windows RE.
В этом примере я буду использовать установочный диск с Windows 10. Выберите в настройках BIOS первичным загрузочным устройство DVD диск или USB флешку (в зависимости от того, с какого устройства вы хотите загрузить компьютер). Загрузитесь с установочного диска и на экране выбора языка установки нажмите сочетание клавиш Shift+F10. Перед вами откроется консоль командной строки.
Попробуйте восстановить BCD файл автоматически, выполнив команду:
Перезагрузите компьютер и проверьте, загружается ли Windows (не забудьте изменить приоритет загрузочных устройств в BIOS). Если ОС не загружается, еще раз загрузитесь с установочного диска и откройте окно командной строки.
Идентификация разметки дисков и букв томов
Как понять, используется ли у вас BIOS или UEFI система? Проще всего проверить тип таблицы разделов на диске, на котором установлена Windows: GPT или MBR. Для этого выполните команду:
Если у диска в столбце Gpt указана звездочка (*), значит на диске используется таблица разделов GPT (это значит, что у вас компьютер с UEFI, и для восстановления загрузчика нужно использовать статью по ссылке выше). Если в столбце GPT звездочка отсутствует, значит у вас на диске таблица разделов MBR, и вы можете продолжить следовать данной инструкции.
Далее вам нужно идентифицировать локальные диски и разделы системы (скорее всего назначенные им буквы дисков будут отличаться от дисков, которые вы видели при работе в Windows). Проще всего это сделать с помощью утилиты diskpart. Выполните следующие команды:
Перед вами появится список разделов в системе, назначенные им буквы дисков и их размер. В нашем случае к компьютеру подключен 1 жесткий диск, на котором имеются всего два раздела:
Восстановление загрузочного сектора MBR в Windows 10
С помощью следующих команд мы перезапишем данные в MBR и загрузочном секторе, поместим в них ссылки на загрузчик Windows (bootloader).
bootrec.exe /fixmbr
bootsect.exe /nt60 all /force
bootrec /FixBoot – команда создает новые загрузочный сектор на системном разделе.
bootrec /ScanOs
bootrec /RebuildBcd – сканирование всех дисков и поиск установленных Windows, занесение найденных копий в конфигурацию загрузчика BCD
После этого перезагрузите компьютер и проверьте загрузку Windows. Если ОС не загружается, следуйте инструкции.
Если команда bootsect.exe не будет найдена, попробуйте указать путь к ней:
X:bootbootsect.exe /nt60 all /force
Пересоздание BCD файла загрузчика Windows 10
Далее с помощью команды BCDedit нужно создать новый файл с конфигурацией загрузчика (предполагается, что у вас нет резервной копии BCD).
Удалите старый (поврежденный) файл BCD на разделе System Reserved и создайте вместо него новый.
del c:bootbcd
Выберите диск (в моем случае в компьютере имеется всего один жесткий диск, а вы можете вывести список дисков командой list disk): select disk 0
Из скриншота выше видно, что раздел с меткой System Reserverd называется Volume 1. Выберите его: select volume 1
Назначьте букву диска (я назначил букву C:, но вы можете использовать любую другую букву, в этом случае измените путь в следующих командах): assign letter C:
Создайте временный пустой файл bcd.tmp:
bcdedit /createstore c:bootbcd.tmp
Создайте запись для диспетчера загрузки bootmgr:
bcdedit.exe /store c:bootbcd.tmp /create /d «Windows Boot Manager»
Импортируйте в BCD настройки из файла bcd.tmp:
bcdedit.exe /import c:bootbcd.tmp
Укажите, что загрузчик находится на служебном разделе System Reserved (ему назначена буква диска C: )
bcdedit.exe /set device partition=c:
Настройте время ожидания при выборе ОС:
bcdedit.exe /timeout 10
Удалите временный файл:
del c:bootbcd.tmp
Команда должна вернуть уникальный идентификатор (GUID) данной записи загрузчика:
Укажем, что bootmgr должен использовать данную запись по-умолчанию (после истечения времени ожидания при выборе ОС, для загрузки будет используется именно эта запись).
Теперь в новой записи загрузчика осталось указать пути к имеющейся на диске установленной копии Windows 10. Ранее мы определили, что в среде WinPE диску с установленной Windows присвоена буква D:. Используйте эту букву диска в следующих командах:
bcdedit.exe /set device partition=d:
bcdedit.exe /set osdevice partition=d:
bcdedit.exe /set path Windowssystem32winload.exe
bcdedit.exe /set systemroot Windows
Осталось сделать данную загрузочную запись в BCD видимой (по умолчанию она скрыта):
bcdedit.exe /displayorder /addlast
Итак, мы полностью пересоздали загрузчик Windows 10 (обновили файл BCD и перезаписали загрузочный сектор в MBR). Теперь вы можете перезагрузить компьютер и убедится, что Windows 10 загружается в штатном режиме.
ren c:bootbcd bcd.bak
bcdboot d:windows /l ru-ru /s c:
Но за статью спасибо!
Bcdedit всегда вселял тихий ужас.
Boot.ini был в этом плане гораздо более человечней… 🙂
bcdboot c:windows /l ru-ru
Отработало на отлично и без указания /s C:
Пожалуйста!
Не ленитесь и оставляйте свои комментарии у статей которые Вам помогли. Это дань уважения как автору, так и подсказка другим людям с аналогичной проблемой.
🙂
Спасибо! Думал, уже ничего не поможет, система восстановилась!
Следовал порядку действий но на 3 этапе возникла проблема
Создайте временный пустой файл bcd.tmp
bcdedit /createstore c:bootbcd.tmp
Создайте запись для диспетчера загрузки bootmgr.
bcdedit.exe /store c:bootbcd.tmp /create /d «Windows Boot Manager»
У меня то же самое. Активный загрузочный диск С, система вин7 на диске F. BCD не удалилось,может потоу что папка BOOT скрытая, но временный файл создался. Т.е. файл c:bootbcd.tmp существует, а импортироваться не хочет.
Загрузился с другого диска (не установочного), вручную удалил BCD из папки boot на диске С — ничего не изменилось.
Аналогично, на этом пункте та же ошибка.
Проверьте путь, скорее всего буква диска вашей копии Windows не C:, в данном случае это системный диск среды WinPE.
Выведите содержимое диска C: командой dir c:, по каталогам и файлам на нем будет понятно что это за диск
На что именно обратить внимание?
У меня выдало следующее:
Том в устройстве С имеет метку Зарезервировано системой
Серийный номер тома: ——
Содержимое папки С:
0 Recovery.txt
Temp
1 файлов 0 байт
1 папка 157 904 896 байт свободно
У меня та же ошибка про импорт файла.
Судя по моим данным я верно выбрал букву? Не могу понять.
Добрый день. Можно назначить букву любому разделу с помощью diskpart (assign letter …).
См. примеры в статье:
https://winitpro.ru/index.php/2014/03/20/repair-bootloader-windows-8-uefi/
Все получалось до этих последних 5ти команд:
bcdedit.exe /set device partition=d:
bcdedit.exe /set osdevice partition=d:
bcdedit.exe /set path Windowssystem32winload.exe
bcdedit.exe /set systemroot Windows
bcdedit.exe /displayorder /addlast
После выдает ошибку :»Ошибка при установке ссылки указанной записи. Не удается найти указанный файл.»
PS
Восстанавливаю загрузку Win7. Разделы имеют назв. букв такие же (с: и d: сответсвенно по примеру статьи)
Не выполнив последних пять команд из-за ошибок, ПК после перезагрузки начал выдавать ошибку 0хс0000034
Подскажите.
У меня в системнике два диска. Один хдд, а второй ссд.
Установил на хдд 10ку.
Затем я приобрёл ссд и на него установил 10ку.
В итоги у меня получилось 2 системы.
Решил избавиться от одной системы (которая установлена на хдд диске) и заодно объединить диск (был раздел под систему и раздел под все остальное).
Отфармотировал диск на хдд и после перезагрузки не могу включить Винду — не видит ее.
Почему такое произошло? Ведь у меня на ссд стоит ещё одна винда. С которой я постоянно работаю. Почему сейчас он не может включать ее?
Потому что при установке винды на SSD надо было физически отключить все остальные диски.
Поскольку вы этого не сделали, то загрузчик для винды на ССД прописался на старый жесткий диск, который вы впоследствии отформатировали.
Понял и учту на будущее.
Спасибо, Вадим!
Не подскажите в какой теперь раздел прописывать bcd файл? Откуда я его снёс, на С? Ведь на ССД диске у меня так же имеется выделенное пространство (480Мб). В cmd он не обозначен как резервный (как было на С). Является ли этот раздел системным или он от ССДшника?
Установщик винды, если у нее нет возможности создать отдельный раздел под загрузчик, создаёт папку BOOT на том же разделе, на котором расположена папка WINDOWS.
Так что ДА: можно и на диск С:
Главное, если диск с MBR, не забыть сделать раздел АКТИВНЫМ (например, в DISKPART’е).
Если всё же диск в GPT, то проще конвертнуть его в MBR и сделать активным.
Десктопные материнки это спокойно переживут.
Не выходит. Продолжает писать, что ошибка импорта хранилища. Не удается найти запрашиваемое системное устройство. С несколькими разделами пробовал. Всё одно и то же.
Спасибо автору, форматнул неведомый локальный диск в винде на 500 мбайт, вылезла эта ошибка, помогла самая первая команда)
Здравствуйте, когда ввожу вот этот пунк bcdedit. exe /store m:bootbcd. tmp /create /c «Windows Boot Manager»
То пишет что указан неправильный ключ командной строки /с
У меня загрузчик в разделе м, а винда на с, подскажите что может быть.
Откуда вы ключ /c взяли? у bcdedit нет такого ключа…. В вашем случае команда выглядит так:
bcdedit.exe /store M:bootbcd.tmp /create /d «Windows Boot Manager»
Здравствуйте, спасибо за отве, но том системой имеет букву С
Но загрузчик то у вас на отдельном разделе… Я поэтому его и указал. А в конфигурации загрузчика BCD будет указано, где у вас находится папка Windows.
В вашем случае следующие строки должны быть такими:
bcdedit.exe /set device partition=c:
bcdedit.exe /set osdevice partition=c:
Вы случаем не в Москве находитесь? могли бы вы мне помочь? выезд есть у вас?
Спасибо за статью. Только после Вашего набора команд винда стала показывать другую ошибку. У меня несколько вопросов:
На ноуте стояла 8-ка, сама собой обновилась до 10-ки. Для ремонтирования загрузчика, мне какие инструкции брать? От 8-ки или от 10-ки (если они разные).
После Ваших инструкций, винда перестала вылетать с ошибкой и предложением попытатьсяее отремонтировать. Теперь просто черный экран. Без курсора, без мышки…..
Инструкции для Windows 10 и 8.1 идентичные.
Какая была ошибка до начала «ремонта».
Компьютер с BIOS или UEFI. Если UEFI — в каком режиме загружается компьютер — нативном или Legacy/CSM.
Безопасный режим или режим восстановления удается запустить (3 раза резет по питанию)?
Добрый день.
Спасибо за руководство. Все сделал, ошибок не было.
После перезагрузки — черный экран и начинает сильно шуметь кулер.
При перезагрузке и нажатии F4 появляется черно-белое окно, в котором можно выбрать либо загрузку Windows 10, либо альтернативную загрузку при нажатии F8. Пробовал оба варианта, но исход один — черный экран и усиленный шум кулера.
Если грузиться с восстанавливающей флешки и выбирать Восстановление при загрузке — восстановление не удается.
У меня ноут Lenovo, диск один — SSD.
Возможно какая-то проблема с самим SSD диском. Я бы снял его и проверил с помощью check SSD health утилиты производителя на другом компьютере.
К сожалению, не могу вытащить диск, т.к. ноут еще на гарантии.
Есть ли какие-то средства проверки из командной строки?
Стандартные команды не находят ошибок на диске.
Еще момент, может быть это важно, — при загрузке с флешки и попытке удалить последние обновления система пишет, что есть незавершенные обновления и удалить последние обновления невозможно.
При попытке ввести команду
The entry <8a7f03d0-5338-11e7-b495-c7fffbb9ccfs>was successfully created
выходит чсообщение «The» не является внутренней или внешней комнадой…
Это не команда, это результат выполнения предыдущей команды :).
У вас там будет свой идентификатор загрузочной записи, который нужно использовать в следующих командах.
Вопрос.Какой буквой мне обозначить диск system reserved вместо C,если этот диск не имеет буквы?Пробовал писать С,выдаёт не то.
Изначально буква диска разделу System Reserver не назначается совсем (https://winitpro.ru/index.php/2016/12/28/perenos-bootmgr-na-disk-c-v-windows-7/). В случае необходимости вы можете назначить ему произвольную букву диска, кроме занятых. C: обычно уже занят.
Спасибо,букву назначил.Но после команды del m:bootbcd выдало
The system cannot find the path specified.
Это же и выдавало после других команд с диском System Reserved
Подскажите пожалуйста.
Какая ошибка появляется при загрузке Windows 8.1?
У вас компьютер с EFI (тогда вам сюда https://winitpro.ru/index.php/2014/03/20/repair-bootloader-windows-8-uefi/) — или с BIOS (в этом случае последовательно выполните шаги из текущей статьи).
Ошибки нет (по крайней мере, ошибка не появляется на мониторе).
При включении компьютера появляется логотип НР (производитель компьютера) и бесконечно крутится колесо загрузки.
Компьютер с UEFI.
По причине обнаружения вируса в файле загрузки, антивирус безвозвратно удалил файл MBR. После этого отсутствует файл c:bootbcd
Создание точек восстановления было отключено в системе и в антивирусе, так что откат произвести невозможно.
Выполнил ручное восстановление загрузчика Windows 8.1 с помощью загрузочного диска как описано в статье, рекомендованной Вами. Почти все команды прошли успешно, только после команды ren BCD BCD.bak написано, что не удаётся найти указанный файл, а после команд bootrec /scanos и bootrec /rebuildbcd написано, что найдено операционных систем Windows 0
Лучше обсуждать вашу проблему в статье про восстановление загрузчика на UEFI системе.
Игнорируйте ошибки и выполните инструкцию до конца (ren BCD BCD.bak и bootrec это не критичные моменты).
Если компьютер все еще не загружается, проверьте какие разделы остались у вас на диске.
Через Diskpart видны следующие разделы:
Windows RE (в формате NTFS) — исправен
SYSTEM (в формате FAT32, объём 360 Мб) — исправен
MSR (в формате NTFS, объём 128 Мб) — не исправен
Диск С с операционной системой — исправен
без названия (в формате NTFS, объём 450 Мб) — исправен
Recovery In (в формате NTFS, объём 11 Гб) — исправен
Здравствуйте. Выполнил все по вашей инструкции, итог — черный экран при запуске ноутбука. Иногда он держится, иногда ноутбук выключается спустя примерно минуту.
Диск с виндой — «Е»
Диск sys. reserv. — «C»
После ввода команды bcdedit.exe /import c:bootbcd.tmp пишет:
Ошибка импорта хранилища.
Не удается найти запрошенное системное устройство.
Что делать, подскажите!
Извините, возможно не по теме, у меня система установлена на SSD диск с загрузкой из этого небольшого размера скрытого раздела Зарезервировано системой, сама система запускается с раздела C этого диска. На ПК установлены 3 диска, этот SSD для системы, второй и третий HDD, на другие HDD диски системы не устанавливались. Решил установить PE образ на диск через bootice, дело в том, что когда я выбираю в запущенной утилите bootice Диск назначения этот диск SSD, то далее через Управление MBR в окне внизу Текущий тип MBR выводится Неизвестная загрузочная запись, так и при выбранном втором HDD диске. При запуске утилиты в окне сразу по умолчанию высвечивается тот третий диск, на который я и хочу установить PE образ, при нём как раз отображается Windows NT 6.x MBR. Что у меня не так с MBR и как исправить положение?
Благодарю Вас безмерно, как и других Авторов подобных публикаций. Прошу Вас, если это не займёт у Вас много времени, объяснить: — Почему при выполнении команды bcdedit /createstore Path:BCD — создаётся новое хранилище, но доступ к нему мгновенно блокируется. И даже команда bcdedit /systore Path: не решает этой проблемы. Появляется надпись, что BCD было создано на другом компьютере и так далее.
Без загрузочного или установочного диска вы точно не решите проблему. Но и с ним не 100% шансы, не понятно чем вызван сбой. Если это просто повреждение загрузочных или системных файлов, скорее всего получится пофиксить ваш ноутбук. Сергей в комментарии выше привел несколько возможных путей решения.
Если проблема с диском или железом — то вряд ли.
Здравствуйте. Сделала описанные Вами действия, итог черный экран. Подскажите, пожалуйста, что делать? Спасибо.
Здравствуйте. Я не отрицаю свою тупость и криворукость)скорее всего именно это «Тогда вообще ничего работать не будет» я и сделала(((возможно ли каким то образом исправить сложившуюся ситуацию? Стоит win 10, ноут с предустановленной 8 обновленой до 10. Сейчас после нажатия кнопки включение черный экран, без надписей и прочего, ноут вырубается после 15-30 секунд работы. Спасибо.
И вам здравствовать, Мария. Дело не в тупости и криворукости, а в недостатке знаний по теме. Многие проблемы возникающие с ПК, на взгляд дилетанта, схожи, поэтому, найдя «рецепт решения» вроде бы его проблемы, он, скорее всего, его и применит. Исправить вашу ситуацию, скорее всего, можно, но для её решения потребуются инструменты, время и терпение. Поэтому ответьте, есть ли у вас в наличии одно из перечисленного ниже:
1.Установочный диск/флешка Windows 10.
2. Диск/флешка Восстановления Windows.
3. LiveUSB на основе WinPE Win8-10.
4. Другой исправный компьютер с Windows «на борту» и доступом к интернету.
Понятно, что при наличии четвёртого пункта заиметь остальные — не проблема, поэтому он (четвёртый пункт) наиболее желателен. Если другого компьютера нет, но есть возможность прийти к знакомым, у которых он есть, то то же самое.
Здравствуйте, Александр.
1. Есть установочная флешка с win 10 с оф сайта.
2. Нет. Резервной копии нет. Точки восстановления нет.
3. Нет.
4.Есть ноутбук на win 8.1
Мария, если я вас правильно понял, то у вас есть второй ноутбук с Windows 8.1. Чтобы не засорять данный раздел уточняющими вопросами (не имеющими отношения к статье) и ответами, предлагаю перенести наше с вами общение в другое место. Найдите сайт notebookclub(точка)org, зарегистрируйтесь на его форуме и отправьте личное сообщение форумчанину Neon2.
Создайте запись для диспетчера загрузки bootmgr.
bcdedit.exe /store c:bootbcd.tmp /create /d «Windows Boot Manager»
Указан неправильный ключ командной строки: /d
Для получения справки…
Параметр задан неверно.
Решил
ошибся в ключе
Всё перерыл, всё попробовал. На Виндовс 7 32бит. После Работы с Акронис, перестала система запускаться автоматически, приходилась при загрузке жать F10, заходить в Boot option menu, выбирать свой жёсткий диск и жать ентер. Не получалось заходить и в F8 что бы запустить устранение неполадок и восстановление системы, зайти удалось после входа F10, выбора диска, энтер и сразу F8. Пролечилось элементарным обновлением прошивки BIOS
Вопрос по теме, связан с китайским «железом». Купил недавно через Алиэкспресс нетбук A116 11,6 «Intel Atom x5-E8000 четырехъядерный Windows 10 ram 4 Гб-240 ГБ M.2 SSD. Аппарат поработал несколько дней и ОС перестала загружаться после удаления одной из мной установленных программ и перезагрузки. Обычно это не проблема, но не в этот раз.
Автовосстановления системы не произошло, а с загрузочного диска не получается, потому что нетбук не видит сторонние ни флешку, ни сидиром. Оказалось, в UEFI всё так устроено, что правом администратора обладает китайский магазин, как я понял. Я им написал, но китайцы пока не ответили.
Может, кто что знает по этому вопросу? Как восстановить заводские настройки?
Помогите у меня эта ошибка не знаю и не понимаю как исправить
Не помогло, к сожалению, все сделал — все получилось. Но после перезагрузки появляется ошибка только уже на английском, а изначально была на русском языке.
bcdedit.exe /set device partition=c: послей это команды пишет: Указанно недопустимое устройство. Присоединенное к системе устройство не работает
Diskpart видит том с буквой C:? Это тот самый диск, на котором установлена ваша Windows?
Здравствуйте!
Такая трабла, есть диск С: с виндой 10
и диск Е: который никак не обозначен, весит 800мб, предположив что это и есть резервный диск, при попытке начать один из способов, а именно del e:bootbcd
Мне выдает что система не смогла найти этот файл(System cannot find the file specified) как быть? На диске оч много важных данных, если проипался то жопа(
Посмотрите, что лежит на диске e:. Команда:
dir e:
Здравствуйте! После проведенных манипуляций компьютер зависает на логотипе материнской платы и не выдает никакой ошибки, на кнопки не реагирует. Если в самом начале загрузки нажать f11 то можно выбрать с чего грузиться, выбираю нужный носитель — черный экран. Система стоит на ссд, дополнительно установлен обычный хард. Сделал восстановление системы, картина та же.
При очередной попытке клонировать Win10 со старого SSD на новый SSD возникла проблема следующего характера: старт загрузки происходит со старого SSD, но операционная система загружается уже с нового SSD, т.е. где-то там в настройках при клонировании диска произошло изменение содержимого старого диска — направьте, пожалуйста, как в загрузчике старого ссд изменить загрузку операционной системы со старого же диска
Обычно проще всего пересоздать конфигурацию загрузчика. Вот здесь описан довольно простой способ пересоздания загрузчика для MBR и EFI систем.
https://winitpro.ru/index.php/2019/10/15/oshibka-zagruzki-operating-system-not-found/
Мне помогло старание разметки диска, и новая разметка тома. При установки в10.
У меня выдаёт ошибку на первом этапе:
C:UsersLenovo>bcdedit /createstore C:bootbcd.tmp
Ошибка создания хранилища.
Отказано в доступе.
Что делать?
Здравствуйте. Не удаётся найти файл c:bootbcd, пишет «Не удаётся найти указанный файл», когда пытаюсь создать пустой bcd(bcedit /createstore c:bootbcd.tmp) пишет «Ошибка создания хранилища. Системе не удаётся найти указанный путь.»
спасибо помогло! bootrec /FixBoot – команда создает новые загрузочный сектор на системном разделе.
bootrec /ScanOs
bootrec /RebuildBcd – сканирование всех дисков и поиск установленных Windows, занесение найденных копий в конфигурацию загрузчика BCD
После этого перезагрузите компьютер и проверьте загрузку Windows. Если ОС не загружается, следуйте инструкции.
Вот на этом моменте всё заработало! Безмерно благодарен! 31.03.21
Добрый день! Столкнулся с ошибкой 0xc0000014c, следуя инструкциям из Вашей статьи, успешно дошел до шага:
Импортируйте в BCD настройки из файла bcd.tmp:
bcdedit.exe /import c:bootbcd.tmp
На этом шаге выдается ошибка: Ошибка импорта хранилища. Не удается найти запрошенное системное устройство. Подскажите, в чем может быть проблема?
Никак не могу разобраться с этим. На ПК всего 1 SSD диск, обычный не UEFI BIOS. Работаю с единственным разделом, на котором есть папка Boot (c:boot), винда стоит на диске f:windows. Проблема на ноутбуке HP.
Источник
Adblock
detector
Инженеры Microsoft реализовали в Windows хранилище загрузки, известное ещё как Boot Configuration Data (BCD), и меню загрузки. Первое содержит в себе идентификаторы загрузчиков всех имеющихся на ПК операционных систем, а второе считывает их и выводит в виде перечня ОС, доступных для запуска. Это значительно облегчает жизнь пользователю, на компьютере которого стоит несколько систем. Ему не нужно что-то мудрить, чтобы переключиться между ними. Достаточно перезагрузить компьютер и выбрать нужную из представленного списка. Как и другие части ОС Windows, меню загрузки поддаётся настройке. В этом руководстве перечислены доступные способы редактирования данного раздела.
Примечание: практически все действия, описанные в этом руководстве, нужно выполнять из-под учётной записи с правами администратора. В противном случае вы должны знать пароль от неё.
Редактирование меню загрузки Windows 10 в окне загрузчика
Меню загрузки Windows 10 обладает небольшим разделом настроек. Он предоставляет минимальный набор опций — изменение значения таймера автоматического запуска основной системы, смена ОС, загружаемой по умолчанию, а также дополнительный раздел с режимами старта системы и функцией выключения компьютера.
- Чтобы получить доступ к этим настройкам, вам нужно нажать на пункт Изменить значения по умолчанию или выбрать другие параметры во время отображения экрана со списком доступных для запуска систем.
- Далее вам остаётся нажать на пункт Изменить таймер, чтобы установить время отсрочки автоматической загрузки системы (5 и 30 секунд, а также 5 минут) или же на Выбрать ОС по умолчанию, чтобы указать, какую систему стоит грузить по завершению таймаута.
Редактирование меню загрузки Windows 10 в параметрах системы
В дополнительных параметрах системы, зайти в которые можно через свойства ОС, находится раздел Загрузка и восстановление. Он хранит в себе небольшой список функций для редактирования меню загрузки, который подойдёт нетребовательным пользователям. Так с его помощью вы можете выбрать, какая операционная система будет загружаться по умолчанию, выставить время отображения списка установленных систем или вовсе выключить таймаут, а также активировать вывод вариантов восстановления.
Чтобы попасть в указанный раздел, вам нужно сделать следующее:
- Нажмите на сочетание Win + Pause (Break).
- Кликните по ссылке Дополнительные параметры системы, расположенную в левой части окна.
- Под заголовком Загрузка и восстановление щёлкните на кнопку Параметры.
Редактирование меню загрузки Windows 10 в Конфигурация системы
Если вам необходимо немного больше возможностей по настройке, вы можете попробовать утилиту Конфигурация системы. Помимо упомянутых настроек, она предлагает функцию удаления загрузочных записей операционных систем, опцию для вывода информации об ОС, возможность запустить Windows без графической оболочки, выбрать параметры загрузки безопасного режима и ещё несколько второстепенных функций.
Отредактировать меню загрузки с помощью Конфигурация системы можно следующим образом:
- Нажмите Win + R и введите msconfig. Появится окно утилиты.
- Откройте вкладку Загрузка.
- Выберите из списка интересующую вас запись. Если вы желаете избавиться от неё, нажмите на кнопку Удалить.
- Хотите пометить ОС в качестве основной? Кликните по кнопке Использовать по умолчанию.
- В случае необходимости, установите предпочитаемое время таймаута.
- Нажмите на ОК и перезагрузите компьютер, чтобы система применила изменения.
Как отредактировать меню загрузки Windows 10 с помощью EasyBCD
EasyBCD — бесплатная утилита, предоставляющая широкий выбор возможностей для редактирования меню загрузки. В сравнении с ней все стандартные системные инструменты (кроме Командной строки) смотрятся весьма примитивно.
Эта компактная программа позволяет:
- Удалять ОС из списка доступных для запуска.
- Добавлять новые записи Windows (в том числе и устаревших), Linux / BSD, Mac.
- Добавлять записи для установки систем с помощью ISO-образов или отдельных разделов жёсткого диска.
- Переименовывать записи операционных систем.
- Выставлять систему по умолчанию.
- Изменять положение записей в списке.
- Устанавливать язык меню загрузки.
- Выбирать оболочку интерфейса загрузчика (Metro или более раннюю от Windows Vista / 7).
- Выставлять длительность таймаута.
- Архивировать и восстанавливать настройки хранилища загрузки (BCD).
- Просматривать содержимое BCD и меню загрузки.
Интерфейс программы полностью локализован на русский, а сама она достаточно простая в использовании и не требует от пользователя никаких сверхъестественных способностей.
Как добавить запись системы в меню загрузки
- Скачайте и установите EasyBCD. Во время установки укажите, что вы будете использовать программу в личных целях, а не в коммерческих.
Примечание: для редактирования меню загрузки в старших версиях Windows может понадобиться EasyBCD 1.7.2. - Запустите программу и выберите язык интерфейса.
- Нажмите на Добавить запись и выберите вкладку Windows.
- Напротив пункта Тип выберите Vista / 7 / 8 / 10. Если добавляемая запись должна загружать более старую версию «винды», разверните выпадающий список и кликните по подходящему варианту.
- В поле Имя укажите предпочитаемое название записи.
- Напротив пункта Диск откройте список разделов жёсткого диска и выберите тот, где установлена ОС, к которой вы хотите восстановить доступ.
- Нажмите на Добавить.
Как удалить запись системы из меню загрузки
- В программе нажмите на Редактировать меню загрузки.
- Из списка записей выберите нужную и нажмите на Удалить. Подтвердите своё действие.
- Кликните по кнопке Сохранить.
Как переименовать запись системы в меню загрузки
- В разделе редактирования загрузочного меню кликните по записи, имя которой вы хотите сменить.
- Нажмите на кнопку Переименовать и введите новое название.
- Сохраните данное изменение.
Как переместить запись системы в меню загрузки
- Выберите из списка пункт, позицию которого нужно сменить.
- Используя кнопки Вверх и Вниз измените положение в списке.
- Нажмите на Сохранить.
Как выбрать систему для загрузки по умолчанию
- В столбце По умолчанию установите галочку напротив нужной операционной системы.
- Сохраните изменения.
Как изменить время отображения меню загрузки
- Возле пункта Таймаут нажмите на поле и введите оптимальное для вас время. Учтите, что в меню загрузки оно измеряется в секундах.
- После внесения изменений кликните по кнопке Сохранить.
Как изменить язык меню загрузки
- Найдите пункт Язык, разверните список возле него и выберите нужное вам наречие.
- Сохраните внесенные изменения.
Как отредактировать меню загрузки Windows 10 с помощью командной строки
Если вы не доверяете сторонним программам и стараетесь пользоваться исключительно системными инструментами, тогда вам стоит опробовать способы редактирования меню загрузки Windows 10 с помощью командной строки.
Создание или восстановление резервной копии хранилища загрузки Windows
Перед выполнением всех действий создайте резервную копию хранилища загрузки, чтобы вы могли восстановить его в случае необходимости. Создать бекап BCD вы можете следующим образом:
- На любом не системном разделе создайте папку BCDBackup.
- Запустите командную строку с правами администратора. Для этого нажмите на Win + S, введите Командная строка, кликните правой кнопкой мышки по результату и выберите Запустить от имени администратора.
- Введите команду bcdedit /export E:\BCDBackup\BCD, где E — буква раздела, на котором находится созданная ранее папка.
- Для восстановления рабочей копии BCD вам нужно ввести bcdedit /import E:\BCDBackup\BCD, где Е — буква раздела, содержащего каталог с резервной копией хранилища загрузки.
Как добавить запись системы в меню загрузки
- Всё в ту же командную строку, запущенную от имени администратора, введите bcdedit /copy {current} /d «Windows OS», где Windows OS — произвольное название новой записи. В результате вы должны получить сообщение об успешном копировании существующей записи в новую, а также её уникальный идентификатор.
- Далее наберите bcdedit /set {ИД} device partition=E:, где ИД — идентификатор новой записи, созданной в процессе выполнения предыдущего пункта, а Е — буква локального диска, на котором расположены файлы другой операционной системы. Чтобы не допустить ошибку при вводе длинного ID, скопируйте его в эту команду вместе с фигурными скобками.
- Следом введите bcdedit /set {ИД} osdevice partition=E:, где ИД — код созданной записи, а E — буква раздела, содержащего системные файлы другой ОС.
- В конце всего этого процесса введите команду bcdedit /displayorder {ИД} /addlast, где ИД — код ранее созданной записи операционной системы. Эта команда должна добавить новую запись в самый низ списка ОС, доступных для запуска из меню загрузки.
Как удалить запись системы из меню загрузки
- Введите команду bcdedit, чтобы получить список всех записей установленных ОС. Обратите внимание на пункт displayorder в разделе Диспетчер загрузки Windows. В нём перечислены уникальные коды всех операционных систем. Их порядок точно такой же, как и пунктов установленных систем в меню загрузки.
- Наберите команду bcdedit /delete {ИД}. Вместо ИД вам нужно вставить код записи, которую собираетесь удалить. Его вы можете получить из пункта displayorder. Данная команда уберёт запись не только из диспетчера загрузок, но и из хранилища. Если нужно удалить запись с именем (к примеру, {default}), а не в виде комбинации букв и цифр, тогда команда должна выглядеть так: bcdedit /delete {ИД} /f. Как и во всех остальных случаях, на место ИД нужно вставить идентификатор.
- Если вы желаете лишь на время исключить её из списка, тогда выполните команду bcdedit /displayorder {ИД} /remove. Запись исчезнет из него, но при этом останется в хранилище, что позволит при необходимости восстановить её.
Как изменить порядок отображения систем в меню загрузки
Для редактирования положения записей в загрузчике используйте команду bcdedit /displayorder {ИД2} {ИД1} {ИД3}. Вместо всех ИД укажите реальные коды записей в той последовательности, в которой вы хотите видеть их во время запуска компьютера.
Как выбрать систему для загрузки по умолчанию
Всё, что вы должны сделать, это выполнить команду bcdedit /default с указанием кода системы в фигурных скобках.
Как переименовать систему в меню загрузки
Для изменения названия операционной системы используйте команду bcdedit /set {ИД} description «Новое имя».
Как изменить время отображения меню загрузки
Чтобы установить оптимальное время отображения меню загрузки наберите команду bcdedit /timeout time, где time — время таймаута в секундах.
Вот, собственно, и все основные способы редактирования меню и хранилища загрузки в операционной системе Windows 10.
Для редактирования положения записей в загрузчике используйте команду bcdedit /displayorder <ИД2> <ИД1>. Вместо всех ИД укажите реальные коды записей в той последовательности, в которой вы хотите видеть их во время запуска компьютера.
Как выбрать систему для загрузки по умолчанию
Всё, что вы должны сделать, это выполнить команду bcdedit /default с указанием кода системы в фигурных скобках.
Как переименовать систему в меню загрузки
Для изменения названия операционной системы используйте команду bcdedit /set <ИД>description «Новое имя».
Как изменить время отображения меню загрузки
Чтобы установить оптимальное время отображения меню загрузки наберите команду bcdedit /timeout time, где time — время таймаута в секундах.
Вот, собственно, и все основные способы редактирования меню и хранилища загрузки в операционной системе Windows 10.
Восстановление EFI загрузчика в Windows 10 и 11
13.06.2022
itpro
Windows 10, Windows 11, Windows Server 2016, Windows Server 2019
комментарий 291
В этой статье мы разберемся, как восстановить загрузчик Windows 10 или 11 на современном компьютере, на котором используется UEFI интерфейс вместо классического BIOS и таблица разделов диска GPT (вместо MBR). Повреждение загрузчика Windows может быть вызвано установкой второй ОС (Dual Boot — конфигурация), повреждением файловой систему, некорректным восстановлении Windows после сбоя, удалением скрытых разделов, вирусом-вымогателем и рядом других причин.
Не загружается Windows: Boot configuration data is missing EFI\Microsoft\Boot\BCD
UEFI компьютер с Windows, установленной в наивном режиме, не сможет загрузиться при повреждении EFI загрузчика Windows. При попытке загрузиться с диска с повреждённым или отсутствующим EFI загрузчиком появится BSOD (синий экран смерти) с ошибкой:
В русской версии Windows ошибка может быть такая:
Эта ошибка говорит о повреждении или даже полном удалении конфигурации загрузчика Windows — Boot Configuration Data (BCD). Если вы попытаетесь восстановить загрузчик на UEFI компьютере с помощью утилиты bcdedit , вы получите такую ошибку:
Дело в том, что если Windows 10/11 установлена в нативном режиме UEFI на GPT диск, то EFI загрузчик Windows (Windows Boot Manager) хранит программу управления загрузкой и конфигурацию BCD на отдельном скрытом разделе EFI (размером 100 мб с файловой системой FAT32). Утилита bcdedit не видит этот EFI раздел, и соответственно не может управлять конфигурацией загрузчика на нем.
Автоматическое восстановление загрузчика Windows
Процедура автоматического восстановления загрузчика, зашитая в среду восстановления Windows (WinRe), как правило, в таких случаях бессильна. Но попробовать все-же стоит:
- Загрузитесь с диска загрузочного диска, диска восстановления или установочной флешки с Windows 10 или 11;
- На экране установки нажмите кнопку Восстановление системы;
- Затем выберите пункт Поиск и устранение неисправностей -> Восстановление при загрузке и выберите ОС, загрузчик которой нужно попытаться восстановить;
- Но скорее всего результат будет отрицательный: Восстановление при загрузке не удалось восстановить компьютер
Ручное восстановление загрузчика Windows с помощью BCDBoot
Перейдем к процедуре ручного восстановления EFI загрузчика Windows на UEFI компьютере.
Для восстановления конфигурации загрузчика (BCD), вам нужно загрузить компьютер с оригинального установочного диска с Windows (диска восстановления или специально подготовленной установочной USB флешки с Windows ). После загрузки в среде восстановления нужно открыть окно командной строки: выберите Восстановление системы -> Диагностика -> Командная строка (System Restore -> Troubleshoot -> Command Prompt).
В открывшейся командной строке выполните запустите утилиту управления дисками, набрав команду:
Выведите список дисков в системе:
Если у диска в столбце 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):
Выведите список томов и разделов в системе:
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) и выполните команду:
Убедитесь, что на этом диске есть каталоги 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:
Перейдите в каталог с загрузчиком на скрытом разделе:
cd /d m:\efi\microsoft\boot\
В данном случае M: это буква диска, присвоенная разделу EFI чуть выше. Если каталог \EFI\Microsoft\Boot\ отсутствует The system cannot find the path specified ), попробуйте следующие команды:
cd /d M:\ESD\Windows\EFI\Microsoft\Boot\
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, переименовав его (так вы сохраните старую конфигурацию в качестве резервной копии):
С помощью утилиты 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 — английский язык (США);
- /sM: — скопировать файлы EFI загрузчика на указанный раздел;
- /с – эта новая опция BCDBoot в Windows 10, которая позволяет перезатереть имеющиеся загрузочные записи при создании нового хранилища (в том числе debugsettings). Используйте этот параметр, чтобы игнорировать старые настройки и создать полностью чистую конфигурацию BCD загрузчика;
- /v – используется для включения режима вывода подробной информации BCDBoot..
Полный список языковых стандартов для 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.
Перезагрузите компьютер, отключите загрузочный диск. Если вы все сделали правильно, в выборе устройств загрузки должен появиться пункт Windows Boot Manager в котором можно выбрать загрузку нужной операционной системы. Ваш EFI загрузчик и конфигурация BCD успешно восстановлены!
Убедитесь, что вы не вносили недавно изменения в настройки UEFI
Загрузитесь с установочной/загрузочной флешки и измените конфигурацию загрузчика командами:
- bcdedit /deletevalue numproc
- bcdedit /deletevalue truncatememory
Предыдущая статья Следующая статья
alt=»RDPConfig поддержка последних версий windows 10″ width=»58″ height=»56″ /> Разрешить несколько одновременных RDP сеансов в Windows 10 и 11
alt=»Новые параметры mstsc в Windows 8.1″ width=»58″ height=»56″ /> RDS Shadow – теневое подключение к RDP сеансам пользователей в Windows Server 2016/2019
alt=»Структура разделов на UEFI системе» width=»58″ height=»56″ />Восстановление удаленного загрузочного EFI раздела в Windows
Спасибо автору.
Единственное что мне помогло загрузить WIn 8 на UEFI после падения в синий экран.
Статья супер.
Спасибо помогло, случайно удалил загрузочный сектор думал заново устанавливать придётся.
Огромное спасибо! Помогло ��
СПАСИБО!
Инструкция супер, все четко и по делу. Реально помогло только это.
Спасибо огромное. Эту статью надо назвать восстановление виндовс после краха!
Статья отличная, но есть один важный момент — на самом деле не нужно пересоздавать загрузочный сектор. На системах UEFI с GPT диском загрузочные записи разделов PBR (Partition Boot Record) не участвуют в процессе загрузке системы (в отличии от MBR конфигураций)
Если заменить загрузочные записи разделов на ESP разделе (EFI System Partition) и на разделе с Windows сначала на ntldr (от той же Windows XP), потом на syslinux — Windows 8 продолжает грузиться!
Что делать, чтобы восстановить загрузчик на GPT-диске?
Пересоздадим загрузочный сектор: на загрузочном разделе
bootrec /fixboot вот после введения этого пишет ,что не удается найти указанный файл подскажите ,что делать?
Скорее всего на загрузочном диске, с которого вы загрузились, отсутствует утилита bootrec.exe (скорее всего это самосборный LiveCD или что-то подобное) .
Воспользуйтесь оригинальным установочным диском для Windows 8 (разрядность должна соответствовать установленной у вас системе) или соответствующей версией MSDART (ака ERD), либо найдите файл вручную и укажите полный путь к нему к нему.
Спасибо большое. спасли меня от проблем с чужим ноутом,
по просьбе удалить рековери разделы (по непонятным мне причинам) нечаянно зацепил и загрузочный тоже… ВЫЛЕЧИЛ ЕТИМ СПОСОБОМ не с первого раза наверно с 3го где то))) СПС.
Статья супер!!без обмана
у меня даже не было видно тома c UEFI, видимо затер после действий с Парагоном
все запустилось
вроде сделал , что главный том «C» где винда лежит
Запустим diskpart: diskpart
Выведем список дисков в системе: list disk
Выберем диск, на котором установлена Windows 8 (если жесткий диск в системе один, его индекс будет нулевым): sel disk 0
Выведем список разделов в системе: list vol
bootrec /fixboot
bcdboot C:\Windows /L ru-ru /S M: /F ALL
и все заработало
В командной строке вывел список дисков, Он мне выдаёт только жёсткий. Выделяю жесткий. Вывожу список разделов. Он мне выдаёт DVD-ROM. Не подскажешь, что делать в данной ситуации?
Похоже все разделы на диске полетели. Скорее всего понадобится какая-нибудь сторонняя утилита для восстановления удаленных разделов. Ну или попробовать переразбить диск, если инфа с него уже не нужна.
Спасибо, годный материал. Естественно, что под свой случай по-своему сделал, но основа очень помогла.
Спасибо! Восстановил загрузку, после того, как EasyBCD все настроил, а потом не захотел исправлять меню загрузки, вываливаясь с ошибкой.
Огромное спасибо! Только это и помогло.
Больше не буду вытирать пыль с корпуса во время обновления винды.
А еще лучше не дышать и держать пальцы крестиком �� Обновления — они такие…
У меня вопрос, поможет ли этот способ востановить загрузчик если:
1. Таблица разделов жесткого диска, в том числе и скрытые системные, была уничтожена при переустановке системы.
2. После было произведено востановление с загрузочной флешки — возврат в исходное состояние системы, в том числе и удалённых разделов, из образа. Но ноутбук перестал видеть диск. (operating system not found).
3. Из-за невозможности зайти в BIOS ноутбука, все операции с жестким диском производились на ПК без поддержки uEFI, после чего жесткий диск подключался обратно в ноутбук.
Вот такая у меня беда =(
Автору огромное спасибо.
Облазил весь интернет и мучился 3 дня, пытаясь решить проблему с загрузкой ОС после неудачной гибернизации.
Также решилась проблема с блокировкой диска.
А если системный диск С: получил тип файловой системы — RAW, и после команды:
C:\Windows /l en-us /s M: /f ALL
выдает что
«Невозможно произвести копирование файлов»
Как быть?
Скорее всего поврежден/удален раздел на этом томе. Поэтому в первую очередь попытайтесь восстановить файловую систему с помощью сторонних средств восстановления разделов /данных.
Можно по подробнее как можно исправить
«Невозможно произвести копирование файлов»
Как быть?
Ответить
itpro | 09.10.2014
Скорее всего поврежден/удален раздел на этом томе. Поэтому в первую очередь попытайтесь восстановить файловую систему с помощью сторонних средств восстановления разделов /данных.
Здравствуйте.
У меня 1 раз не получилось, пропустил один пункт, по второму кругу пошёл на пункте ren BCD BCD.bak Выдаёт «Не удаётся найти указанный файл» первый раз такой ошибки не было
иду дальше на пункте bcdboot C:\Windows /L ru-ru /S M: /F ALL Сообщение: «BFSVC Error: Unable to load MUI file for BCD strings (2)»
Как быть, подскажите
Так какой шаг был пропущен?
Все команды нужно выполнять последовательно, в рамках одной сессии. Внимательно проверяйте свои пути к дискам
Здравствуйте! Всё сделали как надо, по порядку…. Но. Два раза подряд ошибка данная выскакивает.
Добрый день. Выскочила ошибка :\boot\bcd 0:с0000098 при попытке загрузиться с usb hdd на установочный для восстановления. До этого был сбой, отключило питание на перезагрузке с изменением параметров автозагрузки, после чего вин 8 запустило восстановление системы, которое повисло на часа 4, при повторном перезапуске такая ситуация. Как тут быть?
Без дополнительной информации помочь сложно. На экране ошибки имеется текстовое описание? Хорошо бы увидеть скриншот ошибки…
Здравствуйте) Уже все сделала, как выяснилось, лаги были от того, что просто жесткий диск отжил свое и ошибка была от криво записанной установочной флешки) Удалось протестировать жд на компьютере друга, сразу выяснилось в чем беда) Спасибо за ответ)
У меня вообще не видит того раздела, на который у становлена восьмерка и еще одного раздела с этого жесткого диска.
Возможно повреждена таблица разделов либо данные разделы удалены. Попробуйте восстановить таблицу разделов и пропавшие разделы с помощью специализированного софта.
ввожу эту команду «ren BCD BCD.bak» мне пишет не удаётся найти указанный файл, можно ли мне его ещё восстановить?
Комадна ren BCD BCD.bak нужна для создании резевной копии, в вашем случае видимо файл BCD уже удален, так что сразу переходит к следующему шагу — на котором он будет пересоздан.
Ставил Юбунту 14 на отдельный диск, и оно потерло мне загрузку Виндовс 8.1.
Проделал вышенаписанное. Подскажите, если в diskpart не отображается раздел bootstrap, при этом с системный и зарезервированный (360Мб) видно можно еще что то сделать?
EFI и MSR разделы можно создать вручную. Если на диске есть нет неразмеченной области (свободного места) — придется уменьшить системный раздел (diskpart shrink), а затем:
create partition efi size=260
format quick fs=fat32 label=»System»
create partition msr size = 128
Далее пересоздайте загрузчик Windows 8 по инструкции в статье.
Скажите пожалуйста, а если fat32 перевести в ntfs, я никак не могу понять этой путаницы, вроде бы в мануале(asrock 970 extreme4) написано для 64-разрядной системы, ставить AHCI, а в описанном варианте для мого сучая канает только IDE. Может я не так что делаю?
Спасибо Вам за статью, она помогла.
EFI раздел в любом случае должен иметь файловую систему FAT32, в противном случае UEFI система не увидит данные на этом разделе, и, как следствие, передать ему управление загрузкой.
может дело в порядке загрузчиков, у меня уже все заработало, потом попробовал поменять местами windows boot system, efi shell и hdd и вопросы перемножились…
Помогите разобраться, пожалуйста!
Всего 4 тома, не учитывая DVD-ROM, 1 из которых флешка, 1 зарезервированный системой, C и D. Как быть, если нет тома для EFI?
Значит у вас система установлена не в UEFI режиме, а в обычном BIOS, либо в режиме совместимости
UEFI запущен.
Могу ли я с вами пообщаться онлайн через соцсеть? А то ни один из вариантов из гугла не помогает, а здесь фото не показать. Не знаю, что и делать.
И что делать если система под BIOS?
Проблема следующая — раздел 350мб был удален и создать новый раздел efi система не дает, пишет, что только для gpt дисков можно. Перепробовал все что тут написано, но на этапе перехода в скрытый раздел я соответственно торможусь, потому что его нет. Возможно восстановление?
Смотри мой коммент от 25 11 2014. Там указано как пересоздать эти разделы
Так я о чем пишу)) Система не дает создать эти разделы так, как вы пишите — выдает ошибку «бла бла это только для GPT дисков». И ничего не создает конечно.
У вас случайно не MBR разметка на диске?
В командной строке запустите diskpart и выполните команду
list disk
Если в колонке Gpt пусто (звездочки нет), у вас таблица разделов MBR, а система работает не в родном UEFI режиме (или у вас вообще BIOS) и вам данная инструкция не подойдет.
ноут HP 15 b054sr в Биосе uefi жд виден, система win 8 диск не видит. установщик win8 диск не видит. виктория диск не видит не из -под дос, не из-под виндовс. hdd regenerator под дос видит жд, под виндовс нет. Тест из биоса дает отсутсвие проблем с жд. regenerator показывает первый блок как d-т. е. проблемный. Что можно предпринять в данной ситуации?
Спасибо!
Восстановил Dell Inspiron 7737-8717.
Только здесь нашел «пересоздадим хранилище BCD».
Про bootrec /fixboot многие пишут.
Но у меня без ren BCD BCD.bak
и bcdboot C:\Windows /L ru-RU /S M: /F ALL
не грузился комп.
Еще посоветую посмотреть содержимое
EFI\Microsoft\Boot
командой dir.
У себя обнаружил интересную вещь: файл BCD был изменен непосредственно перед тем, как начались проблемы.
Что это? Дыра в защите? Почему ОС позволяет кому нипопадя менять свой конфигурационный файл?
Админ — это кто ни попадя? Мой вам совет, не отключайте UAC…
Причем здесь admin?
Конфигурационный файл был изменен не интерактивно. А UAC включен, как и все другие способы защиты Windows 8.1. И запроса на подтверждение действий, требующих прав администратора не поступало. Вот дополнительных средств, вроде KAV не установлено. Пока не ясно, что собственно произошло. Разбираюсь …
Ребята, сорри за ошибки, пишу с телефона.
Суть проблемы:
Был винч 1. На нем была вин-10
Потом я купил себе новый hdd (винч 2).
Купил себе ключ виндовс 8.1 и поставил ее на винч 2.
Загрузчик лег на винч 1 . В системе теперь пишет что у меня два чистемных диска. На одном винда новая, на другом же старая винда и занрузчик (старая ввинда не лезет запускаться )
Винт 1 хочу отформатировать. Но пока там бутник , то никак.
Как сделать загрущку новой видны с нового винта а старый format?
Очень жду ответа.
Тут все просто — отключаешь первый диск (винч 1) и пересоздаешь загрузчик для Windows 8 по этому мануалу.
itpro, возможно ли загрузчик с EFI перенести в корень винды?
Нет, это вряд ли. Конечно, наверно можно исхитриться с вариантами переноса его в виртуальный vhdx диск и загрузчиком на флешке, но смысл всех этих телодвижений? Удалить один маленький раздел на диске?
Спасибо, помогло. Была немного другая ошибка.
The Boot Configuration Data file missing some required information
File: \BCD
Error code: 0xc0000034
После восстановления компьютер начал загрузку, но 3 раза она завершалась ошибкой и автоматической перезагрузкой.
После 3-го раза выдалось меню с примерно 8 видами загрузки.
Выбрал Безопасный режим и система нормально загрузилась.
После этого перезагрузился уже без ошибки в нормальном режиме.
А если в списке разделов не присутствует такого на 100мб? 2 раздела Fat-32 один драйвера другой как раз не знаю и весит 1000мб. и почему то у меня все разделы показывает «скрытые». в общем используя все ваши манипуляции в конце выдает ошибку копирования файлов…
Використовуючи вашу строку — C:\Windows /L ru-ru /S M: /F ALL — на IDE диску з розміткою MBR по серед диска зробив розділ FAT32 =95Mb так вийщло і поставив UEFI загрузку встановлено було раніше 2 системи але працює EFI — 9 сек. зарузка на диску HDD
Спасибо большое автору за статью.
Таким образом удалось восстановить работоспособность Acer Aspire Switch 11.
Пара замечаний:
1. Некоторые писали в замечаниях раньше, но отдельно данную ошибку не выделяли:
Есть небольшая ошибочка по тексту:
вместо «N:\» в строке:
bcdboot C:\Windows /l en-us /s N: /f ALL
нужно писать «M:\»
bcdboot C:\Windows /l en-us /s M: /f ALL
2. Дополнительно к команде:
«bootrec /fixboot» набрал:
bootrec /fixmbr
bootrec /scanos
bootrec /rebuildbcd
3. После данной процедуры нужно дать компу немного поработать.
Т.е. будет первая долгая загрузка, затем автоматический вход под записью администратора, потом перезагрузка. Все занимает примерно минут 15-20. Не трогайте комп. в это время.
Ок, спасибо за внимательность, поправил букву диска в команде
У меня такая проблема, диск на котором был раздел BOOTSTRAP 100Mb уничтожен физически, а сам windows установлен на другом диске (диск имеет один раздел), как в таком случае восстановить способность загрузки?
Друзья, спасибо огромнейшее за этот мануал! Реанимировал ноутбук друзей после неполадок с питанием и постоянным внезапным выключением, из-за чего посыпался загрузочный раздел диска. Единственное — на этом ноуте скрытый раздел был размером 300 Мб, и имел метку ESP.
Еще раз спасибо!
С Уважением, Андрей.
подскажите а что делать если в list disk нету загрузочного раздела((
Команда list disk выводит список физических дисков в системе.
Вам нужно сначала выбрать ваш диск, на котором установлена системе ( sel disk номер_диска ) и лишь затем вывести на нем список разделов командой:
list vol
Если команда list disk не увидела ваш системный диск — возможно проблема в нем самом (неисправен или физически отключен) или настройках UEFI
После проделанных операций получил следующее сообщение:
… отсутствует или содержит ошибки
Файл :\WINDOWS\system32\winload.efi
Код ошибки: 0xc000000f
Подскажите как этот файл восстановить
Есть пара вопросов:
1) Компьютер с UEFI или BIOS
2) Если UEFI, в каком режиме грузится система (нативном UEFI или режиме совместимости) ? Включен ли Secure boot
3) Пробовали запустить автоматическое обновление ( Automatic repair)?
Подробная статья, в которой описана методика восстановления системы при отсутствии файла winload.efi здесь: https://winitpro.ru/index.php/2015/02/17/winload-efi-missing-corrupt-windows-8/
Всё сделал по инструкции, но в списке дисков был только DVD привод,неужели хард навернулся.
Пытался установить АльтЛинукс, но что то намудрил с загрузчиком. В биосе при выборе с какого диска грузится видит всё что угодно (флешки, привод, второй диск), кроме основного на котором стоит винда. Все выше описанные манипуляции проделал, проблем не возникло, но и ОС не грузится. «bootrec /fixboot bootrec /fixmbr bootrec /scanos bootrec /rebuildbcd» после rebuildbcd ошибка не удается найти запрошенное системное устройство. Т. е. так же не работает режим восстановления.
Попробуйте отключить Secure Boot и включить режим совместимости (называется обычно CSM или Legacy)
Спасибо. Отключал, включал, делал все, как описано выше, также поставил Убунту, но так и не понял в какой момент заработало. Правда, както не так как раньше.
Все делал: отключал, включал, выполнял все инструкции из статьи, плюс к тому же поставил Убунту. В итоге так и не понял в какой момент все заработало, правда как то не так, но главное работает. Только вот режим восстановления через Ф9 (у меня ноут) так и не работает. Буду разбираться.
Спасибо автор!
расшарил твою шпаргалку для не особо сильных в командной строке. с твоей помощью перенес загрузочный сектор и добавил места в 12гиг со старого винта.
Есть проще вариант с заменой bcd кому надо пишите вконтакте id setman
Извиняюсь за глупый вопрос,а как сделать перезагрузку после всех этих манипуляций??
shutdown -f -r -t 0
А как быть если материнка на старом биосе??
Инструкция применима для UEFI систем. Если у вас проблемы с системой на BIOS, подробно опишите проблему на форуме — возможно там вам помогут
День добрый, автор!
После bcdboot C:\Windows /L ru-ru /S M: /F ALL
ошибка: BFSVC Error: Error copying boot files from c:\windows\boot\EFI to \\?\GLOBALROOT\Device\HarddiskVolume2\EFI\Microsoft\Boot! Last Error = 0x570
Приветствую!
Загружались с установочного диска Windows 8? Проверьте что ничего не напутали с буквами дисков?
Покажите результат команды:
list vol
День добрый, Автор!
Приношу извинения, было некогда заниматься, но проблема осталась.
1. Загружался с флешки с Win8.
2. Вроде не напутал.
3. Не знаю как выложить скрин, но выглядит так:
Том 0 С Os NTFS Раздел 186Gб Исправен
Том 1 D Data NTFS Раздел 258Gб Исправен
Том 2 System FAT32 Раздел 300Мб Исправен Скрытый
Том 3 Recovery NTFS Раздел 900Мб Исправен Скрытый
Том 4 Restore NTFS Раздел 20Gб Исправен Скрытый
Том 5 Е NTFS Сменный 7639Мб Исправен
Том 6 RAW Раздел 4096МБ Исправен Скрытый
Очень жду ответа!
Была такая же ошибка. Помогло исправление ошибок на диске M: (и в моем, и в Вашем случае) командой CHKDSK /F
И 60 раз
BFSVC Error: BfspCopyfile failed! Last Error = 0x570
Приветсвую.
Подскажите пожалуйста по команде FixMbr — можно/нельзя; нужно/не нужно её применять для GPT дисков. Неоднократно встречалось на разных форумах, что после этой команды на GPT дисках слетала разметка или разметка преобразовывалась в MBR (со всеми вытекающими в виде невозмжности загрузки ОС).
Думаю, выполнение команды bootrec /fixmbr на GPT проблем не вызовет (отработает вхолостую), т.к. в структуре GPT диска физически отсутствует загрузочная запись MBR, так что пересоздавать ее просто негде.
Если есть обратная информация, поделитесь, плис, пруфами.
Раздела для UEFI у меня не было, и это сбило с толку немного. А вообще для BIOS совместимых Windows систем загрузчик может быть как на Fat32 так и на NTFS
Доброго дня. лучшая инструкция, что я находил. и все равно не вышло ��
все команды отрабатывают удачно (гружусь с uefi \ gpt флешки с виндовс 8.1)
Но после снова 0xc000000e (пару раз выпадала 0xc0000001)
система не моя. сбой произошел просто после перезагрузки (возможно во время работы замкнули усб порт. но система выключалась нормально) восстановить очень хочется. диск — один. разделы целы. Идет 5 час… идей нет совсем. надеюсь на вашу помощь ��
p.s. биос обновлял.. gigabye dual bios. uefi/fast boot/security enable (но вообще пробовал все вариации)
Еще 5 часов обогатили меня просто огромной горой знаний. И никакой пользы. Однако, помогло следующее: от диска С оттяпал кусок в 50Гб. и начал установку на него. Через 10! минут выбираем старую систему при загрузке. Комп что-то усердно делает еще минут 10 — и винда загрузилась. мы великолепны… шучу конечно. чувствую себя пещерным человеком. Остались неясны и истоки проблемы, и почему ничего другого не помогло.
Если я верно понимаю, проще всего было грохнуть этот раздел полностью, затем diskpart-ом сделать его новым, пустым. Затем bcdboot записать загрузчик заново, и всё.
Скажите, пожалуйста, как мне найти раздел EFI, если у меня нет диска размером 100 мб?
Те, которые обозначены как FAT32 имеют размеры 1000 мб, 3809 (это соответственно флэшка), и 260 мб.
error code 0x0000185 В систему не заходит(( Выполнил все команды, остановился на следующей: bootrec/fixboot. Выдает сообщение: Запрос не был выполнен из-за ошибки ввода/вывода на устройстве. Что это может означать?
После переподключения системного диска, полностью накрылась загрузочная запись. Перепробовал множество вариантов (простое bootrec /scanos показывал 0 обнаруженных ОС) и думал придется переустанавливать, но ваше решение прям вытянуло меня со «дна» �� Все получилось с первого раза, без каких-либо ошибок!
Огромное спасибо!
При вводе последней команды пишет сбой при копировании файлов загрузки
Проверьте, что пути указанные в команде существуют (в вашей конфигурации они могут отличаться), а на диск с BCD загрузчиком (в нашем примере это диск M:) возможно запись файлов.
Спасибо огромное автору статьи. Это единственное, что мне помогло, после того, как мой жесткий диск случайно преобразовался из GPT в MBR. После обратной конвертации загружаться windows не хотел.
Могут быть ошибки, за что прошу прощенич т.к. вынужден писать с телефона у которого треснутый экран.
Проблема такая у меня после установки старой игрушки поменялись местами диски С: на Е:
По глупости перезагрузил не разобравшись что к чему.
Получил автоматическое восстановление системы которая через 10 секунд выкидывала в меню восстановления.
Проделал все что здесь было описанно предварительно и изменив наименования логических дисков вернув прежнее.
С мёртвой точки вроде сдвинулось однако. Появилась новая беда.
Синий экран с грустным смайлом и потом надписью.
Восстановление ПК не удалось правильно загрузиться.
Код ошибки 0хс0000001
Нажмите ВВОД
Нажмите F8
-Ни один из пунктов параметра загрузки ничего не дал.
Нажмите ESC
Спасибо вам. Получилось. Статья написана толково и грамотно.
Огромное спасибо за статью! Реально помогла восстановить загрузку Windows на Imac с буткампом!
Правда пришлось поразбираться какой раздел EFI необходимо лечить, т.к. на imac с bootcamp таких разделов EFI два и они имеют одинаковое название и размер. Пришлось зайти на каждый и посмотреть содержимое каталогов с помощью команды DIR, после чего и выяснил на каком из них загрузчик для винды, а на каком для макоси.
Спасибо огромное! Действительно помогли!
Внимательно прочёл статью. Очень нужная и для меня тоже. У меня маленькая проблема с планшетом Irbis TW89. В БИОС исчезла возможность выбора загрузки. Пункт выбора загрузчика просто пустой. Сделал всё, как сказано в статье, но ничего не изменилось. Правда, проблем с этим не особых. Если вставлена УЕФИ-флешка, загрузка идёт с неё, если нет — с УЕФИ еММС. Но всё равно ненормально, что раньше мог в БИОС выбирать загрузчик, а теперь нет. Что может быть?
Спасибо, помогло. В результате установки Linux потерял разделы с recovery и windows. В интернете нашел образ восстановления моего ноутбука, установил, но загрузчик не восстановился. Перепробовал другой способ восстановления не помог, а ваш пришелся кстати.
Автор, спасибо тебе огромное! Ты спас мой комп и сэкономил мое время. Все, что ты описал работает.
Не сработала команда: ren BCD BCD.bak
Тем не менее винду спас. Большой плюс тебе в жизненную карму! ��
Вот просто ОГРОМНЕЙШЕЕ спасибо за статью.
error code 0xc0000034 windows 8 Вот проблема после синего экрана никакая клавиша кроме ESC не работает а диск с новым виндовс 7 не читает аналогично и с флэшкой что делать?
Спасибо огромное за статью! Помогло восстановить windows после кривой установки на него linux.
Добрый день. Сделал всё как указано, ошибок никаких не писалось, вот сижу уже десять минут перед чёрным экраном, не грузится винда.
не дурная статейка.
тем более дающая некоторым понятие о командной строке.
��
у меня, правда, несколько иная ситуёвина вышла: пытался добавить образа wim в загрузку, ну и где-то лажанул. после этого снёс/переименовал (аналог ren) старый bcd-файл и пересоздал другой.
инструменты при этом использовались разные: bcdtool by jianliulin, bootbuilder by AEK, visual bcd editor by BoYans, bootice by Pauly, и конечно же bcdedit, bcdboot, bootcfg, bootsect.
самое печальное, что ни один из них так и не помог воссоздать загрузчик полностью.
к тому же, после манипуляций — режим перегрузки и кибернации — не работают как должно.
не использую efi, в mbr (судя по утверждениям bootice и diskpart) — лежит бутсектор выньды, в pbr — прописан bootmgr.
bcd — ‘по-умолчанию’ в \boot\ системного диска.
фишка в том, что все выше перечисленные утилиты — не находят ‘boot configuration data store’ при попытках редактировать bcd ‘по-умолчанию’ с системного диска.
не помогло ни использование bootrec /fix*, bootrec /scanos + /rebuildbcd; ни bcdboot C:\Windows /L ru-ru /S C: /F ALL; ни bootsect /nt60 c: /force /mbr (и не /mbr тоже)!
пишет, что всё апдейтит и сохраняет, а как дело доходит — не может отыскать нужное системное устройство.
при этом, сам bcd из \boot\ — открывается и изменяется, вот только с экспортом и открытием траблы.
но при загрузке — проблем не возникает, bcd находится и загружается.
что за неведомое системное устройство такое, которое вроде бы как существует, но не находится при необходимости?
я понимаю, что мой вопрос больше реторрческиф, но всё же было бы иртересно услышать ответ.
помог recovery, запущенный, кстати, через модифицированный bcd.
=)
перезалил в скрытый раздел реестра новый boot configurations data store, и запустился с этого скрытого раздела.
теперь все тулзы видят bcd в \boot\ загрузочного диска.
самое прикольное, что в системе находятся несколько копий этого hive-файла (bcd — это ни что иное, как кусок реестра в ‘рабочем’ состоянии, если кто-то не знает). но все эти копии переписываются после перезагрузки, как мне показалось. а участки изменённого bcd — записываются системой в bcd*.log, непосредственно там, где хранится сам bcd.
сложность, как я понял, возникает тогда, когда изменённые утилитами данные вносятся в сам реестр, в скрытую его часть.
продолжаю эксперименты.
попытаюсь внести изменения в рабочий вариант, предварительно сохранив сгенерированный системой bcd.
к слову, вынь7 стоит тоже модифицированная — сборка от одной группы товарищей с Урала (кто в теме — поймёт).
рекавери — был в сборке, что редкость.
а лажанул я, как выясняется, с IDшниками. гпнерятся они самой системой, и, видимо, прописываются как раз в тот скрытый системный реестр выньды.
не досуг было возиться с реестром через реаниматор. скажу лишь, что существуют утилиты, позволяющие читать данные с системных и пользовательских разделов любой выньды, подключая их, как виртуальные диски, скажем.
это если кто не в курсе.
с помощью таких не хитрых фокусов можно сменить пароли в винде, ну и много чего ещё накуролесить…
тоже, в большинстве случаев, используется командная строка\командный интерпритатор.
��
в общем, как говорил кузнец-философ из ‘Формулы любви’ Марка Захарова: то, шо один человек придумал — другой завсегда сломать может!
%)))
но я б лично всем эти инженерам с _мелкомяхких_ — руки бы поотбивал за такое над нами издевательство.
%)))))
знаю я одного такого перца…
тот ещё чудак!
=)))
Спасибо просто огромное за такую статью. Мой ноут снова ожил-помогло.
Дмитрий-Вы супер. Спасибо.
В этой статье мы разберемся, как восстановить загрузчик 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