如何创建 uefi 可启动 iso?

如何创建 uefi 可启动 iso?

我正在尝试定制 ubuntu-14.04.2-server-amd64.iso,但无法使其可 uefi 启动。

首先我尝试使用原始 iso 文件:

dd if=/path/to/iso/ubuntu-14.04.2-server-amd64.iso of=/dev/sdc bs=16M

目前一切都很好 - 我可以在 UEFI 中启动闪存。

我已将 iso 内容提取到 /path/to/tmp 文件夹,然后我尝试重新创建 iso(现在未修改),但新的 iso 不适用于 uefi。

我正在用以下命令重新创建 iso:

mkisofs -r -V "Custom Ubuntu Install CD" -cache-inodes \
        -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat \
        -no-emul-boot -boot-load-size 4 -boot-info-table \
        -eltorito-alt-boot -e boot/grub/efi.img -no-emul-boot \
        -o /path/to/tmp.iso /path/to/tmp

然后我使用相同的 dd 命令将新 iso 放在 usb 上。使其可 uefi 启动的正确命令是什么?

答案1

你可以使用索里索。我不记得为什么,但我认为这在 mkisofs 中是不可能的。

尝试:

xorriso -as mkisofs \
  -isohybrid-mbr /usr/lib/syslinux/mbr/isohdpfx.bin \
  -c isolinux/boot.cat \
  -b isolinux/isolinux.bin \
  -no-emul-boot \
  -boot-load-size 4 \
  -boot-info-table \
  -eltorito-alt-boot \
  -e boot/grub/efi.img \
  -no-emul-boot \
  -isohybrid-gpt-basdat \
  -o /path/to/tmp.iso \
  /path/to/tmp

这将产生混合 MBR/EFI iso

http://www.syslinux.org/wiki/index.php/Isohybrid

答案2

您可以使用以下内容创建一个小型(2.8 MB 软盘)UEFI 磁盘:

mkfs.msdos -C /tmp/uefi.iso 2880
sudo mount /tmp/uefi.iso /mnt
sudo cp /tmp/your_uefi_files/* /mnt/
sudo umount /mnt

然后重新启动系统,按 ESC 或 F10 或 F11 并选择 UEFI shell。要切换到 UEFI 文件系统类型:

fs0:

相关内容