Linux下制作软盘和光盘镜像(转)

当在 Linux 下和 虚拟机 共享文件时,我发现一个问题,并不是所有的虚拟机都支持(或很好的支持)在主机和虚拟机操作系统之间共享文件,这样在需要文件共享时候就会遇到很多问题。 不过因为几乎所有操作系统都支持读写软盘和光盘,就可以使用一种比较迂回的办法解决这个问题:建立软盘或者光盘镜像文件,虚拟机使用读写软/光驱的方式打 开它,Linux 主机直接挂载它,这样就可以将这个文件作为共享目录使用。不过当虚拟机的操作系统足够强大的时候,完全可以使用虚拟网络传输。

 

这样就涉及到如何建立一个数据软/光盘镜像。我们平常所挂载的光盘镜像,基本是用于只读的目的,而且是别人建立好的。如何使用 Linux 命令来建立一个数据软/光盘镜像呢?

 

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

 

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

 

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

 

建立软盘镜像:

 

前面在 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 大小,但在某些时候已经能满足需要了。

(转自http://blog.solrex.cn/articles/how-to-make-a-data-floppy-or-cd-image-on-linux.html)

你可能感兴趣的:(Linux下制作软盘和光盘镜像(转))