题外话:虚拟机之所以以为虚拟机,那它当然是不能直接和宿主机一样控制物理硬件的,特别是对物理磁盘的访问。在虚拟机与宿主机之间进行文件交换,要么把两者视同为两台不同的电脑,通过网络共享来访问,要么就利用两者都可访问的存储设备,比如U盘,来间接的进行文件交换,以下文字要讲的,是通过网络方式。

如果去网上查资料,那么,于windows下的这种情况,一般是通过网上邻居来访问,而在Linux,就会是用Samba,windows下的我没有试过,而Samba,的确是很“三八”,至少我觉得很难搞定。

在windows系统下使用QEMU虚拟机软件的时候,它的Win外壳程序QEMU Manager提供了一个不错的方式——FTP访问,QEMU Manager自带一个小的FTP服务,专门用于这个功能的实现,所以,在Linux下,没有QEMU Manager可以用,就要自己模拟这样的一种方式。

虚拟机和宿主机文件交换方法(以下文字所指定虚拟机为QEMU)

一,宿主机安装FTP服务,可以选用bftpd,这个比较的简单快捷,安装完后,配置文件在/etc/bftpd.conf,配置文件中有一项是当ftp被访问时,定位到“home目录”,所以,如果你在宿主机上的登录用户名为host,则在配置文件的用户配置中加入:

user host {

ANONYMOUS_USER=”yes”

}

当然,用户也可以是访问需要密码的,这个可以自己设定,这样子设定以后,当从虚拟机端ftp登录时,访问目录会是宿主机上你的“home目录”。

二、虚拟机端ftp软件,可以选用lftp,安装一下,不用作什么设定。

三、QEMU提供一个固定的IP作为宿主机和虚拟机之间的通讯之用,10.0.2.2,所以,要进行文件交换时,只要:

lftp 10.0.2.2 -u host

之后用ls命令,可以看到,所例文件为宿主机“home目录”下的文件,之后可以用put或get命令进行文件的交换。