Win10上安裝VirtualBox和Ubuntu的三兩事
在這篇文章中,主要講述兩個小設定
1. 如何讓虛擬機的解析度完全符合螢幕的解析度
2. 如何讓Guest OS (Ubuntu)和Host OS (Windows)共用資料夾
雖然都是些小設定,但是有時候突然很久沒有灌新的虛擬機,突然需要灌一台後,遇到這些惱人的小問題要重新Google解決方案有點麻煩,所以來寫個教學當作自己的備忘錄。
在以下內容中,有幾項資訊寫在這裡,後面不多贅述:
1. 筆者是在Windows 10系統上安裝VirtualBox,並新增虛擬機安裝Ubuntu 18.04,所以文中的Host OS為Windows10,而Guest OS為Ubuntu。
2. 筆者所用的VirtualBox版本為6.1.4。
調整解析度
安裝完成並進入Ubuntu桌面後,會發現桌面的解析度非常的小,只有800x600 (筆者使用的22吋螢幕解析度為常見的1920x1080),這時候的第一個想法就是進入Ubuntu設定調整解析度,卻發現沒有1920x1080的選項。
隨便選擇幾個解析度,不是沒辦法達到全螢幕,就是解析度太高導致上下左右超出螢幕邊界,必須每次都用滑鼠去滾動卷軸,很不方便。
想要讓Guest OS介面完全占滿整個螢幕範圍,就必須透過安裝VirtualBox內建的Guest Additions才行。
首先點選視窗左上方的"視窗>插入Guest Additions CD映像"。
接著系統會掛載該映像檔案,並且跳出視窗詢問是否要安裝這個光碟內的東西,當然選"Run”。
接著內建的Terminal會被打開並開始執行安裝指令,但是安裝結果看起來不太對勁。看看倒數第四行:
Please install the gcc make perl packages from your distribution.
原來這個Guest Additions在做的事情就是編譯某些kernel modules並且幫你放進去作業系統裡,但是編譯過程中需要gcc、make、perl,但在你的系統上找不到,因此其實安裝是失敗的。不信的話,你看看”檢視>自動調整客體顯示大小”,會發現仍然是灰底不能點選的。
因此我們必須安裝所需的工具。打開內建的Terminal (可以點選左下角的九個點的圖示,就會列出所有目前有安裝的應用程式),接著在畫面中輸入
sudo apt-get update && sudo apt-get install gcc make perl
按下enter後,會跑出一堆東西,並且會停住問你是不是要安裝上面列出的東西,輸入Y之後按enter,就會開始安裝,請稍後片刻。
安裝完成後,我們要重新再安裝一次Guest Additions CD,為此我們要先把CD退出再重新插入。點選上方"裝置 > 光碟機 > 從虛擬磁碟機中卸除磁碟"把光碟片退出。
接著再按照上面的步驟重新安裝一次Guest Additions,會看到這次成功安裝完成,並且如果在安裝之前有更改過解析度設定的話,會在過程中自動被還原回原始的預設解析度 (800x600)。安裝完成後,會在Terminal上告訴你按下”Return”來關閉該Terminal視窗,就大膽地按下鍵盤上的Enter吧!
最後把Ubuntu OS關機,然後重新開機,之後就是見證奇蹟的時刻了! 點選"檢視>自動調整客體顯示大小",原本這個選項在還沒有安裝成功Guest Additions之前是不能點選的。
按下去之後,你會發現,太神奇啦傑克!整個Ubuntu的視窗完美符合螢幕的大小了呢!而且如果進入系統設定的解析度看,會發現系統自動幫你選擇了一個之前沒有的解析度1920x975 (解析度跟每個人的螢幕規格有關,不一定相同)。
終於!可以舒服自在的享受虛擬機的畫面了(灑花)。不過通常我還會再做一個動作,就是把虛擬機關機,接著去VirtualBox管理員裡,幫這個虛擬機設定他的"顯示>視訊記憶體"調到128MB。(算是個人習慣或迷信吧哈哈)
P.S. 如果有時候畫面大小又跑掉,只要再進入全螢幕模式然後退出,就可以恢復正常囉~
Host OS與Guest OS共用資料夾
有時候會有把檔案從Guest OS傳到Host OS或是反向的需求,當然可以透過雲端硬碟 (如:Google drive、Dropbox)的方式來完成檔案傳輸的需求,但是這樣真的很麻煩啊!因此接下來就是要來教如何設定一個共用資料夾,該資料夾內的檔案在兩個OS中都可以取用。
注意:要啟用以下功能,必須先在虛擬機中安裝Guest Additions,安裝方法請看上方。
首先筆者先在Host OS中建立一個共用資料夾,取名為vb_share。資料夾路徑隨你喜歡,我是放在”C:\Users\<User_name>\vb_share”。
接著進到虛擬機內,點選上方"機器>設定>共用資料夾>",接著選擇右邊的+號新增路徑。
資料夾路徑把下拉式選單打開後選擇"其他",選擇Host OS上剛剛建立的共用資料夾vb_share,此時資料夾名稱也會自動被系統代入。
然後將"自動掛載"以及"設為永久"勾選起來,這樣每次虛擬機開機就會自動幫我們把這個共用資料夾掛載設定好,就不用手動設定囉。
最後是"掛載點",這個意思是你希望這個共用資料夾被放到(掛載) 在Guest OS上的哪一個路徑,也就是這個路徑的資料夾就會變成是共用資料夾。如果不填寫,系統會幫你把共用資料夾放在Guest OS的”/media”底下,並建立一個”vb_sf_share”的資料夾。
但筆者習慣把共用資料夾放在家目錄底下,因此便自行填上”/home/<user_name”/windows_share”,如此一來,在Guest OS的家目錄底下,就會跑出一個名稱是”windows_share”的資料夾,可以跟Host OS共用。
有幾個重點要特別注意:
1. 一定要安裝過Guest Additions才能設定共用資料夾。
2. 掛載點要輸入絕對路徑,所以家目錄不能用”~”來代替。
3. 掛載點的資料夾不用自己先創造。以筆者的例子來說,”windows_share”這個資料夾原先是不存在的,設定完共用資料夾後就會自動被掛載出現。
4. 如果掛載點沒有留空,也就是不讓系統自動掛載在”/media”底下並自動給予資料夾名稱"vb_sf_share”的話,請記得一定要提供掛載資料夾的名稱 (以筆者的例子來說,指定共用資料夾的名稱為”windows_share”)。
掛載好後,一定會發現一個問題:啊我怎麼進不去這個資料夾?系統說我權限不夠耶?電腦是不是壞了?
請大家不要急著用力拍打你的電腦,那就可能真的壞了XD
因為掛載資料夾被設定為user為root,group為vboxsf。雖然可以每次存取的時候用sudo存取,但是懶惰的攻城獅是不會做這種事的。最簡單的解法就是直接將自己的使用者加入vboxsf這個group就可以啦~
首先打開Terminal,輸入"sudo usermod -a -G vboxsf $USER”並輸入自己的密碼做驗證,就可以將自己的使用者帳號加入”vboxsf”這個group,最後只要把虛擬機重新開機,就可以讓我們自由存取這個資料夾囉~
從現在起,只要出現在這個資料夾內的東西,在Guest OS以及Host OS上都可以存取囉,但要小心不要一個手滑把裡面的檔案刪除,那就是兩邊都會不見喔QQ