如何使用 grub-mkrescue 制作与 UEFI 兼容的 ISO?

如何使用 grub-mkrescue 制作与 UEFI 兼容的 ISO?

我一直在关注本指南制作定制版本的 Ubuntu。

到目前为止,CD 的结构已经完成。我只需使用以下命令生成可启动的 ISO 映像:

sudo grub-mkrescue -o live_cd.iso /path/to/cd/root

我得到了一个完美工作的 iso 映像在 UEFI mde 下,它在 VirtualBox 中启动良好。

问题是当我将 iso 复制到我的 USB 闪存驱动器时(使用 dd 命令) 在 UEFI 模式下它无法在我的实机上启动。我明白了:

在此处输入图片描述

但是,我可以在传统 BIOS 模式下正常启动闪存驱动器。我也
安装了软件包。grub-efi

谁能告诉我我做错了什么?
谢谢!

答案1

  1. 安装棒

    sudo mount -t vfat /dev/sdX /mnt

  2. 安装另一个 Grub2 到 USB:

    sudo grub-install --no-floppy --force --root-directory=/mnt /dev/sdX

  3. 将 iso 复制到

    cp -v ~/live-cd.iso /mnt

  4. 添加以下内容/mnt/boot/grub/grub.cfg

    set default="0"
    set timeout=10
    
    insmod fat
    set iso_path=/live-cd.iso
    loopback loop (${usb})${iso_path}
    set root=(loop)
    set bootopts="boot=casper iso-scan/filename=${iso_path} noprompt"
    
    menuentry "Boot ISO from HDD/USB" {
    linux (loop)/casper/vmlinuz $bootopts
    initrd (loop)/casper/initrd.img
    }
    

来源:https://help.ubuntu.com/community/MakeALiveCD/DVD/BootableFlashFromHarddiskInstall#Appendix_2._How_to_Make_bootable_USB_flash

它可能会解决你的问题

相关内容