如果你使用的是 Linux,你可以使用DD公用事业。有一个版本DD也适用于 Microsoft Windows。
DD 的一般用法
如果您希望制作一个 720K 软盘大小的零填充虚拟磁盘映像,您可以使用dd像这样:
dd if=/dev/zero of=disk.img bs=1024 count=720
这将创建一个名为的文件disk.img
即 1024*720 = 737280 字节大小。可以使用以下命令创建 1.44MB 的零填充软盘映像:
dd if=/dev/zero of=disk.img bs=1024 count=1440
从映像开头开始将二进制映像写入虚拟软盘可以如下完成:
dd if=bootload.bin of=disk.img conv=notrunc
这个例子取文件bootload.bin
并将其放置在磁盘映像的开头(称为disk.img
在这种情况下)没有截断(conv=notrunc
)如果你不使用conv=notrunc
它将写入虚拟磁盘映像bootload.bin
并将磁盘映像截断为引导加载程序的大小。
DD还能够通过跳转到磁盘开头以外的点来写入磁盘映像的特定部分。如果您需要将信息(代码/数据)放置在特定扇区中,这非常有用。此示例可用于将引导加载程序的第二阶段放置在磁盘映像的第一个 512 字节扇区之后:
dd if=stage2.bin of=disk.img bs=512 seek=1 conv=notrunc
bs=512
将块大小设置为 512(更容易,因为它是大多数软盘扇区的典型大小)。seek=1
查找图像开头之后的第一个块(512 字节),然后写入文件stage2.bin
。我们需要conv=notrunc
再次因为我们不想DD在以下位置截断磁盘映像stage2.bin
ends.
dd if=stage2.bin of=disk.img bs=512 seek=18 conv=notrunc
此示例与上一个示例类似,但在写入之前跳过了 9216 个字节 (512*18)stage2.bin
如果你有一张连接到 Linux 系统的软盘(和 root 访问权限),你可以用类似的东西编写引导加载程序
dd if=bootload.bin of=/dev/fd0
where /dev/fd0
是软盘的设备。/dev/fd0
通常是软盘 A(如果有)并且/dev/fd1
是软盘 B(如果有)。
Windows 版DD
如果您在 Microsoft Windows 上运行,则有一个版本DD实用程序可用here http://www.chrysocome.net/dd。最新下载的是dd-0.6beta3.zip http://www.chrysocome.net/downloads/dd-0.6beta3.zip并且是最低推荐版本。它具有一些旧产品所没有的功能。只需打开 zip 文件并将其解压到 Windows 路径上的某个位置即可。