This tutorial focuses on the built-in tools in Windows, which you can use when a Windows server is not booting correctly.
Booting to Safe mode
Booting to safe mode eliminates all unnecessary boot up
items, therefore it is useful in the event
that you suspect that something that is boot up along side windows that is
causing a problem. You can press F8 at
boot to get to safe mode. What you also can do is open a command prompt and
enter msconfig. The dialog box System Configuration opens.
Under Boot options, check the check box Safe boot, click OK
Yet another way to boot into Safe mode is, one again, open a command prompt and type bcdedit safeboot minimal. You can also do bcdedit safeboot networking to boot to safe mode with networking. Finally, you can type bcdedit safeboot safebootalternateshell to a safe mode command prompt.
A word of warring – before using bcdedit for getting to safe
boot. One you have enabled safe boot from bcdedit you will keep booting to safe
mode until you disable to via command prompt like this: Bcdedit
/deletevalue safeboot
Advanced boot Options
When booting to Safe Mode you will be met with the Advanced boot Options menu.
- Repair
Your Computer – Boot to WinRe environment. - Safe Mode
– Striped down version of windows. - Safe Mode
with networking – Safe Mode with networking capabilities. - Safe Mode
with command Prompt – Safe Mode without a GUI, only a command Prompt. - Enable
Boot logging – Creates an ntbtlog.txt file in your C:\Windows wit boot
information. - Enable
low-resolution video – Min. window resolution. - Last
known good configuration (advanced) – loads the last configuration where
windows booted successfully. - Debug
mode – sends debugging information to an external device connected via
serial port. - Disable
automatic restart on system failure – Disable this if you an in a loop of
automatic restarts. - Disable
Driver Signature Enforcement – This will allow drivers without Signature to
be loaded. - Disable
Early Launch Anti-Malware Driver – disables windows build-in detection of
Rootkit.
Booting to Recovery Environment (WinRE)
There are two different recovery environment in windows WinRE and WinPE. The most basic difference between the two is that WinPE includes networking capabilities that is not available in WinRE. In this tutorial, we are going to focus on WinRE.
There is a few different ways to get in to WinRE, the most known one is probably to press F8 a boot. However missing that magic half a second where that option is available has happened to all of us.
Another thing you can do is if you can actually boot to the OS is open a command prompt an enter shutdown /r /o /t 0.
/r is for reboot.
/o is boot to windows recovery mode
and /t is time 0 seconds
You can also hold down shift while clicking restart in the graphical interface.
Naturally, you can also do it the old school way, where you boot
to bios and choose to boot to a dvd drive with a installation dvd, there from
there chose to run WinRe tools.
Finally, Windows will automatically boot to WinRE under
certain conditions:
- Two Bad startups – This is when something in the process of the OS startup go wrong.
- Two sudden shutdown – This is when the OS is suddenly shutdown like the power are cut.
- Secure Boot Error – This could be if something like a rootkit tries to fiddle with the secure boot.
Ones you are in WinRE you have a few options to use the tools available, in this tutorial, we are going to few different command line tools.
Startrep
- Click Troubleshoot
- Click Command
Prompt - Type cd
/sources/recovery - Type startrep
and press Enter
Startrep is a program, which diagnose the startup process and if possible fixed it. I looks at registry corruption, driver issues, partition problems and other. Therefore, it is always a good place to start.
Bootrec
Another useful too is bootrec.
- /Fixmbr
– Will write a Master boot record for windows to boot on. - /FixBoot
– Will write new boot sector. - /ScanOs
– Scan all partitions to look for at boot records. - /RebuildBcd
– Will allow you to choose the versions of windows you want to add to the bcd
store.
Dism
Every once in a while Microsoft fucks up with a Windows update that send servers into bsod when booting or something worse. In these situations, you can use Deployment Image Service and Management Tool (DISM) from WinRE to remove the update. Start by searching the internet for recent windows updates for your OS, and if other people have had similar problems with it. Find the KB number of that update.
- To see all installed updates type Dism /Image:C:\ /Get-Packages
- To remove a KB type Dism /Image:C:\ /Remove-Package /PackageName:Package_for_KB######
- To reboot type shutdown /r /t 0
Hopefully, Windows will boot successfully afterwards.
Diskpart
Diskpart can be used to check the state of your disk and partition. If you boot up and you get a screen like the on below saying that the operating system could not be found, this is a good place to start.
Since the OS in is gone, we can’t event get to WinRE we need
to dust off out Windows 2012 r2 Installation disk or iso file and boot from
that.
- Choose your keyboard layout and click Continue
- Click Repair
your computer
- Once in WinRE Click Troubleshoot
- Click Command
Prompt - Type Diskpart | List disk | Select disk 0 |List partition | Select
partition 1 | Detail
partition
So I we see that the partition has the attribute Activ:No. Since this is the only partition in our system this is probably not a good idea that it’s inactive.
- Type Active
- Type Exit
to leave diskpart and Exit again to
leave command prompt - In WinRE Click Continue to reboot
Hopefully windows will now boot to the active partition.
Please follow and like me:
В этой статье мы разберемся, как восстановить загрузчик 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
Окончание истории (почти).
Чтоб не убить рабочий сервер, все эксперименты проводились на виртуальной машине. Сэмулировал текущую ситуацию, установил на ВМ Server 2012, потом добавил диск 2, поставил вторую Server 2012, естественно раздел EFI на новом диске отсутствует, после этого удалил 1 диск. Все, сервер не грузится.
Решил скопировать существующие разделы с диска 1 (помимо раздела с ОС были еще 2 раздела на 300М ntfs и efi 100M fat32) на новый диск, подключил диск 1, загрузился в виндовс, с помощью AOMEI Partition Assistant, ужал раздел с ОС на 400М и скопировал те 2 раздела на новый диск, после этого отключаю диск 1 и виндовс (новый) удачно стартует! аллилуя!
Но такой метод, как оказалось, имеет ряд недостатков: bcdedit вываливается с ошибкой «не найдено системное устройство», bootrec /rebuildbcd находит ОС но при попытке добавить запись в BCD вываливается с той же ошибкой, в виндовс, в параметрах запуска ОС, список ОС пустой.
Ну ок, загружаюсь в консоль восстановления, в diskpart удаляю раздел efi, создаю заново, форматирую и присваиваю букву диску
Code | ||
|
дальше копируем загрузочные файлы с установленной ОС
Code | ||
|
после этого все пришло в норму, bcdedit и bootrec /rebuildbcd отрабатывает корректно, запись «Windows Server 2012 R2» присутствует в списке ОС в параметрах загрузи виндовс.
Резюме: необходимо на диске выделить 100М места для efi раздела (можно с помощью оснастки управления дисками на другом ПК, или на этом же ПК, но загрузившись со второй системы), в консоли восстановления с помощью diskpart создать раздел efi и скопировать туда загрузочные файлы командами выше.
ЗЫ: на реальном сервере конечно ссыкотно производить все это, на следующей неделе попробую, пока в памяти свежо.
ЗЫЫ: этот метод применим не только для windows 2012 server, но и для вех виндовс, начиная по моему с windows 7 и их серверных редакций.
В минувшие выходные, уважаемые люди попросили склонировать диск 1Tb HDD-240Gb SSD. При том по определенным причинам диск необходимо было именно склонировать сохранив полную структуру текущих разделов иначе, то, ради чего это все делается, просто перестанет работать.
В последнее время, при клонировании все чаще сталкиваюсь с тем, что слетает загрузчик, при том каждое клонирование часто индивидуально. Ранее я уже писал, как восстановить загрузчик MBR.
Но в этот раз, при клонировании, утилита любезно сообщила, что полное клонирование диска возможно с том случае, если все это будет преобразовано в GPT и никак по-другому, а с GPT у нас может быть только UEFI загрузчик, соответственно, тот который был ранее MBR перенесся и благополучно «почил в бозе».
Тут можно почитать про структуры и различия между MBR и GPT.
Соответственно его надо восстановить или создать, сегодня как раз об этом.
Структура разделов GPT диска для Windows.
Рассмотрим, как должна выглядеть таблица разделов загрузочного жесткого диска Windows с GPT разметкой на UEFI компьютере. Как минимум должны присутствовать следующие разделы:
- Системный раздел EFI (Extensible Firmware Interface, или EFI System Partition — ESP) с загрузчиком – 100 Мб (тип раздела — EFI);
- Резервный раздел Майкрософт (Microsoft Reserved) – 128 Мб (тип раздела — MSR);
- Основной раздел Windows – раздел с Windows.
Это именно минимальная конфигурация. Эти разделы создает установщик Windows при чистой установке системы на неразмеченный диск.
Производители компьютеров или сами пользователи могут дополнительно создавать собственные разделы, содержащие, к примеру раздел Recovery со средой восстановления Windows в файле winre.wim, раздел с резервным образом системы от производителя (позволяет откатится к исходному состоянию компьютера), пользовательские разделы и т.д.
Раздел EFI c файловой системой FAT32 является обязательным на дисках с GPT разметкой на UEFI системах и имеет GUID c12a7328-f81f-11d2-ba4b-00a0c93ec93b
. Стандартный размер EFI раздела 100Мб (на дисках расширенного формата с секторами 4Кб /4K Native / размер EFI раздела 260Мб).
MSR раздел раздел (Microsoft System Reserved) на GPT диске используется для упрощения управления разделами и используется для служебных операций (например, при конвертировании диска из простого в динамический). Это резервный раздел c GUID e3c9e316-0b5c-4db8-817d-f92df00215ae
, которому не назначается код раздела. На этом разделе нельзя хранить данные пользователя. В Windows 10 и 11 размер MSR раздела – всего 16 Мб (в Windows 8.1 размер MSR раздела – 128 Мб), файловая система – NTFS. MSR раздел должен находиться между разделами EFI (ESP) и первичным разделом с операционной системой Windows.
На основном разделе с файловой системой NTFS находится установленная Windows, программы и данные пользователя. Также на диске могут присутствовать дополнительные разделы с данными.
Что будет, если в Windows отсутствует раздел EFI?
На EFI разделе (по аналогии с разделом System Reserved на дисках с MBR разметкой) хранится хранилище конфигурации загрузки (BCD) и ряд файлов, необходимых для загрузки Windows. При загрузке компьютера среда UEFI загружает загрузчик (EFI\Microsoft\Boot\bootmgfw.efi) с раздела EFI (ESP) и передает управление ему. Исполняемый файл bootmgfw.efi выполняет запуск основного загрузчика Windows Boot Manager, который загружает данные конфигурации из BCD. После загрузки BCD начинается загрузка Windows через winload.efi.
При загрузке UEFI компьютера он ищет системный раздел EFI на всех подключенных дисках. Если раздел EFI удален или поврежден, вы не сможете загрузить Windows с такого диска. Появится ошибка UEFI: could not locate \efi\boot\bootx64.efi – not found , пустой UEFI Shell с предложением выбрать загрузочное устройство.
Также вы не сможете загрузить Windows, если EFI раздел отформатирован в файловой системе NTFS. Даже при чистой установке Windows в таком случае вы получите ошибку:
Windows detected that the EFI system partition was formatted as NTFS. Format the EFI system partition as FAT32, and restart the installation.
Установлено, что системный раздел EFI отформатированный в NTFS. Отформатируйте системный раздел EFI в формате FAT32 и перезапустите программу установки.
Но это не мой текущий случай, в моем случае это просто: отсутствует загрузочный раздел.
Соответственно мне необходимо удалить текущий склонированный boor раздел, и создать новый.
У меня тут установлен Windows 10, поэтому потребуется загрузочная флешка с 10-кой.
-Грузимся с нее, заходим в раздел Дополнительные параметры, запускаем коммандную строку.
Запускаем утилиту управления дисками и разделами:
Diskpart
Выводим список жестких дисков в системе:
list disk
Свою структуру дисков фотографировать не было времени (но у меня там было два диска: основной и сама флешка), поэтому далее на примере других разделов (но все по аналогии):
Выберите этот диск:
Select disk 0
Выведите список разделов на диске:
List partition
В нашем примере в системе осталось всего 3 раздела:
- Раздел Reserved (MSR) — 16 Мб
- Системный раздел с Windows – 30 Гб
- Recovery (раздел восстаовления0) – 541 Мб
Как вы видите, раздел EFI (может называться System) отсутствует (удален).
Выберите раздел для удаления:
Select partition 1
И удалите его:
Delete partition override
Убедитесь, что остался только Primary раздел с Windows размером 30 Гб (в нашем случае) и раздел восстановления:
List partition
Теперь вы можете вручную создать разделы EFI и MSR для размещения загрузчика Windows. Для этого в контексте утилиты diskpart последовательно выполните команды:
Выберите диск:
select disk 0
Создайте EFI раздел размером 100 Мб, отформатируйте его в файловой системе FAT32 и назначьте ему букву диска:
create partition efi size=100
Убедитесь, что в diskpart выбран раздел 100 Мб с именем System (звездочка напротив строки Partition 1):
list partition
select partition 1
format quick fs=fat32 label=»System»
assign letter=G
Теперь нужно создать MSR раздел размером 16 Мб (для Windows 10 и 11):
create partition msr size=16
list partition
list vol
В моем случае основному разделу с Windows уже назначена буква диска C: (так как основной раздел уже перенесся). Если это не так, назначьте ему букву следующим образом:
select vol 1
assign letter=C
exit
Назначьте букву диска вашему EFI разделу:
Select vol 3
Assign letter=G
Закройте diskpart: exit
При создании EFI или MSR раздела может появится ошибка
В этом случае вам нужно уменьшить раздел основного раздела с Windows на 128 Мб(в нашем примере это volume 1):
select volume 1
shrink desired=128 minimum=128
Восстановление EFI загрузчика и BCD
После того, как вы создали минимальную структуру разделов для GPT диска на компьютере с UEFI, нужно скопировать загрузочные файлы EFI на ваш диск и создать конфигурационный файла загрузчика (BCD).
Теперь с помощью утилиты bcdboot.exe скопируйте файлы среды загрузки UEFI из системного каталога Windows в загрузочный EFI раздел и пересоздайте конфигурацию загрузчика BCD. Выполните команду:
bcdboot c:\windows /s G: /f UEFI
В результате на EFI разделе будет создана структура каталогов. На системном разделе EFI должны обязательно присутствовать следующие файлы:
- \EFI\Microsoft\Boot\bootmgfw.efi
- \EFI\Microsoft\Boot\bootmgr.efi
- \EFI\Microsoft\Boot\memtest.efi
- \EFI\Microsoft\Boot\BCD
- \EFI\Microsoft\Boot\Fonts\wgl4_boot.ttf
- \EFI\Boot\bootx64.efi
Выведите текущую конфигурацию загрузчика Windows Boot Manager.
bcdedit
В разделе {bootmgr} должна появиться запись, которая указывает на раздел с файлом управления загрузкой UEFI ( \EFI\MICROSOFT\BOOT\bootmgfw.efi ). В этом примере это partition=G , или partition=\Device\HarddiskVolume2 (если вы не назначили букву EFI разделу).
Загрузчик UEFI затем должен передать управление файлу загрузчика Windows Boot Loader \Windows\system32\winload.efi на partition=C:
Перезагрузите компьютер (для перезагрузки из среды нужно выполнить команду wpeutil reboot) и извлеките загрузочную флешку.
Если все сделали правильно, то должна загрузиться «Винда» и на этом можно закончить, у меня получилось не с первого раза, но тем не менее получилось ☹, и все благополучно завелось.
Мне уже не потребовалось, но знающие люди еще рекомендуют:
Как самостоятельно скопировать системные файлы EFI и пересоздать BCD.
Скопируйте загрузочные файлы среды EFI из каталога вашего диска, на который установлена ваша Windows:
mkdir G:\EFI\Microsoft\Boot
xcopy /s C:\Windows\Boot\EFI\*.* G:\EFI\Microsoft\Boot
Пересоздайте конфигурацию загрузчика Windows:
g:
cd EFI\Microsoft\Boot
bcdedit /createstore BCD
bcdedit /store BCD /create {bootmgr} /d “Windows Boot Manager”
bcdedit /store BCD /create /d “Windows 10” /application osloader
Команда возвращает GUID созданной записи. Этот GUID нужно подставить в следующей команде вместо {your_guid} .
bcdedit /store BCD /set {bootmgr} default {your_guid}
bcdedit /store BCD /set {bootmgr} path \EFI\Microsoft\Boot\bootmgfw.efi
bcdedit /store BCD /set {bootmgr} displayorder {default}
Дальнейшие команды bcdedit выполняются в контексте {default}:
bcdedit /store BCD /set {default} device partition=c:
bcdedit /store BCD /set {default} osdevice partition=c:
bcdedit /store BCD /set {default} path \Windows\System32\winload.efi
bcdedit /store BCD /set {default} systemroot \Windows
exit
Если с первого раза Windows не загрузился, выполните следующие действия:
- Отключите питание компьютера;
- Отключите (физически) жесткий диск;
- Включите ПК, дождитесь появления окна с ошибкой загрузки Operating System not found. Выключите компьютер;
- Подключите диск обратно.
Если это не помогло, опять загрузитесь с установочной USB флешки и выполните команду:
bootrec /rebuildbcd
Перезагрузите компьютер.
Всем хорошей работы !!!
19.04.2023 —
Опубликовал: |
ms windows 10 desktop
Sorry, the comment form is closed at this time.