У меня есть загрузочный 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 и т. д.).