Запись записи UEFI для Windows 7 в NVRAM
В настоящее время я работаю над сценарием для изображения нескольких лабораторных машин, за которые я отвечаю с Windows 7, к сожалению, это машины UEFI Dell, которые работают глупо. На машине, с которой я создал образ, в утилите установки Dell была запись UEFI в меню загрузки для Windows, которая загружала файл /boot/Microsoft/bootx64.efi или какой-либо подобный эквивалент, когда я образую машины, все идет хорошо, кроме когда я загружаю их, я получаю старую добрую ошибку "Нет загрузочного устройства найдено", и когда я захожу в утилиту настройки Dell, там нет записей Windows. Я могу вручную добавить запись, которая указывает на этот раздел UEFI и загрузочный файл, который затем будет загружаться нормально и странно при загрузке, добавить еще одну запись в NVRAM, которая указывает на тот же файл под типичным именем "Диспетчер загрузки Windows" или что-то в этом роде. Я пытался найти способ добавить эту запись NVRAM без необходимости вручную входить в настройку Dell, поскольку я создаю образ большого количества машин, и это только усложнит процесс. Первоначально я попытался просто загрузить по загрузке загрузчик grub после завершения создания образа, чтобы обнаружить установку Windows и загрузить ее, что теоретически добавит запись в сам NVRAM и не даст мне иметь две записи или самому взаимодействовать с машиной. Я также не смог найти никакой информации о прямом добавлении записи в NVRAM на стороне Linux, которая бы делала то же самое, что я делаю с помощью утилиты установки Dell. У кого-нибудь есть опыт работы с этим?
Спасибо
1 ответ
Работа менеджера загрузки определена в спецификации UEFI, глава 3.
Если вы можете написать приложение UEFI, загрузиться в оболочку UEFI и запустить свое приложение, вы можете использовать службу времени выполнения для установки переменной для создания BootOption и добавления номера этого BootOption в BootOrder. Это то, что делает загрузчик MS, когда обнаруживает, что BootOption не определен для Windows, и именно так появляется новая запись в списке после загрузки Windows.
Не знаю, какой у вас порядок загрузки по умолчанию для вашей платформы, но может быть возможность загрузки с USB-ключа с оболочкой UEFI по умолчанию, так как это стандартная конфигурация по умолчанию из-за производственных требований.
Проверьте проекты на tianocore на sourceforge, чтобы получить лучшее представление о том, что будет вовлечено в выполнение того, что вы хотели сделать.