# 在 MacBook M3 的 VirtualBox 安裝 Ubuntu 24.04 虛擬機 2016 年買的 MacBook Air 用了八年,到去年年底才換了 M3 的 MacBook Air。 一開始在裝 Ubuntu 虛擬機時因為用了 Intel 架構的 Ubuntu image,結果都一直失敗 😣 查了一下才知道因為 Apple Silicon M3 晶片是 ARM 架構,所以不能用 Intel 架構的 Ubuntu image,必須要用 ARM 架構的。 一開始以為 Ubuntu 官方沒有提供 Ubuntu Desktop for ARM,所以安裝了 Ubuntu Server for ARM,然後再用 `sudo apt install ubuntu-desktop` 安裝 Desktop GUI,結果常常會用到一半卡住,重開虛擬機後直接說有 critical error,整個虛擬機開不了,只好重灌 😵💫 上網查,在 Reddit 看到原來 Ubuntu 是有提供 Desktop for ARM 的 image! 以下就紀錄安裝和設定的過程~包含啟用 host 和虛擬機之間的 copy paste、shared folder、以及偵測 USB 裝置。 ## MacBook Air 資訊  ## 安裝 VirtualBox https://www.virtualbox.org/wiki/Downloads 到 VirtualBox 官網下載安裝檔~記得點 `macOS / Apple Silicon hosts`  ## Download Image of Ubuntu 24.04 Desktop for ARM https://cdimage.ubuntu.com 開啟以上網址。 我要下載的是 Ubuntu 24.04,這個版本又稱作 Noble Numbat,所以點 `noble` -> `daily-live` -> `current` -> 會看到以下截圖的畫面,點 `64-bit ARM (ARMv8/AArch64) desktop image` 即可下載 Ubuntu 24.04 ARM 架構 desktop 的 image。  Ubuntu 最新版的 Daily Build 可到此下載: https://cdimage.ubuntu.com/daily-live/current/ https://www.reddit.com/r/Ubuntu/comments/1db1h4s/no_ubuntu_2404_lts_iso_for_arm64_desktop/ <!-- ### Download Image of Ubuntu Server 24.04 for ARM https://ubuntu.com/download/server/arm 到 Ubuntu 官網下載 Ubuntu server 24.04 for ARM 的 image:  --> ## 設定 & 安裝 Ubuntu 24.04 虛擬機 1. 開啟 VirtualBox,並點選 `New`:  2. 輸入這個虛擬機的名稱,以及選擇此虛擬機資料的存放位置 此時先不要設定 ISO Image  3. 記憶體至少給 4096 MB;Processor,看 host 有多少就給多少~  4. Hard disk 至少給 50 GB:  5. 點 `Finish`  6. 點 `Settings` 做一些設定  7. 在 `Display` -> `Screen` 的 `Video Memory` 選到 128 MB:  9. `Storage` 的 `Devices` 內點選 `Empty`,然後點右側那個光碟的圖案,然後點 `Choose/Create a Virtual Optical Disk..`:  點 `Add`,然後點選剛剛下載的 Ubuntu 24.04 的 image ISO 檔:   最後就點 `OK`  <!--  --> <!--  --> 10. 點 `Start`  <!-- View -> Scaled Mode --> 11. `Try or Install Ubuntu`,然後按 `enter`  12. 選語言  13. `Next`  14. 設定鍵盤  15. `Next`  16. `Skip`  17. `Install Ubuntu`  18. `Interactive installation`  19. `Default selection`  20. `Next`  21. 由於我等下想將 `/` 和 `/home/` 分別放在兩個不同的 partition,且分別是 20 GB 和 30 GB,所以選 `Manual installation`  22. 點 `Free space`,再點左下角的 `+`  23. Size `20 GB`,Mount point 是 `/`  24. 再點 `Free space`,以及左下角的 `+`  25. 剩下的空間全部都給 `/home`  26. `Next`  27. 設定使用者名稱和密碼  28. `Next`  29. `Install`  30. 開始安裝~  31. 安裝完畢~`Restart now`  32. 若出現以下畫面,直接按 enter 即可~  33. 可以開始使用了~  <!--  --> 34. 最後~在 VirtualBox 主選單做幾個設定,可以讓他執行得比較快,點 `Settings`  在 `Storage` 內,點選 `Controller: VirtioSCSI`,勾選右側的 `Use Host I/O Cache`:  點 `Ubuntu 24.04.vdi`,勾選右側的 `Solid-state Drive`:  ## 安裝 VirtualBox Guest Additions 安裝了 VirtualBox Guest Additions 才能調整螢幕顯示的大小、shared folder、以及 host 和虛擬機之間的 copy paste 1. 在 `Settings` -> `General` -> `Advanced` 的 `Shared Clipboard` 選 `Bidirectional` `Drag'n'Drop` 也選 `Bidirectional`  2. 在 `Shared Folder` 點右側的 `+` 圖案,可以設定讓 host(也就是 MacBook)和虛擬機之間共用資料夾 - 假設我要共用的資料夾在 MacBook 的路徑是 `/Users/<user_name>/vbox_shared` - 在虛擬機的路徑是 `/home/<user_name>/shared_folder` - 那 `Folder Path` 就選取在 MacBook 內的該資料夾 - `Folder Name` 在設定完 `Folder Path` 後應該會自動帶入 `vbox_shared` - `Mount point` 就是 `/home/<user_name>/shared_folder` - 如果希望每次開虛擬機都自動掛載這個 shared folder,那就勾選 `Auto-mount` - 在做這些設定前,必須先在 MacBook 和 Ubuntu 虛擬機內先建立這些資料夾  3. 開啟虛擬機,並開啟 terminal,輸入以下指令: ```shell $ sudo apt update && sudo apt -y install build-essential dkms ```  4. 點選螢幕上方的 `Devices` -> `Insert Guest Additions CD image…`  這時 Ubuntu 虛擬機左側應該會多出一個光碟的圖案  5. 接下來在 terminal 內輸入以下這些指令: ```shell $ sudo mkdir /media/cdrom $ sudo mount /dev/cdrom /media/cdrom $ cd /media/cdrom $ sudo ./VBoxLinuxAdditions-arm64.run ```  6. 前述指令執行完之後將虛擬機重開機,應該就可以啟用 shared folder 以及和 host 之間的複製貼上功能~ 7. 在設定 shared folder 時,若沒有勾選 `Auto-mount`,則要在虛擬機內開啟 terminal 並輸入以下指令以掛載共用資料夾: ```shell $ sudo mount -t vboxsf <folder_name> /path/to/vm/shared/folder ``` 以我的例子就是: ```shell $ sudo mount -t vboxsf vbox_shared /home/cpt1020/shared_folder ``` :::info 每次開啟 virtual machine 都需要輸入前述指令將 shared folder 掛載 ::: 8. 我自己在安裝完 VirtualBox Guest Additions 且重新啟動虛擬機時,因為解析度的關係整個 Ubuntu 虛擬機內的東西都變很小,這時可以點選 Ubuntu 右上角的設定,然後在 `Displays` 內的 `Scale` 選 `200%` 就可以變得比較 OK~  ## 偵測 USB 裝置 :::info 之前在舊的 MacBook Air 安裝舊的 VirtualBox 時,必須要先安裝 VirtualBox Extension Pack,後續才能偵測到 USB 裝置。 但我現在在新的 MacBook Air 安裝新的 VirtualBox(版本 7.1.6),沒有安裝 VirtualBox Extension Pack 就可以偵測到 USB 裝置。 如果有需要安裝 VirtualBox Extension Pack 可以到官網(https://www.virtualbox.org/wiki/Downloads)下載,要安裝自己電腦 VirtualBox 版本的 Extension Pack。  https://www.virtualbox.org/wiki/Download_Old_Builds 如果安裝的 VirtualBox 版本比較舊,也可以在這個頁面找到自己安裝的版本,點進去,就可看到該版本的 Extension Pack。 ::: :::warning 此外,之前舊版本的 VirtualBox 還必須在 MacBook 的 terminal 執行 `sudo virtualbox` 開啟 VirtualBox,後續才能偵測到 USB 裝置。 但我在新的 MacBook Air 安裝新版的 VirtualBox,沒有這樣做也能偵測到 USB 裝置~ ::: 1. 先到 `Settings` -> `USB`,此時先不要把 USB 裝置插上去,然後點右側綠色 `+` 的圖案,可以看到目前有哪些 USB 裝置  2. 將想要讓 Ubuntu 虛擬機存取的 USB 裝置插到電腦,再點一次右側綠色 `+` 的圖案,就可以看到多出了那個裝置,點那個裝置把它加到 USB Device Filters   3. 開啟虛擬機,此時可能會出現以下訊息,點 `Allow`  4. 開啟虛擬機後,就可看到左側有 USB 裝置的圖案,且這個 USB 裝置會自動被掛載到 `/media/<user_name>/` 底下  <!-- ## 其他設定   感謝您的提問!這兩個選項 **"Use Host I/O Cache"** 和 **"Solid-state Drive"** 在 **VirtualBox → Settings → Storage** 內,會影響虛擬機的磁碟存取方式和效能。讓我們來看看它們各自的作用與影響!🚀 --- ## **1️⃣ Use Host I/O Cache (使用主機 I/O 快取)** ### **📌 這是什麼?** 這個選項決定 **VirtualBox 是否使用主機(MacBook)的 I/O 快取機制** 來管理虛擬機的磁碟存取。 - **啟用 (✅)**: - VirtualBox **讓主機作業系統 (macOS) 處理磁碟快取**,而不是直接讀寫虛擬磁碟 (`.vdi` / `.vmdk`)。 - 這意味著 **部分讀取的磁碟數據會存放在 macOS 的記憶體 (RAM) 內作為快取**,提高重複存取的效能。 - **關閉 (❌)**: - VirtualBox **自己處理磁碟存取**,不依賴主機的 I/O 快取。 - 這讓 **虛擬機的磁碟存取變得更獨立**,但可能導致效能下降,特別是對於某些應用程式(如資料庫)。 ### **🔍 何時應該啟用?** ✅ **適合啟用 (推薦)**: - 一般桌面使用(如 **Ubuntu Desktop**)。 - 需要更快的磁碟存取(因為 macOS 的快取機制比 VirtualBox 自己的 I/O 處理更高效)。 - 使用 SSD 作為主機磁碟時(快取效能更好)。 ❌ **應該關閉的情境**: - **伺服器應用 / 資料庫**: - 例如 MySQL、PostgreSQL、MongoDB 等,這些應用通常會自己管理快取,使用主機快取可能導致一致性問題。 - **多台虛擬機同時運行時**: - 若同時運行 **多個 VirtualBox 虛擬機**,這些 VM 會共用 macOS 的 I/O 快取,可能會導致記憶體被佔滿,引發效能下降。 ### **🚀 效能影響** ✅ **啟用**: - 讀取速度通常會變快,尤其是重複存取的數據(因為主機快取了數據)。 - 適合 **一般桌面環境** 和 **開發用途**。 ❌ **關閉**: - 虛擬機的 I/O 會比較穩定,適合 **伺服器、資料庫**,但磁碟存取可能較慢。 --- ## **2️⃣ Solid-state Drive (固態硬碟)** ### **📌 這是什麼?** 這個選項**讓虛擬機認為它的虛擬磁碟 (`.vdi` / `.vmdk`) 是一顆 SSD**,而不是傳統的 HDD。啟用後: - **虛擬機的作業系統 (如 Ubuntu) 會識別虛擬磁碟為 SSD**,並根據 SSD 的特性調整存取方式。 - 影響 **磁碟調度、文件系統優化、Trim 支援**,提升效能並延長 SSD 壽命。 ### **🔍 何時應該啟用?** ✅ **適合啟用 (推薦)**: - **主機 (MacBook) 是 SSD 時**(大部分現代 MacBook 都是 SSD)。 - **虛擬機是桌面系統**(如 **Ubuntu Desktop**)。 - **想要最佳化磁碟存取**,避免傳統 HDD 的磁碟排程方式。 ❌ **應該關閉的情境**: - **主機是傳統 HDD**(若主機是 HDD,啟用此選項可能無法發揮 SSD 優勢)。 - **某些特定的伺服器環境**(部分伺服器應用對 SSD 的 Trim 操作敏感)。 - **如果遇到 VirtualBox 無法正確啟動或識別虛擬磁碟時**(有時某些 OS 可能不兼容)。 ### **🚀 效能影響** ✅ **啟用**: - **虛擬機識別為 SSD**,並調整 I/O 存取,提升效能。 - **啟用 TRIM 支援**,有助於減少磁碟碎片,延長 SSD 壽命。 - **更快的開機時間與文件存取速度**。 ❌ **關閉**: - **虛擬機識別為 HDD**,使用傳統磁碟存取方式,適合傳統 HDD 環境。 --- ## **🎯 總結** | 設定 | **功能** | **適合啟用的情境** | **適合關閉的情境** | |------|--------|-----------------|-----------------| | **Use Host I/O Cache** | 讓 macOS 管理虛擬機磁碟快取,提高讀取效能 | **桌面應用、開發環境、Ubuntu Desktop** | **伺服器應用、資料庫、多台 VM 運行時** | | **Solid-state Drive** | 讓虛擬機識別為 SSD,優化磁碟存取 | **MacBook 是 SSD,桌面系統 (Ubuntu Desktop)** | **主機是 HDD,某些伺服器應用** | --- ## **🎯 最佳設定建議** 如果您在 **MacBook (SSD) 上運行 Ubuntu Desktop**,**建議的設定是**: ✅ **啟用 `Use Host I/O Cache`**(讓 macOS 管理快取,提升效能) ✅ **啟用 `Solid-state Drive`**(讓 Ubuntu 認識為 SSD,提升磁碟存取) 如果您是在 **伺服器環境、資料庫應用、或多台 VM 運行**,建議: ❌ **關閉 `Use Host I/O Cache`**(避免主機快取影響 VM 的 I/O 一致性) ✅ **可啟用 `Solid-state Drive`**(除非遇到相容性問題) --- 希望這樣的解釋能幫助您更了解這兩個設定的影響!😃 如果還有問題,歡迎隨時問我~感謝您的耐心!🚀✨ --> <!-- ## SSH   ```shell sudo apt install openssh-server ``` 就可以在 macbook 用 ssh 連過去啦~ -->
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up