[Linux / Windows] VirtualBox 共用資料夾與雙向剪貼簿之權限設定


VirtualBox是個相當優秀的免費虛擬機工具,除了可以利用它來安裝各OS外,常常會被使用到的就是「 共用資料夾 」與「 共用剪貼簿 」的功能,透過這二個功能,就可以很容易的在本機電腦與模擬器中的OS進行資料的交換,試想一下,如果在本機複製一段文字,可以隨手的把資料貼到模擬器中的OS,這樣是不是很方便呢,本文將透過簡單的說明教大家如何設定。

本文示範軟體:VirtualBox版本:6.1.22、Windows 10、Ubuntu 18.04 Desktop

1、Guest Additions 必裝

首先,你必需要先安裝「VirtualBox Guest Additions」,不管你是Windows或是Linux平台,這篇文章都有教學,還沒安裝的人要先安裝。

2、Windows VM 共用資料夾、雙向剪貼簿設定

適合在VM中安裝Windows環境的用戶,本文的範例是使用 Windows 10

2-1、共用資料夾

請先到「VirtualBox管理員」選擇自己的要設定的VM (此例是Windows的OS),然後進行「設定」,並選擇「共用資料夾」

VirtualBox管理員

點擊右邊的「」號按鈕來新增共用資料夾,於「資料夾路徑」中選擇本機想要進行共享的資料夾,待選定之後「資料夾名稱」會自動套用該資料夾的名稱,通常保留預設的名字就行,接著勾選「自動掛載」,這樣每次啟動VM的時候就會自動把共用資料夾掛載進來

VirtualBox新增共用資料夾

以上步驟設定好後,重啟VM進入Windows後,就可以看到把資料夾掛載進來囉,如下圖所示:

Windwos VM 共享資料夾範例

2-2、雙向剪貼簿

設定雙向剪貼簿很簡單,在啟動VM後,直接從VirtualBox功能列中的「裝置」 → 「共用剪貼簿」,然後選擇「雙向」即可,當然你也可以依自己的需求選擇「主機到客體」或「客體到主機」,設定好之後就可直接使用,建議大家可以用複製貼上的功能直接做一下簡單的測試。

Windows VM 雙向剪貼簿

3、Linux VM 共用資料夾、雙向剪貼簿設定

適合在VM中安裝Linux環境的用戶,本文的範例是使用 Ubuntu 18.04 桌面版

3-1、共用資料夾

新增共用資料夾的方法和Windows VM一樣,忘記的人可以參考上方的說明,這邊要特別說明的是「掛載點」一項,在新版的VirtualBox中,透過這個選項可以自行指定要掛載後的路徑,例如下圖中我就指定了掛載位置「/home/demo/test」

Linux VM 共用資料夾設定

如果你沒有設定掛載點的話,那麼預設為把共用資料夾掛載到「media」的目錄下,而目錄名稱會多了一個「sf_」的前綴字串,例如:你在本機選用的共用目錄名稱是「Share」,則掛載到Linux上的位置會變成「/media/sf_Share」,示意圖如下:

Linux VM 預設共用資料夾名稱

Linux共用資料夾的掛載比較麻煩點,因為會遇到存取權限的問題,也就是當你在Linux看到資料夾後,要進入時需要授予權限才行,大家可執行以下二個指令來進行授權:

指令一:請將下列指令中黃色的「demo」換成自己的帳號

sudo usermod -a -G vboxsf demo

指令二:請將下列指令中黃色的「demo」換成自己的帳號,並把草莓紅的「/media/demo/test」目錄換成你共用資料夾的路徑

sudo chown -R demo:users /media/demo/test

設定成功後,建議重啟VM,就可看到共用資料夾「test」自動被掛載進來囉,而且可以順利存取

Linux VM 自動載入共用資料夾

設定失敗的小插曲

在我自己測試的過程中,其實載入共用資料夾、授予存取權限都沒有什麼太大的問題,最卻遇到一個Google都找不到的奇怪問題:就是雖然我在Linux VM中看的到共用資料夾,但把資料放入時,卻無法在另一端呈現,例如:檔案放到主機的共用資料夾,但Linux VM的共用資料夾卻看不到放入的檔案,反之亦然,這的確很頭到,我在Google上查了老半天也查不到是什麼原因,後來才發現是因為「Guest Additions」沒有安裝完全,如果大家也有這個問題,請參考「Virtualbox Guest Additions 安裝教學」的「補充資料」說明

3-2、雙向剪貼簿

Linux VM共用剪貼簿的方式與Windows的設定方法相同,請參考上方Windows VM的設定步驟

延伸閱讀:
Virtualbox Guest Additions 安裝教學 [Linux / Windows]
[Mac] 如何解決 VirtualBox Kernel driver not install (rc=-1908) 的錯誤
How to enable a Virtualbox shared folder for Linux guest systems
VirtualBox cannot access shared folder items (permission denied)