虛擬機(virtual machine)是一種能讓電腦同時執行多個作業系統的技術,經常用在雲端伺服器。本文將示範在MacBook Air M1電腦上安裝虛擬機,執行Ubuntu作業系統。
如果把電腦硬體比喻成建築物,虛擬機相當於房東,規劃並管理閒置的空間租給房客。一棟建築可出租多個空間,每個空間的大小和資源可以不同,但每個空間都能共用這個建築物的基礎設施,也就是寄宿電腦的記憶體、硬碟空間、網路、影音介面…等等。建立與執行虛擬機器的軟體或硬體,稱為Hypervisor(虛擬機器監視器),相關說明請參閱維基百科的《Hypervisor條目》。
底下列舉幾款Mac版虛擬機軟體,除了VirtualBox,它們都能在搭載M1/M2晶片的Mac上原生執行64位元的ARM版Windows 11和Linux系統。
- UTM:開放原始碼、免費,也有iOS版,能在iPhone和iPad安裝執行電腦作業系統。
- Oracle VirtualBox:開放原始碼,免費。適用於M1/M2晶片的版本可模擬x86系列處理器。
- VMware Fusion:個人版免費
- Parallels Desktop
VirtualBox是用於x86晶片的虛擬機,也支援Intel處理器版Mac。Oracle原本無意開發M1/M2版,後來macOS Ventura新增讓Linux虛擬機在M1/M2晶片執行64位元x86軟體的功能(透過系統內建的Rosetta轉譯),所以Oracle回心轉意。
不過,筆者測試的VirtualBox 7.0 M1/M2 beta版,僅支援32位元版x86軟體,我在APCS大學程式設計先修檢驗的「系統環境」說明頁面,下載「APCS環境 For VirtualBox (iso)」檔,在MacBook Air M1電腦執行時出現“Unsupported CPU”(不支援的處理器)錯誤,因為APCS虛擬機採用64位元版的作業系統。
所以我改用另一個開放原始碼的UTM,自行安裝64位元ARM版Linux。
附帶一提,Android 13也支援虛擬功能,Ars Technica這篇貼文報導了網友在Google Pixel 6透過虛擬機執行ARM版Windows 11並且玩起Doom遊戲。
下載Ubuntu桌面版系統
執行虛擬機軟體之前,先準備將要安裝在客戶機的作業系統。UTM官網有提供數個事先配置好的虛擬機檔案,請參閱UTM官網的Gallery頁面,本文並不採用這些檔案,而是重頭開始自己下載作業系統、設置虛擬機、安裝系統。
筆者選用跟APCS程式測驗環境檔案相同的Ubuntu系統。請在Ubuntu Desktop image(映像檔,相當於「開機光碟」檔)網頁,點擊64位元ARM處理器版的下載連結:
在UTM中建立Linux虛擬機
到UTM官網下載並且安裝、執行UTM。底下是首次開啟UTM的畫面,點擊「+建立新虛擬機」。
因為將來要執行的是採用相同處理器架構的作業系統,所以點擊「虛擬化」選項。
作業系統類型選擇Linux。
接著進入Linux設置畫面。這個版本的UTM不建議使用Apple的虛擬化技術,所以第一個選項不要勾選。請點擊底下的「瀏覽」,選取之前下載的Ubuntu開機映像檔(focal-desktop-arm64.iso)。
下一步是設定配置給虛擬機的記憶體大小,建議不要超過主記憶體的一半,避免影響整體系統效能。根據「Ubuntu桌面版」官網的最低系統說明,記憶體建議至少4GB(4096MB)。
「OpenGL硬體加速」用於提升顯卡的2D向量和3D影像的運算效能,如設定畫面所言,這是實驗性功能,筆者安裝的這個UTM版本若啟用OpenGL加速,會導致Ubuntu裡的諸多軟體無法使用,包括Firefox(火狐)和Chromium(開源版的Google Chrome)瀏覽器。
下一步是設置虛擬機可用的硬碟空間,Ubuntu官網建議的桌面版最小硬碟空間是25GB,筆者設為40GB。這個硬碟空間不會一開始就佔用40GB,而是依據虛擬機的實際狀況自動調整,最大增加到你設置的容量。
下一步是設定共享檔案夾,也就是提供虛擬機和宿主系統一個分享、共用檔案的地方,點擊「瀏覽」,自行選擇一個路徑或者新增檔案夾。
下一步將顯示此虛擬機的設置摘要並讓我們設定一個識別名稱,最後按下「儲存」完成虛擬機設置。