我曾经尝试过 Linux 定制,当我想要构建 .ISO 时出现了这个错误:
$ mkisofs -r -o rhel.iso -b isolinux/isolinux.bin -c isolinux/boot.cat ./
INFO: UTF-8 character encoding detected by locale settings.
Assuming UTF-8 encoded filenames on source filesystem,
use -input-charset to override.
Unknown file type (unallocated) ./.. - ignoring and continuing.
Using RELEA000.HTM;1 for /RELEASE-NOTES-pt_BR.html (RELEASE-NOTES-U1-pt_BR.html)
Size of boot image is 20 sectors -> mkisofs: Error - boot image './isolinux/isolinux.bin' has not an allowable size.
我没有改变isolinux.bin
...为什么我会收到上述错误信息?
答案1
您应该将这些参数添加到命令中:
-no-emul-boot -boot-load-size 4 -boot-info-table
参数为:
no-emul-boot
:指定用于创建“El Torito”可启动 CD 的启动映像是“无模拟”映像。系统将加载并执行此映像而不执行任何磁盘模拟boot-load-size
:指定在非模拟模式下要加载的“虚拟”(512 字节)扇区数。默认为加载整个引导文件。如果该值不是 4 的倍数,某些 BIOS 可能会出现问题。boot-info-table
:指定将在引导文件的偏移量 8 处修补一个包含 CD-ROM 布局信息的 56 字节表。如果给出此选项,则引导文件将在源文件系统中被修改,因此如果此文件无法轻松重新生成,请确保制作一份副本!有关此表的说明,请参阅 EL TORITO BOOT INFO TABLE 部分。
有关详细信息,请参阅For more information, seeman mkisofs
。