我有一个自定义的 Ubuntu ISO,在 Ubuntu 20 之前使用 genisoimage 生成。不幸的是,Ubuntu 22.04 从其 ISO 中删除了 isolinux,请参见此处:https://github.com/covertsh/ubuntu-preseed-iso-generator/issues/5
我正在转向 xorriso,使用以下命令构建 Ubuntu 22 ISO:
dd if=ubuntu-22.04-desktop-amd64.iso bs=1 count=432 of=/tmp/boot_hybrid.img
dd if=ubuntu-22.04-desktop-amd64.iso bs=512 skip=7129428 count=8496 of=/tmp/efi.img
xorriso -as mkisofs -r \
-V 'Ubuntu 22.04 LTS MODIF (EFIBIOS)' \
-o output/custom_ubuntu22.iso \
--grub2-mbr /tmp/boot_hybrid.img \
-partition_offset 16 \
--mbr-force-bootable \
-append_partition 2 28732ac11ff8d211ba4b00a0c93ec93b /tmp/efi.img \
-appended_part_as_gpt \
-iso_mbr_part_type a2a0d0ebe5b9334487c068b6b72699c7 \
-c 'boot.catalog' \
-b 'boot/grub/i386-pc/eltorito.img' \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
--grub2-boot-info \
-eltorito-alt-boot \
-e '--interval:appended_partition_2:::' \
-no-emul-boot \
./iso
当我尝试在 VirtualBox 中使用 EFI 时,会发生以下情况:
没有 EFI 的引导工作正常。
我正在使用 ddrescue 创建可启动 USB 闪存盘,它不再适用于这个新 ISO。
如何使该 ISO 可在 EFI 上启动?
谢谢!