# 在 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
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.