VirtualBox 與 Debian/Ubuntu 客端額外功能(Guest Additions)安裝細節
本文收集的內容是安裝 Debian/Ubutnu 作為 VirtualBox Guest OS 的情形。如果你的 Guest OS 是 Windows 系統,本文對你無用。
- 安裝客端額外功能(Guest Additions)
- 滑鼠整合沒作用(Mouse pointer integration not work)
- 螢幕解析度可調整項目變少了
- 掛載共用資料夾
安裝客端額外功能(Guest Additions)
首先要安裝三個系統套件,參考「VirtualBox - Debian Wiki」。 然後再插入 Guest Additions CD 映像,執行其中的 VBoxLinuxAdditions.run 。
一、安裝 build-essential
安裝程式編譯工具,將用於編譯 VirtualBox 客端功能的 Linux 核心模組。
$ sudo apt-get install build-essential
二、安裝 dkms
若你的 Guest OS 是 Ubuntu 10.04 Lucid 或更新的散佈版本時,必須安裝 dkms。它是新的核心模組載入機制。已知 VirtualBox 的滑鼠整合功能模組依賴此機制載入。若未安裝 dkms ,則滑鼠整合功能不會發生作用。
$ sudo apt-get install dkms
如果你已經安裝了客端額外功能,才發現沒有安裝 dkms 且滑鼠整合功能沒作用,你必須安裝 dkms 之後,再重裝一次客端額外功能。更快捷的方式是在安裝 dkms 之後,直接執行指令 sudo /etc/init.d/vboxadd setup
。裝好之後,須重新啟動 Guest OS.
三、安裝當前 linux 核心版本標頭檔套件
這將用於編譯 VirtualBox 客端功能的 Linux 核心模組。Linux 核心標頭檔套件名稱是 linux-headers-???? 版本號碼。核心版本號碼可用指令 uname -r
查。最簡單的安裝指令如下:
$ sudo apt-get install linux-headers-$(uname -r)
升級 Linux 核心版本之後,也要安裝新核心版本的標頭檔套件。
四、下載 VirtualBox Guest Additions ISO
注意,當升級 Linux 核心版本或主機端(host)的 VirtualBox 版本之後,你都需要再做一次安裝 Guest Additions 的工作。
選擇 VirtualBox 選單的「安裝 Guest Additions ...」或「裝置\插入 Guest Additions CD 映像」之後,VirtualBox 就會自動下載客端額外功能軟體的 CD ISO 影像檔,並放入虛擬機的光碟機中。
若你碰到未自動下載的情形時,也可自行到官方網站下載: Download VBoxGuestAdditions_3.1.6.iso 。下載後,再自行透過 CD 裝置掛載該 ISO 影像。
如果你的虛擬機正在桌面環境,那麼插入 Guest Additions CD 的動作應該會觸發自動掛載。如果你是在命令列環境,你得要手動掛載。如下:
$ sudo mount -t iso9660 /dev/cdrom /mnt
掛載 VBoxGuestAdditions CD ISO檔後,開啟它,並以 root 的權限執行其中的 VBoxLinuxAdditions-x86.run (32bit) / VBoxLinuxAdditions-amd64.run (64bit),或是 VBoxLinuxAdditions.run 。如下:
$ cd /mnt
$ sudo ./VBoxLinuxAdditions.run
滑鼠整合沒作用(Mouse pointer integration not work)
Guest OS 為 Ubuntu 10.04 及之後的版本,請參考上一節第二項關於 dkms 的內容。
正常來說,新建的 Guest OS 在安裝「客端額外功能(Guest Additions)」並重新啟動 Guest OS 之後,「滑鼠整合」就會發揮功效。但若你碰到滑鼠整合功能沒有作用的詭異情形時,你需要編輯 /etc/X11/xorg.conf (若此文件不存在,則 Guest OS 應該是新版的,請參考上一節 dkms 的內容),手動加入下列的設定段落。
Section "InputDevice" Identifier "vboxmouse" Driver "vboxmouse" Option "CorePointer" Option "Device" "/dev/input/mice" EndSection
See also: How to fix mouse pointer integration in Ubuntu 9.04 installed on VirtualBox
正常來說,就算 xorg.conf 沒有上述的 InputDevice 段落,滑鼠整合功能依然會作用。
我今天新裝了一個 Ubuntu 9.04 Desktop 的 guest 系統,安裝客端額外功能後,滑鼠整合功能竟然沒有發生作用。我覺得很奇怪,已經我先前安裝過數次 Ubuntu Desktop 作為 guest 系統,但都沒發生這問題。查詢後才知道,有時候要自己手動加入上述的設定內容。我開啟先前安裝的 Ubuntu Desktop guset ,把兩邊的 xorg.conf 比對一下,結果先前安裝的 Ubuntu Desktop guest 的 xorg.conf 沒有這一段,但滑鼠整合還是可作用。真是怪哉。
螢幕解析度可調整項目變少了
首先,如果是 Ubuntu 9.04 的使用者,可以參考我先前寫的使用筆記,按照裡面的步驟修正客端額外功能的安裝程式。 Ubuntu 9.10 的使用者,請參考 Logan 寫的Ubuntu 9.10 + VirtualBox Guest Additions修正。
當我安裝額外功能並重新啟動 guest 系統後的第一次晝面,我的螢幕解析度有 1280x768 (按預設 12MB 顯示記憶體)。我啟動 Ubuntu Desktop 的「顯示」控制台,一開始顯示我可以選擇從 1280x768 到 640x480 的5種解析度。接著我將螢幕解析度下調到 1024x768。調整完畢後,我很訝異地發現,在「顯示」控制台內,我可以選擇的解析度只剩下 1024x768 到 640x480 的3種解析度了。我沒有辦法再往上調整更高的解析度了。
如果你跟我一樣碰到這種情形,我們需要編輯 /etc/X11/xorg.conf ,手動在 Screen 段落中,加入 Display 的子段落,明確地列出我們希望能調整的解析度項目。如下所示:
Section "Screen" Identifier "Default Screen" Monitor "Configured Monitor" Device "Configured Video Device" DefaultDepth 24 SubSection "Display" Depth 24 Modes "800x600" "1440x900" "1360x768" "1280x1024" "1280x960" "1152x864" "1024x768" EndSubSection EndSection
上例設定範例,列出7種解析度,那麼在「顯示」控制台中,就會至少出現這7種解析度供我們選擇。不再愈調愈少。
登入晝面(GDM)會取 Modes 中的第一個項目作為解析度。所以我把 800x600 放在第一個。
See also: Howto: Install Linux Guest Additions + Xorg config