我有一个自定义的 RHEL7.8 安装 ISO,当我将其刻录到 DVD 并使用 UEFI 使用该磁盘安装时,它的工作方式与预期完全一致。现在,我正在尝试更新它以支持从 USB 安装。我能够生成 ISO 并将其选为测试系统上的启动设备,但是当我在 grub 菜单中进行选择以触发安装时,我收到错误:
error: file '/images/pxeboot/vmlinuz' not found.
error: you need to load the kernel first.
Press any key to continue...
这个错误是什么意思?如何修复?
我已更新/EFI/BOOT/grub.conf
条目以反映媒体是 USB 而不是 DVD
menuentry 'Option 1' --class fedora --class gnu-linux --class gnu --class os {
linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:LABEL=MY_USB_LABEL quiet inst.ks=hd:LABEL=MY_USB_LABEL:/config/opt1/anaconda-ks-option1.cfg
initrdefi /images/pxeboot/initrd.img
}
以及将更新复制grub.conf
到images/efiboot.img
。
mount images/efiboot.img /tmp/img
cp EFI/BOOT/grub.conf /tmp/img/EFI/BOOT/grub.conf
umount /tmp/img
kickstart 文件也已更新以反映 USB 介质(并且我可以通过 Legacy Boot 成功使用它)
repo --name="USB Media" --baseurl=file:///mnt/install/repo # Added for USB install, not sure if necessary
install
harddrive --partition=LABEL=MY_USB_LABEL --dir=/ # in lieu of cdrom for DVD installation
我正在通过以下方式生成 ISOmkisofs
mkisofs -quiet -o test.iso \
-b isolinux/isolinux.bin \
-J -R -l \
-c isolinux/boot.cat \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-eltorito-alt-boot \
-e images/efiboot.img \
-no-emul-boot \
-graft-points \
-joliet-long \
-V MY_USB_LABEL iso_source/
isohybrid -uefi test.iso
implantisomd5 test.iso
然后将其“刻录”到 USB 设备
dd if=test.iso of=/dev/sda
sync
感谢您的任何想法、意见或其他反馈!