我按照 Ubuntu LiveCDCustomisation Wiki 上的步骤制作了操作系统,但是,当我启动它时,根据测试人员的说法,它无法启动,除非在 Windows 上使用通用 USB 安装程序,而且不只是我,我的制作 Trenta OS 的朋友在使用此 wiki 时也遇到了同样的问题,别误会我的意思,其他一切都正常,但那个问题……
...它让我如此疯狂,我就是找不到办法来解决它,这真是令人痛苦。
答案1
最后,这是我最近为使 ISO 正常工作所做的事情,而且它还为 ISO 提供了 UEFI 支持:
cd "$LIVECDTMP"
cd ./extract-cd
sudo dd if=$UBUNTUBASEISOLOCATION bs=512 count=1 of=./isolinux/isohdpfx.bin
sudo xorriso -as mkisofs -isohybrid-mbr isolinux/isohdpfx.bin \
-V "$CDLABEL" -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 "$PRODUCTISOTARGETLOCATION" .
DD 可以从用于基础的原始 Ubuntu ISO 文件中获取可用的 isohdpfx.bin,以便它可以用于 ISO 的 MBR 映像部分,然后使用 Xorriso 代替 mkisofs,因为它还可以向 ISO 添加 EFI 启动支持。
对我个人而言,这是现在有效的方法,因此为了帮助其他人,我不妨把我找到的答案放在最后,这样问题就得到了“回答”,不再等待答案......
顺便说一句,将 UBUNTUBASEISOLOCATION 指定为 Ubuntu ISO 文件的完整路径,将 CDLABEL 指定为 ISO 在闪存或刻录到驱动器时应标记的字符串名称,并将 PRODUCTISOTARGETLOCATION 指定为创建的 ISO 应位于的完整路径位置,以便正常工作。此外,在尝试此操作之前,请确保您的基本 Ubuntu ISO 包含所有这些文件。据我所知,x32 Ubuntu ISO 可能缺少其中一些文件,因此请务必先确保它们都存在于基本 ISO 中……