使用 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 硬盘启动仿真的主要内容,如果未能解决你的问题,请参考以下文章

genisoimage命令用法

linux mkisofs(genisoimage)命令用法

iso-----genisoimage/md5sum命令用法

Vala 和 Genie 的生产准备好了吗? [关闭]

Linux基础命令---mkisofs

Linux基础命令---mkisofs