如何在linux下制作一张可启动的虚拟软盘镜像

如何在linux下制作一张可启动的虚拟软盘镜像,第1张

LINUX 下制作软盘镜像制作流程

1.先生成一个空白软盘镜像:

dd if=/dev/zero of=data.img bs=512 count=2880

2.使用losetup命令,把data.img作为loop device使用:

sudo losetup /dev/loop0 data.img

3.格式化这个loop device

sudo mkfs.msdos /dev/loop0//如果没有mkfs.msdos 命令,请检查系统是否安装了dosfstools包

4.检查文件系统:

sudo fsck.msdos /dev/loop0

5.删除 loop device:

sudo losetup -d /dev/loop0

6.这时候,data.img已经格式化完成,以可读写选项挂载空白软盘镜像

sudo mount -o loop,rw data.img /mnt/floop

7.往软盘所挂载的节点上写入文件,容量不超过 1.44M 就好了!

sudo cp file.c /mnt/floppy

8.卸载软盘

sudo umount /mnt/floop

9.但是这样还不可以引导,需要写一个简单的引导程序, 编译后生成 boot , 大小不能超过512Byte,然后

dd bs=512 if=boot of=/dev/loop/0 count=1

把这个引导程序写入软盘镜像的0扇区。

建立软盘镜像:

前面在 Writing x86 PC Bootloader With Free Software 一文中提到了如何制作启动软盘镜像,但是这个软盘镜像仅仅能用来启动电脑,而不能用来存储数据。因为它没有被格式化,所以不能挂载,因此最主要的任务是要将它格式化。

首先,生成空白软盘镜像:

dd if=/dev/zero of=data.img bs=512 count=2880

使用 losetup 命令,将 data.img 作为 loop device 使用:

sudo losetup /dev/loop0 data.img

然后,格式化这个 loop device:

sudo mkfs.msdos /dev/loop0

检查文件系统:

sudo fsck.msdos /dev/loop0

删除 loop device:

sudo losetup -d /dev/loop0

这时候,data.img 已经格式化完成,可以作为一个软盘镜像使用,比如用 sudo mount -o loop data.img mountdir/ 挂载到 mountdir 上。设置一定的权限之后,使用虚拟机打开这个软盘镜像,就可以把这个镜像当作共享目录来使用,虽然很可怜的是这个文件只有 1.44 M 大小,但在某些时候已经能满足需要了。

建立光盘镜像很简单,使用下面命令即可:

genisoimage -o data.iso /data/yourdir/*

这就能直接将 /data/yourdir/ 下的所有文件建立成一个光盘镜像。但是使用光盘镜像唯一一个不足就是,它是只读的,所以文件的共享只能从一个方向进行(如果虚拟机上的系统不支持烧录CD的话 ^_^)。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8347624.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存