制作 isolinux 4.0.3 chainload 本身

制作 isolinux 4.0.3 chainload 本身

我有一个可启动 iso,它可以启动到 isolinux 4.0.3,我想让它自己进行链式加载(我的实际目标是链式加载 isolinux.bin v4.0.1-debian,它应该启动 Ubuntu10.10 Live CD,但现在我只想让它自己进行链式加载)。

我无法让 isolinux 链式加载任何 isolinux.bin,无论哪个版本。它要么冻结,要么显示“校验和错误”消息。我正在使用 VMWare 来测试 iso。

我尝试过的事情:

.com32 /boot/isolinux/chain.c32 /boot/isolinux/isolinux-debug.bin (chainload self)

由此可见

Loading the boot file...
Booting...

ISOLINUX 4.03 2010-10-22  Copyright (C) 1994-2010 H. Peter Anvin et al
isolinux: Starting up, DL = 9F
isolinux: Loaded spec packet OK, drive = 9F
isolinux: Main image LBA = 53F00100

...机器冻结了。

然后我尝试了这个

(chainload GRUB4DOS 0.4.5b)
chainloader /boot/isolinux/isolinux-debug.bin

结果:

Error 13: Invalid or unsupported executable format

下次尝试:

(chainload GRUB4DOS 0.4.5b)
chainloader --force /boot/isolinux/isolinux-debug.bin
boot

结果:

ISOLINUX 4.03 2010-10-22  Copyright (C) 1994-2010 H. Peter Anvin et al
isolinux: Starting up, DL = 9F
isolinux: Loaded spec packet OK, drive = 9F
isolinux: No boot info table, assuming single session disk...
isolinux: Spec packet missing LBA information, trying to wing it...
isolinux: Main image LBA = 00000686
isolinux: Image checksum error, sorry...

Boot failed: press a key to retry...

我尝试过其他方法,但都失败了。有什么建议吗?

答案1

您将需要 chain.c32:

LABEL chain_isolinux
COM32 /boot/isolinux/chain.c32
APPEND isolinux=/boot/isolinux/isol401.bin

http://syslinux.zytor.com/wiki/index.php/Comboot/chain.c32

您还需要正确制作 ISO。您需要 -boot-info-table 选项。

mkisofs -o output.iso -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table CD_root

您还可以向 mkisofs 添加其他参数(例如添加对 Rock Ridge 的支持,...)。

相关内容