虛擬機之所以以為虛擬機,那它當然是不能直接和宿主機一樣控制物理硬件的,特別是對物理磁盤的訪問。在虛擬機與宿主機之間進行文件交換,要麼把兩者視同為兩台不同的電腦,通過網絡共享來訪問,要麼就利用兩者都可訪問的存儲設備,比如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命令進行文件的交換。