在另一篇發文“VirtualBox 「虛擬機」的最佳化設定組態”中有提到建議值,但是,這只是以測試作業系統的基本要求而定,對於其它使用的需求,會因不同的應用而有極大的差異。原本設定的『虛擬硬碟』(或 VDI 檔)的大小也可能不夠用,再加一個『虛擬硬碟』是很直覺的想法。
如果,這個『虛擬硬碟』是存放這個系統專用的資料,倒也無妨。但若是存放的是使用者的資料,且也會分享給「主機」或其它「虛擬機」使用時,增加另一個『虛擬硬碟』就不一定是最好的方法了。
筆者對於這種有共用資料的需求時,多使用 VirtualBox 的「共用資料夾」這個功能,讓「虛擬機」直接使用「主機」的硬碟空間,反正本來就是用主機的硬碟。當「主機」或其它「虛擬機」也要使用這些資料時,可以『直接』或『透過「共用資料夾」』取用。
一、安裝 Guest Additions
先登入「虛擬機」系統(一般使用者即可),從「虛擬機」在「主機」的『VirtualBox 圖形化使用者介面』之《功能選單》→《裝置》,點選《插入 Guest Additions CD 映像檔》若有跳出一個安裝視窗,就依視窗內容的指示操作。
若沒有跳出安裝視窗(註一),之前已經發過許多次文,都在解決安裝 Guest Additions 的問題,依時間先後列出幾個連結,不在此贅述:
- 解決「VirtualBox 虛擬機的 Fedora 不能自動啟動 Guest Additions 安裝」
- VBox 裏 Fedora 安裝 Guest Additions 的準備工作
- VirtualBox 的「Guest Additions 成功升級」必勝秘技
- 解決「Fedora 18 不能安裝 Guest Additions 4.1.24」
- 解決「VBox 虛擬機的 Linux 之核心升級 3.11 後不能用『共用資料夾』」問題
- 在以 headless 模式啟動之 VirtualBox VM 安裝 Guest Additions
- 解決「VirtualBox 虛擬機的 Fedora 不能自動啟動 Guest Additions 安裝」(二)
- 解決「VirtualBox 虛擬機的 Fedora 不能自動啟動 Guest Additions 安裝」(三)
註二:上述連結的第二、八兩篇發文應先參考,尚不能解決問題再看其它發文。
二、將使用者加入群組(Linux 系統)
Linux 系統以群組設定使用者對目錄、檔案的權限,需先將「虛擬機」中的使用者加入『vboxsf』這個群組,這些使用者才可以使用「共用資料夾」。以文字命令方式加入群組
以文字命令方式加入群組的方法最為簡單,先開啟「虛擬機」系統的終端機,並切換為 root 權限,再下命令[root@VBox-VM ~]# usermod -a -G vboxsf SiB上例中的 SiB 是新加入「共享資料夾」使用群組的使用者,其它部份照著輸入即可。
註:使用者要先登出帳號再登入,剛才加入群組的設定才會生效。
用「圖型化介面」的管理程式加入群組
用「圖型化介面」的管理程式過程較複雜些,從「虛擬機」的《程式選單》→《系統》→《管理》,點選《使用者與群組》,經過 root 權限認證。接著,可從兩個地方設定:- 一次設定一個使用者:點選『使用者』並修改其屬性,再在『使用者屬性』的設定視窗,在『群組』項目下,勾選『☐ vboxsf』成為『☑ vboxsf』,按【確定】鍵後即完成設定。
- 同時設定多個使用者:點選『vboxsf』群組並修改其屬性,再在『群組屬性』的設定視窗,在『群組使用者』項目下,勾選欲加入群組的使用者(例『☐ SiB』改為『☑ SiB』,按【確定】鍵後即完成設定。
三、新增「共用資料夾」
使用「共用資料夾」之前,需先將「主機」的目錄設定為「虛擬機」與「主機」的「共用資料夾」。由「主機」的『VirtualBox 圖形化使用者介面』之《功能選單》→《裝置》,點選《共用資料夾設定…》。在跳出的視窗右方,點擊有『✚』號的資料夾以增加一個「共用資料夾」,另兩個分別為:修改所選的「共用資料夾」及刪除所選的「共用資料夾」。
「共用資料夾」屬性中有兩個欄位:『資料夾路徑』、『資料夾名稱』。在『資料夾路徑』填入欲分享給「虛擬機」的目錄,在『資料夾名稱』填入給「虛擬機」系統辨認的名稱。
下方有三個選項,分別說明如下:
唯 讀 | 「虛擬機」只能讀取「共用資料夾」,而不能寫入。 |
自動掛載 | 每次「虛擬機」開啟後,自動設定「共用資料夾」,供「虛擬機」使用。 |
設為永久 | 若未勾號,下次「虛擬機」開啟後,設定將消失。通常用於臨時性的設定,避免忘記取消它。 註:「虛擬機」未啟動時無此項,預設為『永久性』設定。 |
四、使用「共用資料夾」
即使在步驟三設定為『永久性』的「共用資料夾」,「虛擬機」的系統仍不能方便地使用它。必須在「虛擬機」的系統再做些步驟,才好讓「虛擬機」系統的使用者能夠便利使用「共用資料夾」。以 Fedora 為例,設定的「共用資料夾」位於『/media/sf_xxxx」,其中的『xxxx』就是在步驟三設定「共用資料夾」時,所設定的『資料夾名稱』。
將「共用資料夾」用鏈結命令,鏈結至使用者 SiB 家目錄下的命令為
[SiB@VBox-VM ~]$ ln -s /media/sf_VBShare VB-Share其中,『/media/sf_VBShare』之『VBShare』是「共用資料夾」名稱,『VB-Share』是使用者的鏈結的目錄名稱。
在 Windows 系統,則從「網路上的芳鄰」的「VirtualBox Shared Folders」下,就可找到設定的「共用資料夾」。
已測試版本:
- Fedora: 14, 19, 20
Host = Fedora , Guest = Fedora
回覆刪除開機自動掛載修改 /etc/fstab 增加
name_of_share /path/to/guest-mountpoint vboxsf rw,uid=1000,gid=1000 0 0
用mount -a測試
增加/etc/modules-load.d/virtualbox.conf
加入
vboxguest
vboxsf
存檔
重新啟動
謝謝指教!
刪除1. 目前的版本,沒有 vboxguest 這個群組名。
2. 使用者的 GID,UID 若非 1000 時,設定參數的修改,對「新使用者」恐有困難。
3. 本文是想儘量減少「命令列」的操作,使「新使用者」方便設定。