Try   HackMD

在 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 資訊

Picture1

安裝 VirtualBox

https://www.virtualbox.org/wiki/Downloads
到 VirtualBox 官網下載安裝檔~記得點 macOS / Apple Silicon hosts

vbox

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。

Picture1

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/

設定 & 安裝 Ubuntu 24.04 虛擬機

  1. 開啟 VirtualBox,並點選 New

    image

  2. 輸入這個虛擬機的名稱,以及選擇此虛擬機資料的存放位置
    此時先不要設定 ISO Image

    image

  3. 記憶體至少給 4096 MB;Processor,看 host 有多少就給多少~

    image

  4. Hard disk 至少給 50 GB:

    image

  5. Finish

    image

  6. Settings 做一些設定

    image

  7. Display -> ScreenVideo Memory 選到 128 MB:

    image

  8. StorageDevices 內點選 Empty,然後點右側那個光碟的圖案,然後點 Choose/Create a Virtual Optical Disk..

    vbox

    Add,然後點選剛剛下載的 Ubuntu 24.04 的 image ISO 檔:

    image

    Picture1

    最後就點 OK

    image

  1. Start
    image
  1. Try or Install Ubuntu,然後按 enter

    image

  2. 選語言

    image

  3. Next

    image

  4. 設定鍵盤

    image

  5. Next

    image

  6. Skip

    image

  7. Install Ubuntu

    image

  8. Interactive installation

    image

  9. Default selection

    image

  10. Next

    image

  11. 由於我等下想將 //home/ 分別放在兩個不同的 partition,且分別是 20 GB 和 30 GB,所以選 Manual installation

    image

  12. Free space,再點左下角的 +

    image

  13. Size 20 GB,Mount point 是 /

    image

  14. 再點 Free space,以及左下角的 +

    image

  15. 剩下的空間全部都給 /home

    image

  16. Next

    image

  17. 設定使用者名稱和密碼

    image

  18. Next

    vbox

  19. Install

    image

  20. 開始安裝~

    image

  21. 安裝完畢~Restart now

    image

  22. 若出現以下畫面,直接按 enter 即可~

    image

  23. 可以開始使用了~

    vbox

  1. 最後~在 VirtualBox 主選單做幾個設定,可以讓他執行得比較快,點 Settings

    image

    Storage 內,點選 Controller: VirtioSCSI,勾選右側的 Use Host I/O Cache

    image

    Ubuntu 24.04.vdi,勾選右側的 Solid-state Drive

    image

安裝 VirtualBox Guest Additions

安裝了 VirtualBox Guest Additions 才能調整螢幕顯示的大小、shared folder、以及 host 和虛擬機之間的 copy paste

  1. Settings -> General -> AdvancedShared ClipboardBidirectional
    Drag'n'Drop 也選 Bidirectional

    image

  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 虛擬機內先建立這些資料夾

    image

  3. 開啟虛擬機,並開啟 terminal,輸入以下指令:

    ​​​​$ sudo apt update && sudo apt -y install build-essential dkms
    

    image

  4. 點選螢幕上方的 Devices -> Insert Guest Additions CD image…

    image

    這時 Ubuntu 虛擬機左側應該會多出一個光碟的圖案

    image

  5. 接下來在 terminal 內輸入以下這些指令:

    ​​​​$ sudo mkdir /media/cdrom
    ​​​​$ sudo mount /dev/cdrom /media/cdrom
    ​​​​$ cd /media/cdrom
    ​​​​$ sudo ./VBoxLinuxAdditions-arm64.run
    

    image

  6. 前述指令執行完之後將虛擬機重開機,應該就可以啟用 shared folder 以及和 host 之間的複製貼上功能~

  7. 在設定 shared folder 時,若沒有勾選 Auto-mount,則要在虛擬機內開啟 terminal 並輸入以下指令以掛載共用資料夾:

    ​​​​$ sudo mount -t vboxsf <folder_name> /path/to/vm/shared/folder
    

    以我的例子就是:

    ​​​​$ sudo mount -t vboxsf vbox_shared /home/cpt1020/shared_folder
    

    每次開啟 virtual machine 都需要輸入前述指令將 shared folder 掛載

  8. 我自己在安裝完 VirtualBox Guest Additions 且重新啟動虛擬機時,因為解析度的關係整個 Ubuntu 虛擬機內的東西都變很小,這時可以點選 Ubuntu 右上角的設定,然後在 Displays 內的 Scale200% 就可以變得比較 OK~

    image

偵測 USB 裝置

之前在舊的 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。

vbox

https://www.virtualbox.org/wiki/Download_Old_Builds
如果安裝的 VirtualBox 版本比較舊,也可以在這個頁面找到自己安裝的版本,點進去,就可看到該版本的 Extension Pack。

此外,之前舊版本的 VirtualBox 還必須在 MacBook 的 terminal 執行 sudo virtualbox 開啟 VirtualBox,後續才能偵測到 USB 裝置。

但我在新的 MacBook Air 安裝新版的 VirtualBox,沒有這樣做也能偵測到 USB 裝置~

  1. 先到 Settings -> USB,此時先不要把 USB 裝置插上去,然後點右側綠色 + 的圖案,可以看到目前有哪些 USB 裝置

    Picture1

  2. 將想要讓 Ubuntu 虛擬機存取的 USB 裝置插到電腦,再點一次右側綠色 + 的圖案,就可以看到多出了那個裝置,點那個裝置把它加到 USB Device Filters

    Picture1

    image

  3. 開啟虛擬機,此時可能會出現以下訊息,點 Allow

    image

  4. 開啟虛擬機後,就可看到左側有 USB 裝置的圖案,且這個 USB 裝置會自動被掛載到 /media/<user_name>/ 底下

    Picture1