使用 genisoimage 硬盘启动仿真
Posted
技术标签:
【中文标题】使用 genisoimage 硬盘启动仿真【英文标题】:Use genisoimage hard disk boot emulation 【发布时间】:2014-10-16 20:36:33 【问题描述】:有谁知道如何使 ISO 模拟genisoimage
中的硬盘或软盘。请不要告诉我有关 Windows 软件的信息,因为我使用的是 Debian GNU/Linux 7.6
我试过了:
genisoimage -hard-disk-boot -boot-load-size 4 -eltorito-boot boot.bin -o boot.iso iso/
但我得到了错误:
-genisoimage: boot.bin has no partitions.
如何让它工作?
【问题讨论】:
【参考方案1】:显然您的boot.bin
没有分区表。您需要在引导块的末尾放置一个MBR partition table。您可能只需要链接的 Wikipedia 文章所称的“经典通用 MBR”。
如果您还没有,您应该下载并阅读“El Torito” Bootable CD-ROM Format Specification。它是关于分区表的:
当模拟设备是硬盘时,Bios 应使用适合的几何结构 位于 Load LBA 扇区的分区表。硬盘映像可能只有 分区表中有1个分区,必须是第一个条目。
请注意,它还表明硬盘仿真不是您用来引导操作系统的方法。它建议改用软盘模拟。
关于 El Torito 文档的一个警告,它使用没有任何前缀或后缀的十六进制数字(例如“0x200”或“200h”)。因此,当它谈到“200 字节扇区”时,它意味着 512 字节扇区。
【讨论】:
谢谢,但你能给我一个例子,说明如何在 16 位汇编中编写经典的通用 MBR 吗?再次感谢! 你知道如何使用 genisoimage 模拟软盘吗?以上是关于使用 genisoimage 硬盘启动仿真的主要内容,如果未能解决你的问题,请参考以下文章
linux mkisofs(genisoimage)命令用法