2020-01-15更新
Changelog for VirtualBox 6.1
EFI: Added support for booting from APFS
VirtualBox 6.1.0 開始已經支持從APFS分區啟動了,應該可以直接安裝MacOS原版了,但未測試,可自行嘗試。
2019-11-29溫馨提示
在沒有資源的情況下全網找放心的MacOS鏡像很困難,但從App Store里下載最新版MacOS安裝程序就很簡單很放心了,因此要想裝最新的干凈原版MacOS,可以先找一個低版本的鏡像進行安裝,然后進入App Store下載得到最新版的系統。
另外VirtualBox里安裝MacOS系統異常復雜,就算手動引導強裝上去了也可能產生不能啟動的毛病,壓根不認APFS分區。VMware任意鏡像,全程自動安裝,因此用VMware(及時更新到最新版VMware Workstation,不然新版本OS也裝不上)。
圖例:下載到了最新版MacOS安裝程序
圖片里是最開始直接把鏡像寫到硬盤了,發現並不好用,后面換成命令行形式的寫入硬盤更實用。 
圖例:系統完成安裝,順帶把xcode 11.2.1也裝了 
環境
- 時間:2019-11-29,帶上時間拒絕流氓
- 筆記本:某州優雅A460P-i7G D2,12G內存,Intel Core i7-2670QM四核八線程(老筆記本已升級勉強能用),ssd硬盤,win10系統。
- VMware Workstation:15.5.1 (目前最新版本)
- MacOS:macOS Catalina 10.15.1,通過老版的黑蘋果app store下載的
步驟
一、從App Store獲取最新版MacOS安裝程序鏡像
隨便用一台低版本MacOS虛擬機(可參考文章后半部分的10.13 iso古董鏡像安裝系統)在App Store中下載macOS Catalina;已測試發現High Sierra 10.13中下載是直接下載全量的安裝app,直接下載就ok了;Mojave 10.14.5中點下載是彈出更新系統的界面,直接進行更新,這個更新也會下載全量的安裝app。
安裝程序下載完后就關掉,不用運行,我們把安裝程序制作成鏡像。
直接運行安裝程序安裝到指定硬盤這種方法並不好用,一開機就立馬運行了系統安裝,什么選擇都沒有;不如我們手動制作的鏡像,可以有選擇安裝、磁盤工具的界面。
制作鏡像可以直接將鏡像寫入到一個新的虛擬機硬盤,或者cdr(iso)文件內;這里只寫到虛擬機硬盤,如果要制作cdr(iso)文件請參考文章下面Mojave部分。
- 舊版MacOS虛擬機中App Store下載完macOS Catalina
- 重啟虛擬機,掛載一塊新的vmdk硬盤,
10G大小就ok了,格式化成Mac OS 擴展(日志式)(APFS分區不能創建鏡像,可以試一下會有提示) - 命令行執行以下代碼;macOS Catalina app的目錄內應該能找到
createinstallmedia,運行它就是啦,寫到cdr(iso)里面其實也是一樣的操作
// 往分區寫入數據,核心操作就是這一句
sudo /原版安裝程序目錄...Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/新硬盤名字(拖進來就ok)
- 命令執行完后鏡像就制作完成了,把這個vmdk虛擬硬盤掛載到任意新的虛擬機下面就能安裝系統了。
二、安裝新系統
安裝系統前應該先把VMware Workstation更新到最新版本,不然不會有macOS 10.15系統選項。Unlocker解鎖和新建系統這些基本操作請參考下面的Mojave部分,這里就不反復寫了,其他類似的也有很多教程,如:https://blog.csdn.net/longji/article/details/83280940。
- 按照標准流程建立一個
macOS 10.15的虛擬機
- 在虛擬機設置里面加一塊硬盤,使用現有虛擬磁盤,選擇我們制作好的系統鏡像那個vmdk;這時這個虛擬機里有兩塊硬盤,一塊是虛擬機自己的,一塊是系統鏡像
- 啟動虛擬機,不出意外就能進入蘋果那個logo,過一會就會顯示安裝系統的選項界面了。
- 界面里用磁盤工具把虛擬機自己的硬盤進行分區,用APFS分區格式。
- 正常流程安裝macOS,就ok了。
三、后續注意事項
Catalina 10.15裝好並配置好后,我發現如果復制了虛擬機,並且VMware詢問是復制還是移動了虛擬機時,如果我們選擇了我復制了,那么會出現App Store死活無法登陸的現象,后面選擇我移動了虛擬機就沒有這個問題。
我發現新版的不需要VMsvga2也能正常全屏,不知道是VMware升級的關系還是MacOS升級的關系,反正裝好VMWare Tools后不需要任何操作就能正常全屏。
虛擬機屏幕分辨率最大化方法(非全屏):關掉拉伸客戶機,把窗口的寬度拉到最大不能拉為止,打開保持比例拉伸客戶機即可使虛擬機的分辨率最大。
虛擬機硬盤無法收縮(設置里面的磁盤壓縮功能),稍微研究了一下,網上提供的在APFS分區下都無效(包括專門針對APFS分區的收縮命令行代碼),暫時無解。
以下內容為VMware安裝AppStore原版Mojave 10.14.5
雖然是老版本,但相關手段還是有效的,可以用來參考
2019-07-18溫馨提示
你應該放棄使用VirtualBox來裝MacOS,改用VMware。折騰了好幾天安裝MacOS Mojave 10.14.5,VirtualBox死活裝不上,換成VMware輕輕松松啥也不用干就給裝上了。並且有VMware Tools支持,分辨率不用揪心,暢享高速共享文件夾(這些都是VirtualBox拒絕提供支持的)。
另:裝好一個老版本MacOS后可用app store來下載新版本來安裝,不依賴別人制作的iso、cdr鏡像。我就是用10.13搜索mojave下載安裝到了一個新的虛擬硬盤里面(純粹普通人操作,不需要命令行那些玩意),然后正常安裝,正常啟動。
因此:放棄VirtualBox的坑吧,目前還是轉入VMware陣營省心些,雖然DrDonk/unlocker似乎會報毒也管不了那么多了。
環境
- 時間:2019-07-18,帶上時間拒絕流氓
- 筆記本:某州優雅A460P-i7G D2,12G內存,Intel Core i7-2670QM四核八線程(老筆記本已升級勉強能用),ssd硬盤,win10系統。
- VMware Workstation:15.1.0 (目前最新版本)
- MacOS:macOS Mojave 10.14.5,通過老版的黑蘋果app store下載的
升級Mojave 10.14.5備注
下載過來的dmg、cdr、iso鏡像(沒試過iso的,沒找到),不要用VirtualBox來裝,用VMware,此處應划重點。VirualBox就算手動引導強裝上去了也可能產生不能啟動的毛病,壓根不認APFS分區。VMware任意鏡像,全程自動安裝,因此用VMware。
方法一
如果是dmg或者打包文件的鏡像,需要在mac系統里面進行轉換成cdr格式的,或者直接寫入到虛擬硬盤,所以這種需要先有一個能跑的黑蘋果才行。dmg轉cdr(iso)參考:http://bbs.pcbeta.com/viewthread-1816057-1-1.html,只要能找到createinstallmedia,運行它就是啦,不一定要寫到cdr里面,寫到新的硬盤也是可以的。
// 新建鏡像分區,有硬盤就算啦
hdiutil create -o /tmp/macInstallCdr -size 7000m -layout SPUD -fs HFS+J
hdiutil attach /tmp/macInstallCdr.dmg -noverify -mountpoint /Volumes/installcdr
// 往分區寫入數據,核心操作就是這一句
sudo /原版鏡像目錄...Mojave.app/Contents/Resources/createinstallmedia --volume /Volumes/installcdr
// 轉成cdr文件
hdiutil convert /tmp/macInstallCdr.dmg -format UDTO -o /tmp/mac_install_cdr
// 清理垃圾
hdiutil detach /Volumes/installcdr
rm /tmp/macInstallCdr.dmg
生成的cdr就能當光盤掛到虛擬機里面安裝啦。
方法二
也可以通過舊版黑蘋果app store下載macOs Mojave 10.14.5,下載下來是一個幾十M的軟件,運行會把5G多鏡像數據下載到指定的硬盤,然后從這個硬盤重啟自動安裝新系統。也許VMware里面的黑蘋果可以自動更新,但沒有試過,我的老系統是在VirtualBox里面,自動更新了沒法引導到新系統里面啟動。
安裝了VMsvga2正常全屏

正常安裝使用xcode 10.2.1

VMware安裝黑蘋果的一些處理備忘
-
安裝流程參考:https://blog.csdn.net/longji/article/details/83280940
-
禁用VMware的vmem文件:新建的虛擬機,VMWare會默認為其創建一個虛擬內存文件.VMEM, 這個文件會影響系統的磁盤性能,所以最好關閉它。該當是找到.vmx文件,在文件最后加入一行
mainMem.useNamedFile = "FALSE", 重新啟動虛擬機,虛擬內存文件就沒有了。 -
進黑蘋果后首先創建root賬戶,動不動就沒權限還玩個鳥:
sudo passwd root,最好用戶名、密碼、root密碼都統一成用戶名,真正的永不忘記。 -
分辨率異常,不能全屏:重裝VMsvga2工具搞定,工具的下載地址:https://sourceforge.net/projects/vmsvga2/ ,可以在黑蘋果里直接下載安裝,裝完重啟客戶機,如果顯示有異常,修改一下設置:查看 - 自動調整大小 - 自動適應客戶機。
End.
以下內容為VirtualBox安裝High Sierra 10.13
以下內容已過時,留着可用於先安裝老版本macos,然后在虛擬機里面下載新版本系統
環境
- 時間:2018.04.09,沒有指明時間的教程都是耍流氓
- 筆記本:某州優雅A460P-i7G D2,4G內存,Intel Core i7-2670QM四核八線程(老筆記本勉強能用),ssd硬盤,win7系統。
- VirtualBox:5.2.8 (目前最新版本)
- MacOS:macOS High Sierra 10.13.iso,
最新版的iso沒找到,(fuck 不能看 沙雕一樣)https://blog.csdn.net/icarus666/article/details/79536388中下載的鏡像
2019-4-18 更新
已成功安裝xcode 9.2。

另外我電腦已經升級到了win10,虛擬機是以前創建的,VirtualBox升級為6.0.2。
共享文件
Oracle VM VirtualBox does not provide Guest Additions for Mac OS X at this time.
VirtualBox目前不為Mac OS X提供Guest Additions(參考此文檔),沒法通過自身的共享文件夾功能來共享;但可以通過windows設置共享文件夾共享文件,mac內用smb://電腦ip來訪問。
修改分辨率
參考此文檔 ,只能使用列表里面的分辨率;如果使用其他值,下次打開還是默認的1024x768。
cmd:
VBoxManage setextradata "VM name" "VBoxInternal2/EfiGraphicsResolution" "1280x720"
或者直接改vbox文件:
<ExtraDataItem name="VBoxInternal2/EfiGraphicsResolution" value="1280x720"/>
創建虛擬機
可以參考
https://www.cnblogs.com/ios9/p/7519302.html提供的安裝方法安裝
基本上按VirtualBox默認設置創建虛擬機就可以了,我反復安裝了好多遍,把cpu、內存、顯存調一下基本上什么要設置的,系統類型隨便選,好像選成Windows也無所謂。重點在下面設定虛擬機的一些參數,其實可以通過修改虛擬機vbox文件來實現,后面有講:
MacOS10.13是虛擬機的名字
cd "C:\Program Files\Oracle\VirtualBox\"
VBoxManage setextradata "MacOS10.13" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3"
VBoxManage setextradata "MacOS10.13" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
VBoxManage setextradata "MacOS10.13" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple"
VBoxManage setextradata "MacOS10.13" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
VBoxManage setextradata "MacOS10.13" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1
沒有用modifyvm "MacOS" --cpuidset這個命令,不影響mac系統啟動(安裝系統影不影響沒有測試),加了這個命令會影響PE光盤系統啟動。
安裝系統
虛擬機掛載iso系統鏡像文件,啟動虛擬機,如果沒問題就能正常安裝系統了,不行多重啟幾次試試,如果確實進不了mac安裝界面就不清楚了(以前試的一直進不了安裝界面就放棄了)。簡單設置系統安裝完成

正在下xcode9.3,后來發現,10.13系統過時了不支持,麻蛋
kernel_task占用cpu問題
使用過程中發現kernel_task這貨瘋狂占用cpu,按照https://blog.csdn.net/liumx2007/article/details/77164795的方法把文件干掉,就稍微好點了

干系統文件需要進入Recovery模式執行csrutil disable才能更改文件,10.12系統VirtualBox可以直接進入Recovery模式(可惜apple configurator 2不支持這個系統,下老版本也沒找到門路),10.13就一直卡在IOConsoleUsers: gIOScreenLockState 3, hs 0, bs 0 now這里,不知道怎么回事,不能改系統文件就像手機不能root一樣用起來不舒服。
如何進Recovery,虛擬機啟動時按住windows徽標這個鍵+R,進不了就反復右Ctrl+R重啟、windows徽標+R。



10.13進入不了就算了!用PE總行吧,下載了U盤啟動制作工具,不做U盤,只生成ISO啟動文件,這個比較簡單。然后:
0. 設置一下虛擬機把系統里面的啟用EFI特性去掉(搞完了恢復過來)
0. 打開虛擬機vbox文件(在C:\Users\Administrator\VirtualBox VMs\里面),把ExtraData中的VBoxInternal/Devices/efi/0/Config5行刪掉(搞完了要恢復,不然mac沒法啟動),其實這幾行就是上面的命令行設置的
0. 然后虛擬機掛載PE啟動盤
0. 啟動虛擬機進入PE干掉需要干掉的文件(如果啟動不了PE說不定是執行了modifyvm "MacOS" --cpuidset)。


順帶需要干掉的文件
后來發現mds_stores也占用cpu,參考https://blog.csdn.net/tgbtgb/article/details/51329621 PE里面直接干掉文件。
這個世界安靜了,雖然kernel_task使用的cpu還是有點多,不過好多了:

使用
xcode沒有裝,前幾天用10.12裝了一下8.幾的,安裝不了,一直卡住,就放棄了。
apple configurator 2裝了試了一下,能在AppStore里下載安裝,就是打開有點問題,不過不影響我要使用的功能:


