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的话 ^_^)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)