从二进制文件在 Linux 上创建可启动的虚拟软盘映像

从二进制文件在 Linux 上创建可启动的虚拟软盘映像

我正在尝试为非常老版本的 Debian 创建可启动软盘映像 (.img)。我希望在虚拟盒上运行它。我已成功创建 .img 并将其作为循环安装在 /media/floppy 上。debian 由 3 个文件组成:bootdisk、basedk1 和 basedk2。bootdisk 文件类型为;二进制 (application/octet-stream)。我曾尝试使用 dd,但始终无法打开 /media/floppy。

debian 说明如下;

“可以在目录“base”中找到启动盘和 basedisk 映像。basedisks 的安装是必需的。只需下载三个磁盘映像,使用 gunzip 解压缩它们,然后使用 dd 或 rawrite 将映像写入软盘。使用启动盘启动系统,然后按照说明安装基本系统。

可以在 dpkg 实用程序目录中找到 Debian Linux 软件包packages'. Installation of these packages is completely optional. Install only the packages that you need or want with the;可以在顶级“doc”目录中找到 dpkg 手册页的可打印 ASCII 和 PostScript 副本。”

如果这些都没有任何意义,我深表歉意。我自己也搞糊涂了。如果需要更多信息,请直接询问。

答案1

首先:dd不关心目录。它不是存档工具,不会从映像中提取任何文件。它本质上是一个美化过的cat程序,它只接受一个文件作为输入,一个文件作为输出。

“文件”可以是类似文件的 /dev 节点,通常对应于磁盘。例如,如果您想要将映像写入物理软盘驱动器,则可以使用dd if=bootdisk.img of=/dev/fd0(与 没什么不同cat bootdisk.img > /dev/fd0)。

注意这是完成的没有将设备安装在任何地方。映像包含设备的全部内容 – 引导扇区、分区表、文件系统等。


但是现在,dd 完全没有必要。

根据 Debian 说明,源映像无需创建 - 它们已经可供下载。并且根据您的帖子,目标不是物理磁盘 - 它是 VirtualBox 的映像文件。

因此,只需直接在 VirtualBox 中使用下载的映像即可。无需执行任何其他操作(除了解压)。

losetup(当然,创建一个空白图像、用 连接一个循环设备,然后使用并没有什么坏处dd if=bootdisk of=/dev/loop0。但那是完全没用的——最后,你只是从文件 A 复制到文件 B。)

相关内容