У меня есть проблема при начальной загрузке моей ОС через загрузчик Grub2.
Среда:
Я имею Инфраструктуру PXE-начальной-загрузки и хочу протестировать PXE-начальную-загрузку Grub2.efi через Сеть (TFTP).
Загрузка efi-файла к клиентским работам и личинке загружается на машине - я вижу подсказку личинки grub>
- Я использую Версию 2.00 Личинки.
Я создал файл конфигурации (grub.cfg
) и помещенный это в тот же Каталог TFTP как grub.efi
файл.
Я вижу от журналов TFTP, что GRUB загружается - и очевидно загрузился на клиенте - и впоследствии grub.cfg
будьте загружены личинкой.
Мой grub.cfg
взгляды следующим образом:
set root=(hd0,gpt1)
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
boot
Minimalistically я просто хочу загрузить Windows с GRUB. Не спрашивайте почему; это заняло бы слишком много времени описывать …
Я ожидал бы, что GRUB найдет загруженный grub.cfg
файл и Windows загрузки.
Что происходит: Я просто брошен в grub>
подсказка.
Когда я загружаюсь grub.cfg
от личинки запрашивают через
configfile /grub.cfg
ОС загружается отлично, так, чтобы, казалось, был в порядке до сих пор.
Таким образом, моя проблема, как я могу заставить GRUB автоматически загружать файл конфигурации и загружать Windows?
Grub ищет файл конфигурации /grub/grub.cfg
или /grub/x86_64-efi/grub.cfg
(или похожий).
Примечание: это путь от корня сервера TFTP. Это означает, что даже если вы запускаете бинарный файл Grub из пути, например $tftproot/path/to/grubnetx64.efi
, не пытайтесь поместить каталог grub/
в тот же каталог. , но на самом деле к вашему корню TFTP: $tftproot/grub/
В консоли Grub:
grub> cat (memdisk)/grub.cfg
if [ -e $prefix/x86_64-efi/grub.cfg ]; then
source Sprefix/x86_64-efi/grub.cfg
else
source Sprefix/grub.cfg
fi
И важная часть, что такое префикс $
:
grub> echo $prefix
(tftp,x.x.x.x)/grub