关于光盘镜像BIOS模式不再使用ISOLINUX引导的问题

编译打包和其他
回复
zhangjint5
帖子: 304
注册时间: 2011-01-02 12:31

关于光盘镜像BIOS模式不再使用ISOLINUX引导的问题

#1

帖子 zhangjint5 » 2023-03-23 9:22

之前定制自己的 Ubuntu Live ,最后封装 .iso 镜像的时候,一直是与 Ubuntu 原版盘一样:BIOS 模式用 ISOLINUX 引导,UEFI 模式用 GRUB2 引导。
制作ISO时候用:
genisoimage \
-o output.iso \
-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 \
CD_root
就没问题!

现在新版的 Ubuntu 光盘引导中将 ISOLINUX 引导器剔除了,不管是BIOS或者UEFI统统都使用 GRUB2 引导了。

不光 isolinux/boot.cat 和 isolinux/isolinux.bin 文件没有了,连 boot/grub/efi.img 文件也没有了,很疑惑!

那么 genisoimage 应该如何改变参数呢?
zhangjint5
帖子: 304
注册时间: 2011-01-02 12:31

Re: 关于光盘镜像BIOS模式不再使用ISOLINUX引导的问题

#3

帖子 zhangjint5 » 2023-03-23 11:19

好的我看看!

刚查了下:grub-mkrescue 似乎可以解决问题,他是先 make grub2 的引导文件,然后在调用 xorriso 来制作 iso 的。

我在研究一下!
zhangjint5
帖子: 304
注册时间: 2011-01-02 12:31

Re: 关于光盘镜像BIOS模式不再使用ISOLINUX引导的问题

#4

帖子 zhangjint5 » 2023-03-23 13:47

好吧,研究了一下,很简单!

在iso的BIOS/UEFI双引导都用GRUB2的时候,BIOS引导的是 boot/grub/i386-pc/eltorito.img ,UEFI 引导的 efi.img 实际就是一个 FAT 的 EFI 分区镜像,里面只有一个 /efi/boot/bootx64.efi 而以。

Ubuntu 原版iso上之所以没有独立 efi.img 原因是因为他做的是 hybrid iso 。当dd Ubuntu光盘的iso到磁/U盘后,尾部那个 FAT 分区就是 efi.img。光驱模式引导的时候,直接是通过地址引用的。

知道原理后就方便灵活应用了~! :Haha
回复