2018年9月24日 星期一

在 Win10 機器上安裝 VirtualBox 執行 MacOS 虛擬機器

昨天花了一個下午爬文研究如何在 Windows 上以虛擬機器方式跑 MacOS 的可能性, 結論是可行, 晚上就從網路下載了 VirtualBox 與 MacOS 10.13.6 的 vmdk 映像檔 (10.2GB), 今天就迫不及待在鄉下這台 Win10 桌電上來測試看看能否順利執行, 爬文研究結果參考 :

Windows 使用者開發 iOS App 的途徑

雖然在 Windows 上以虛擬機跑 MacOS 效能可能不佳, 但在我買 Macbook Air 之前, 想要先有個環境來先熟悉一下 MacOS 的操作, 同時練習一點剛學的 Swift 語法, 用虛擬機倒是一個成本最低的可行辦法, 其程序有三 :
  1. 安裝 VirtualBox 與 USB 擴充套件
  2. 在 VirtualBox 新增 MacOS 10.13 虛擬機掛載 vmdk 映像檔
  3. 以管理員身分開啟命令提示字元視窗執行虛擬機設定修改指令
安裝環境如下 :
  1. 作業系統 : Win10 Home 版 (64 bits)
  2. 處理器 : AMD Shampron 3850 APU with Radeon
  3. 記憶體 : 4GB
  4. C 碟空間 : > 80GB (只要超過 30GB 即可)
安裝 VirtualBox 之前已下載 AMD Hyper-V Cpmpatibility 檢測程式 檢查 AMD CPU 有開啟了  Hyper-V 虛擬化功能, 否則就要進入 BIOS 開啟, 參考 :

# Windows 使用者開發 iOS App 的途徑

以下安裝過程主要參考了下面 3 篇文章 :

免費虛擬機器VirtualBox下載、安裝與設定


一. 安裝 VirtualBox 與 USB 擴充套件 :  

首先下載 VirtualBox 與其 USB 擴充套件 :

https://www.virtualbox.org/wiki/Downloads (點 Windows host)
https://download.virtualbox.org/virtualbox/5.2.18/Oracle_VM_VirtualBox_Extension_Pack-5.2.18.vbox-extpack  (點 All supported platform) 

先安裝 VirtualBox :





注意, 這裡取消勾選 "在快速啟動列建立捷徑" :








注意, 這裡取消勾選 "Oracle VM VitualBox 5.2.18" :




以上 VirtualBox 安裝完畢, 接著雙按執行 VirtualBox USB 擴充包 :








這樣 VirtualBox 擴充套件就安裝完畢了. 接下來要在 "檔案/喜好設定/一般/預設機器資料夾" 將預設的 C 碟改為容量較大之其他分割, 若 C 本身夠大 就不用改 (至少 30GB 剩餘空間). 安裝好的 VirtualBox 位於 C:\Program Files\Oracle\VirtualBox 資料夾下.





接著可以在 "檔案/喜好設定/輸入/虛擬機器" 頁面檢視或修改切換主電腦與虛擬機器之組合鍵 :





以上完成了整個 VirtualBox 的設定. 接下來要進行第二步驟 : 在 VirtualBox 上新增一個虛擬機器, 並將已下載的 10.2 GB MacOS 10.13.6 版 vmdk 映像檔掛載到此虛擬機上,


二. 在 VirtualBox 新增 MacOS 10.13 虛擬機掛載 vmdk 映像檔 : 

按 VirtualBox 左方的 "新增" 鈕, 在彈出的建立虛擬機器頁面的 "名稱" 欄輸入 "MacOS 10.13 High Sierra", "類型" 選取 "Mac OS X", "版本" 選取 "macOS 10.13 High Sierra (64-bit)", 按 "下一步" 鈕 :




設定記憶體大小, 我的電腦為 4GB DRAM, 但不要拉到 4096 全滿, 要留點餘裕, 一般是設 DRAM 容量的 50~65%, 這裡我是設一半 2 GB (2048) :




按 "下一步" 設定硬碟, 此處需勾選最底下那個 "使用現有虛擬硬碟檔案", 並點選已下載解壓縮好的 MacOS 10.13.6 映像檔 macOS High Sierra by Techsviewer.vmdk :






按 "建立" 即可在左方框中看見名為 "MacOS 10.13 High Sierra" 的 MacOS 虛擬機矣.




但是預設 CPU 為單核心 (數目為 1), 且開機序列包含軟碟, 必須在系統設定中修改 : 按 "設定值" 鈕, 在 "系統/處理器" 頁面中將處理器由預設 1 改為 2 (雙核心) :




然後在 "系統/主機板" 頁面中將 "軟碟" 取消勾選 :




按 "確定" 即完成 MacOS 10.13 High Sierra 虛擬機器之大部分設定了, 可見 CPU 數目已改為 2, 開機序列也已無軟碟 :




最後還有一些小設定必須利用命令提示字元視窗來做. 注意, 在完成下面的設定之前, 不要去按左方框中的虛擬機器 "電源關閉" 按鈕, 這樣會起始關機程序導致下面之設定失敗.


三. 以管理員身分開啟命令提示字元視窗執行虛擬機設定修改指令 :

首先按 "開始" 選擇以系統管理員身分開啟命令提示字元視窗, 以 cd 指令切換工作目錄到 VirtualBox 的安裝目錄下 :

cd "C:\Program Files\Oracle\VirtualBox\"

依序執行下列 6 個指令修改虛擬機器設定 :

VBoxManage.exe modifyvm "MacOS 10.13 High Sierra" --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff
VBoxManage setextradata "MacOS 10.13 High Sierra" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3"
VBoxManage setextradata "MacOS 10.13 High Sierra" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
VBoxManage setextradata "MacOS 10.13 High Sierra" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple"
VBoxManage setextradata "MacOS 10.13 High Sierra" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
VBoxManage setextradata "MacOS 10.13 High Sierra" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1


執行結果必須都無錯誤訊息才行, 例如 :

C:\Program Files\Oracle\VirtualBox>VBoxManage.exe modifyvm "MacOS 10.13 High Sierra" --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff

C:\Program Files\Oracle\VirtualBox>VBoxManage setextradata "MacOS 10.13 High Sierra" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3"

C:\Program Files\Oracle\VirtualBox>VBoxManage setextradata "MacOS 10.13 High Sierra" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"

C:\Program Files\Oracle\VirtualBox>VBoxManage setextradata "MacOS 10.13 High Sierra" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple"

C:\Program Files\Oracle\VirtualBox>VBoxManage setextradata "MacOS 10.13 High Sierra" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"

C:\Program Files\Oracle\VirtualBox>VBoxManage setextradata "MacOS 10.13 High Sierra" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1




這樣即完成 MacOS 10.13 High Sierra 虛擬機器之全部設定了.

按上方的 "啟動" 即開啟此 MacOS 10.13 High Sierra 虛擬機器 :




但是畫面卻停住不動, 原文說會出現黑螢幕與許多 code, 好像會花很久時間, 但也未免太久了 :




檢查程序都沒錯, 但奇怪等了很久就是還沒進去 MacOS 安裝畫面, 直到我要回高雄還沒出現, 只好關掉, 回高雄再用 INTEL CPU 電腦試試看,

參考 :

VirtualBox 4.2 上面安裝Ubuntu 12


2018-10-01 補充 :

早上在高雄家裡的電腦再試一次即順利進入安裝畫面 :




2018-12-22 補充 :

感謝網友法拉魚提供資訊, 10.13.2 版可以, 映像檔下載點 :

https://webforpc.com/mac/macos-high-sierra-10-13-disk-image-free-download/ (dmg)
https://forum.amd-osx.com/viewtopic.php?t=4029
https://drive.google.com/file/d/1cOuWxTyLtL_VJP4Xex0Vws71VBYPsMzn/view

7 則留言 :

法拉魚 提到...

那是因為AMD的關係 沒有到10.13.6的版本.

法拉魚 提到...

10.13.2可以

小狐狸事務所 提到...

感謝您, 我試試看

馬路賴 提到...

三. 以管理員身分開啟命令提示字元視窗執行虛擬機設定修改指令

這裡開始執行第一個指令就錯誤了

小狐狸事務所 提到...

是這個嗎? 我執行 OK 無錯誤, 但後面就是沒出現安裝畫面.

VBoxManage.exe modifyvm "MacOS 10.13 High Sierra" --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff

dowei 提到...

可能需要加./ ,也就是
./VBoxManage.exe modifyvm "MacOS 10.13 High Sierra" --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff

另外确认虚拟机的名字是”MacOS 10.13 High Sierra“

小狐狸事務所 提到...

感謝您, 我再試試看