2019-10-15

VirtualBox 5 安裝 macOS High Sierra

因為有跨平台開發的需求,所以Windows、GNU/Linux、macOS都習慣裝VM來做測試,其中以安裝macOS最麻煩...

就自已的經驗,用vmware安裝macos最穩定好裝,virtualbox裝macos則問題非常多,可以的話推薦用vmware,這裡用virtualbox裝只是想試試是否相容性有進少步(結果證明是自找麻煩)

以下為安裝High Sierra步驟,若要安裝Mojave或Catalina應該也行,只是VirtualBox的macOS預設最高版本只能選High Sierra,因此以安裝High Sierra為範例。

0.安裝VirtualBox及其extension pack:
https://www.virtualbox.org/wiki/Downloads

1.下載作業系統:
若在APP Store找不到你要的作業系統,可利用mas找出並下載曾經下載過的macOS:
https://github.com/mas-cli/mas

各版本代號如下:
macOS 10.7 Lion – 444303913
macOS 10.8 Mountain Lion – 537386512
macOS 10.9 Mavericks – 675248567
macOS 10.10 Yosemite – 915041082
macOS 10.11 El Capitan – 1147835434(適用無法升級10.12的舊機型)
macOS 10.11 El Capitan – 1018109117
macOS 10.12 Sierra – 1127487414
macOS 10.13 High Sierra – 1246284741

2.將作業系統APP轉為ISO檔:
假設作業系統APP已經下載應用程式中,執行以下指令:
hdiutil create -o /tmp/HighSierra.cdr -size 5530m -layout SPUD -fs HFS+J
hdiutil attach /tmp/HighSierra.cdr.dmg -noverify -mountpoint /Volumes/install_build
sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/install_build
mv /tmp/HighSierra.cdr.dmg ~/Desktop/InstallSystem.dmg
hdiutil detach /Volumes/Install\ macOS\ High\ Sierra
hdiutil convert ~/Desktop/InstallSystem.dmg -format UDTO -o ~/Desktop/HighSierra.iso
mv ~/Desktop/HighSierra.iso.cdr ~/Desktop/HighSierra.iso
rm ~/Desktop/InstallSystem.dmg

此時桌面會產生HighSierra.iso,將它複製到要安裝VM的電腦上

3.新增VirtualBpx VM,作以下設定:

  • 新增虛擬機,名稱為MacOS,作業系統類型為 macOS 10.13 High Sierra (64-bit),動態硬碟至少60GB
  • 系統 > 主機版 > 開機順序,取消軟碟
  • 系統 > 主機版,至少4096mb記憶體
  • 系統 > 處理器,選擇2核心
  • 顯示 > 螢幕,設定128mb記憶體,2D/3D加速(要看你的電腦有無支援)
  • 儲存 > 儲存裝置確定為 SATA/AHCI,並掛載剛剛產生的作業系統iso檔
4.在終端機下執行以下指令(若在windows環境,需先進入VirtualBox安裝資料夾執行):
VBoxManage modifyvm "MacOS" --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff
VBoxManage setextradata "MacOS" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3"
VBoxManage setextradata "MacOS" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
VBoxManage setextradata "MacOS" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple"
VBoxManage setextradata "MacOS" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
VBoxManage setextradata "MacOS" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1

5.將VM開機,此時會從光碟開機,並進入安裝畫面,這邊開始就是重點:
先開啟磁碟工具,並將硬碟格式化成HFS+,千萬不要選APFS!
不然你的VM設定就要重來一遍了,因為VirtualBox 5不認識APFS, 裝了也只會是無法開機!
假設這裡你把硬碟取名為「Macintosh HD」

之後離開磁碟工具,再從上方選單打開終端機,並執行以下指令:
/Volumes/Image\ Volume/Install\ macOS\ High\ Sierra.app/Contents/Resources/startosinstall --volume Macintosh\ HD --converttoapfs NO --agreetolicense

若遇到沒有反應,或顯示「程式已毀損」之類的,很可能又是開發者憑證時間過期的問題,下指令把時間往前調,如:
date 010100002018 或 date 010100002017
然後再重打安裝指令

此時會將安裝檔複製到硬碟中,複製完會重開機,
此時將VM立即關機並退出光碟,然後再次開機,就會進入到Shell畫面,執行以下指令:
打exit退出Shell
選擇 Boot Maintenance Manager > Boot From File >
選第二個EFI選項 > macOS Install Data > Locked Files > Boot Files > boot.efi

此時就會真正開始安裝macOS了!

6.安裝完系統,在macOS終端機執行以下指令以解除軟體安裝限制:
sudo spctl --master-disable

若你是用VirtualBox 6以上的版本安裝,直接從VirtualBox選單選擇插入Guest Additions光碟,並執行VBoxDarwinAdditions.pkg以安裝guest additions,裝完後若有問題可參考以下鏈結解決:
https://stackoverflow.com/questions/41691803/how-to-install-guest-addition-in-mac-os-as-guest-and-windows-machine-as-host/43715619

若是VirtualBox 5,執行以下指令以修正解析度:
VBoxManage setextradata "MacOS" VBoxInternal2/EfiGraphicsResolution 1920x1080

7.將自已加入vboxusers群組,以正常連接外部裝置(如usb裝置等):
sudo groupadd vboxusers
sudo usermod -aG vboxusers ${USER}
再重開機

沒有留言:

張貼留言