isohybrid可能并不总是有效。例如,我有一个带FreeDOS的.iso,isohybrid无法在其中找到一些重要文件(我不知道它们是否应该由syslinux(我也使用过)或其他东西放置在该文件中)。我在这里提出了几种选择。
1)在此安装另一个引导程序,例如GRUB。在这里解释:
“假设您的USB记忆棒的第一个分区是FAT32,而其分区是/ dev / sdy1”(我grub2在Fedora Core上安装过,因此我对命令做了一些更改):
# mkdir -p /mnt/usb ; mount /dev/sdy1 /mnt/usb
# grub2-install --target=i386-pc --recheck --debug --boot-directory=/mnt/usb/boot /dev/sdy
# grub2-mkconfig -o /mnt/usb/boot/grub2/grub.cfg
# optional, backup config files of grub.cfg
# mkdir -p /mnt/usb/etc/default
# cp /etc/default/grub /mnt/usb/etc/default
# cp -a /etc/grub.d /mnt/usb/etc
# sync; umount /mnt/usb
2)FreeDOS Wiki 在此处提供了GRUB和syslinux的复合方法(尽管我不了解它们的启动方式grub>-直到那个阶段我都无法从USB引导)。
3)这是一篇可能有用的文章-它说:“只要,kernel.sys,syslinux.cfg,ldlinux.sys和fat32lba.bss文件位于驱动器的根目录以及MBR和引导中不重写扇区,驱动器应保持可引导状态。
4)在此说明了如何使用syslinux引导程序生成可引导的.iso文件。他们甚至不使用同质杂交。不幸的是,那并没有帮助我(也许是因为syslinux)。
5 *)通过使用Windows程序wine。我尝试过rufus,但是没有用,找不到设备。
我警告您,不幸的是我无法解决此问题,我的设备无法启动,但是我希望这对其他人(以及那些不想在usb上安装Linux的人)有用。chtaube生成的usb图像虽然对我有用,所以我认为这些方法是正确的。
UPD:第三种方法确实有效(对自定义安装文件进行了更正)。
UPD2 :(固定链接)。问题isohybrid可能是因为iso和我的系统上的isolinux.bin版本不同。通过重新编译ISO genisoimage的建议在这里:
genisoimage -l -r -J -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -c isolinux/boot.cat -o fd11new.iso fd11new
有一些问题也是如此,他们通过该方法解决了这里 genisoimage之前:
cp /boot/extlinux/*.c32 fd11new/isolinux/
extlinux --install /boot/isolinux
==结束UPD2 ==