Отладка проблем с загрузкой PXE с помощью GRUB


1

Я хочу загрузить текущий компакт-диск Antergos через . Для этого я скачал ISO, установил его и скопировал содержимое в /tftp/antergos/.

Затем я настроил для предложения и использовал

grub-mkstandalone -d /usr/lib/grub/x86_64-efi/ -O x86_64-efi \
                  --fonts="unicode" -o bootx64.efi grub/grub.cfg

создать загрузчик EFI /tftp/antergos/arch/boot/из следующих grub.cfg:

set timeout=5

menuentry 'Antergos x86_64' {
     insmod net
     insmod tftp
     insmod efi_gop
     set net_default_server=192.168.0.1
     net_add_addr eno0 efinet0 192.168.0.150

        linux   (tftp)/antergos/arch/boot/vmlinuz archisobasedir=arch archisolabel=ANTERGOS modules-load=loop rd.modules-load=loop udev.log-priority=crit rd.udev.log-priority=crit quiet splash
        initrd  (tftp)/antergos/arch/boot/archiso.img
}

настроен для доставки bootx64.efi:

enable-tftp
tftp-root=/tftp
dhcp-option=option:Bootfile-name,"/antergos/arch/boot/bootx64.efi"
dhcp-boot=/antergos/arch/boot/bootx64.efi
dhcp-option-force=210,/antergos/
dhcp-option-force=66,192.168.0.1
dhcp-option=3,192.168.0.101

Однако, когда я выбираю (IPv4) на моем компьютере, он получает bootx64.efiи затем идет прямо к оболочке . В оболочке я могу cat (memdisk)/grub/grub.cfgи получить содержимое выше, grub.cfgпоэтому я предполагаю, что оболочка исходит bootx64.efiиз моей локальной установки.

Как мне диагностировать, что здесь происходит не так?

Ответы:


2

Проблема была в том, что grub выглядит по умолчанию для grub.cfgin (memdisk)/boot/grub. Мемдиск, созданный командой в вопросе ( grub-mkstandalone [...] -o bootx64.efi grub/grub.cfg), выглядел так:

- boot
- grub
 - grub.cfg

Так что жратва не нашла бы grub.cfgи ничего не делала.

Решением было позвонить grub-mkstandaloneизвне bootпапки и передать его как часть grub.cfgпути следующим образом:

grub-mkstandalone -d /usr/lib/grub/x86_64-efi/   -O x86_64-efi  --fonts="unicode"  \
                  -o boot/bootx64.efi boot/grub/grub.cfg

который генерирует следующее (memdisk)содержимое:

- boot
 - grub
  - grub.cfg
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.