Opencore Legacy (傳統(tǒng))BIOS 安裝黑蘋果呢灶,目前最好的方式就是在有蘋果系統(tǒng)的環(huán)境下來實(shí)現(xiàn)曾雕,比較簡單和措,就我個(gè)人的經(jīng)驗(yàn)來看的話,制作黑蘋果啟動(dòng)U盤蜕煌,無論是windows派阱,linux,還是MacOS下都差不多斜纪,關(guān)鍵是要把Boot文件寫入啟動(dòng)U盤在MacOS下最方便贫母,就一個(gè)BootInsatll.command就搞定了。這個(gè)Python寫的小程序盒刚,能把Boot文件寫入啟動(dòng)U盤腺劣,然后OpenCore支持DuetPkg,DuetPkg是一個(gè)用來模擬UEFI環(huán)境的因块,這樣一來就可以滿足MacOS的啟動(dòng)要求了橘原。
經(jīng)過多次閱讀官網(wǎng)教程才明白,為什么有Mac OS系統(tǒng)環(huán)境最方便,因?yàn)樵贛as OS環(huán)境下使用Creatinstallmedia命令制作的啟動(dòng)U盤是完整的安裝鏡像趾断,可以離線安裝拒名,在linux或Windows下制作的啟動(dòng)盤,還需要聯(lián)網(wǎng)下載部份安裝包才能完成安裝芋酌。
我本人是一個(gè)系統(tǒng)三棲者增显,辦公電腦是windows系統(tǒng),另外虛擬機(jī)里面有一個(gè)黑蘋果系統(tǒng)脐帝,家里的電腦有一臺是Deepin系統(tǒng)同云。所以看了官網(wǎng)指導(dǎo)之后,我挨個(gè)試了一個(gè)遍堵腹,都能成功的制作黑蘋果啟動(dòng)U盤炸站。
第一步,下載opencore的最新版本秸滴,官網(wǎng)下載或者是國內(nèi)的百度找地下載武契。
第二步,下載gibMacOS-master荡含,從它提供的地方(其實(shí)也是直接從蘋果公司的服務(wù)器上下載的咒唆,這里是一個(gè)灰色地帶,有一定的法律風(fēng)險(xiǎn))下載合適的MacOS系統(tǒng)版本释液,windows點(diǎn)擊gibMacOS.bat全释,就開始下載了,下載成功之后會生成一個(gè)macOS Downloads文件夾误债,里面有下好的系統(tǒng)浸船,然后這個(gè)程序會自動(dòng)啟動(dòng)它的另外一個(gè)安裝程序MakeInstall.bat,把下載好的系統(tǒng)寫入到U盤寝蹈。這里有個(gè)坑李命,如果你覺得哪里不對勁,要重新來一遍箫老,往往就會直接點(diǎn)gibMacOS.bat封字,然后程序又會傻傻地給下載一遍系統(tǒng),你又傻傻地等程序下載并寫入U(xiǎn)盤耍鬓,這個(gè)過程阔籽,網(wǎng)速快的話,像我的100M光纖牲蜀,前后得20分種笆制,如果是慢的話,就不知道了涣达。所以在辆,只有你下載過系統(tǒng)了证薇,下次想重新制作啟動(dòng)U盤,又不用換系統(tǒng)版本的話开缎,就直接用管理員身份運(yùn)行MakeInstall.bat就行了棕叫。類Unix系統(tǒng)下,用BuildmacOSInstallApp.command這個(gè)小程序奕删。另外一個(gè)坑俺泣,就是在Windows下或linux下有多版本的Python的,一定要先把環(huán)境變量給整清楚了完残,不然是沒法運(yùn)行這個(gè)程序的伏钠。
關(guān)于U盤分區(qū)的操作,在Windows環(huán)意下谨设,可以提前用DiskGenius弄熟掂,也可以讓這個(gè)小程序來幫你弄。比方說你輸入1G扎拣,就幫你格式化成GPT格式的磁盤類型赴肚。然后回到主菜單再次輸入1O,就開始寫入系統(tǒng)了二蓝。提前用DiskGenius分好區(qū)的誉券,直接就開始輸入1O寫入系統(tǒng)。在Mac OS環(huán)境下刊愚,用系統(tǒng)自帶的磁盤工具踊跟,把U盤格式化成GPT分區(qū)的日志性文件系統(tǒng)就可以了。GUID分區(qū)方案會自動(dòng)的創(chuàng)建一個(gè)隱藏的EFI分區(qū)和一個(gè)用來寫入系統(tǒng)鏡像的可讀寫分區(qū)鸥诽。
第三步商玫,就是開始設(shè)置啟動(dòng)U盤的EFI分區(qū)了,主要就是把opencore的EFI文件夾的文件給復(fù)制到EFI分區(qū)下的EFI文件夾牡借,然后去蕪存菁拳昌。
這里有個(gè)難點(diǎn),就是怎么把EFI分區(qū)掛載到你使用的系統(tǒng)上面來钠龙?
這個(gè)還得看你前面幾步是在什么系統(tǒng)下操作的地回,不同的系統(tǒng)下操作的結(jié)果是不同的,在linux下制作的U盤掛到windows下面EFI分區(qū)是可見的俊鱼,也可以寫入,MacOS系統(tǒng)下制作的啟動(dòng)U盤的EFI分區(qū)在哪個(gè)系統(tǒng)下都不可見畅买,在MacOS系統(tǒng)下需要用到另一個(gè)小程序MountEFI來掛載EFI分區(qū)實(shí)現(xiàn)讀寫該分區(qū)并闲,在linux系統(tǒng)下,就直接用mount命令來掛載谷羞,windows下最麻煩帝火。
Windows下面后面在網(wǎng)上看到了一個(gè)還算不是特別麻煩的操作溜徙,用DiskGenius和系統(tǒng)自帶的PowerShell配合就可以完成對EFI分區(qū)的讀寫,就是操作起來相對麻煩一點(diǎn)犀填。首先蠢壹,用DiskGenius給U盤的EFI分區(qū)分配一個(gè)盤符,然后在Win7或Win10系統(tǒng)中九巡,在Windows徽標(biāo)圖案上點(diǎn)右鍵图贸,在彈出菜單中左鍵點(diǎn)擊Windows PowerShell(管理員)(A),打開PowerShell冕广,輸入notepad疏日,打開記事本,命令行的文件>打開>U盤EFI分區(qū)特定目錄撒汉,在這里就可以進(jìn)行讀寫操作了沟优,要寫入文件,就直接拖放或復(fù)制粘貼就行睬辐,讀寫Plist配置文件時(shí)挠阁,要注意文件格式要從默認(rèn)的<文本文檔*.text>改成<所有文件*.*>,不然看不見plist文件溯饵,看見plist文件后侵俗,不能直接用記事本的打開命令,而是先選中plist文件瓣喊,然后右鍵打開坡慌,用之前下載的ProperTree-master打開編輯,完成后保存藻三,退出洪橘,記得彈出一下U盤,如果沒有撤消分配盤符的話棵帽,下次插入U(xiǎn)盤就不用做分配盤符這個(gè)動(dòng)作了熄求,直接用PowerShell打開記事本就可以進(jìn)行讀寫操作了。
第四步逗概,重中之重弟晚,配置opencore的配置文件config.plist, 這里有個(gè)小技巧,去https://opencore.slowgeek.com/這個(gè)網(wǎng)站檢查一下你的配置文件是否健全逾苫。默認(rèn)的配置文件大概率會碰到找不到MacOS分區(qū)卿城,安裝界面是俄文之類的問題,官網(wǎng)的故障大全里都有铅搓。雖然網(wǎng)上的文章都是在大篇幅的簡紹這個(gè)瑟押,我認(rèn)為看官網(wǎng)指導(dǎo)足夠了,然后再用opencore plist健全檢查器網(wǎng)站幫助檢查一下星掰,跑起opencore引導(dǎo)基本上沒什么問題多望。plist文件編輯器就用官網(wǎng)推薦的ProperTree-master吧嫩舟,其他的跟不上opencore的版本會出錯(cuò)。然后就是用GenSMBIOS-master生成macos的主板序列號及機(jī)型怀偷,這個(gè)就是所謂的三碼家厌,這個(gè)程序可以將三碼生成后直接寫入config.plist文件進(jìn)行更新,省去手動(dòng)編輯的麻煩椎工。
第五步饭于,定制你自己的SSDT,使用SSDTTime-master晋渺。這里又有一個(gè)坑镰绎,如果你沒有看我上一篇文章,把hosts文件添加一些DNS記錄進(jìn)去木西,會卡在 Downloading iasl-win-20200528.zip這里畴栖,去github上下載好這個(gè)zip文件,然后解壓到Scripts文件夾里面八千,要能在Scripts文件夾下面看到iasl.exe這個(gè)文件吗讶,要是解壓了一個(gè)帶層級的文件夾就不行。搞定這點(diǎn)事后恋捆,先選7照皆,會生成一個(gè)Results文件夾,里面也同時(shí)生成了一個(gè)DSDT.aml文件沸停,按Enter返回主菜單膜毁,繼續(xù)1、2愤钾、4三個(gè)選項(xiàng)挨個(gè)按個(gè)遍瘟滨,3是筆記本的,臺式機(jī)不用能颁。5和6看著硬件的情況走杂瘸,完了,把Results里面的文件夾復(fù)制到U盤的EFI/OC/ACPI文件里面去伙菊,就完成了定制ACPI文件败玉。
你如果覺得SSDTTime-master比較難用,這一步镜硕,可以省略运翼,直接用預(yù)建的幾個(gè)aml文件,在官網(wǎng)下載兴枯,或者在下載下來的opencore文件夾里面有個(gè)Docs文件夾南蹂,里面有個(gè)AcpiSamples文件夾,把SSDT-EC.dsl念恍,SSDT-EC-USBX.dsl六剥,SSDT-EHCx_OFF.dsl,SSDT-PLUG.dsl這個(gè)文件復(fù)制到Opencore的ACPI文件里面去峰伙。請注意疗疟,opencore引導(dǎo)實(shí)際上需要編譯過的aml文件,ACPI內(nèi)建表dsl不需要瞳氓,所有還需要編譯一下剛剛拷貝的幾個(gè)dsl文件策彤,把iasl.exe文件也復(fù)制進(jìn)ACPI文件,然后用管理員身份運(yùn)行cmd匣摘,進(jìn)入ACPI文件夾店诗,運(yùn)行命令:
iasl -d SSDT-EC.dsl SSDT-EC-USBX.dsl SSDT-EHCx_OFF.dsl SSDT-PLUG.dsl
一次性把這個(gè)dsl文件給編譯了,就得到aml文件音榜。
到這一步庞瘸,基本上就大功告成了,可以啟動(dòng)UEFI? BIOS臺式機(jī)了赠叼,但是Legacy BIOS還不行擦囊,還需要進(jìn)到虛擬機(jī)下的蘋果系統(tǒng)里去用BootInsatll.command寫入Boot文件,請注意嘴办,運(yùn)行BootInsatll.command命令得使用sudo瞬场,否則權(quán)限不夠,無法寫入EFI分區(qū)涧郊,不用sudo贯被,程序依然會跑,它界面上看起來好像是在干活妆艘,但是實(shí)際上是沒有寫入的彤灶,去EFI分區(qū)下檢查一下就清楚了,一定要能看到boot文件在才放心双仍。Mac OS系統(tǒng)如果提示說找不到BootInsatll.command文件枢希,就使用以下命令運(yùn)行:
sudo ./BootInstall.command
前提是你cd進(jìn)了OpenCore-0.x.x-RELEASE/Utilities/LegacyBoot目錄
Windows 下面使用Bootice引導(dǎo)修復(fù)小工具來寫入引導(dǎo)文件,在Opencore的LegacyBoot文件夾中朱沃,有三個(gè)文件用得到苞轿,分別是boot0, boot1f32, bootX64(64位系統(tǒng)專用),恢復(fù)MBR分區(qū)記錄選boot0寫入EFI分區(qū)逗物,恢復(fù)PBR分區(qū)記錄選boot1f32寫入系統(tǒng)所在分區(qū)搬卒,最后把bootX64拷貝到EFI分區(qū)并更名為boot,大功告成翎卓。
搞定以后就可以用U盤在舊電腦上啟動(dòng)黑蘋果安裝了契邀。
忘了說了,舊版安裝需要的efi文件略有不同失暴,查看MacOS分區(qū)的驅(qū)動(dòng) 需要換成HfsPlusLegacy.efi, 以及Opencore引導(dǎo)選擇器用到的驅(qū)動(dòng)OpenUsbKbDxe.efi坯门,像我則另外加入了PS2鍵盤的驅(qū)動(dòng)Ps2KeyboardDxe.efi以及UsbMouseDxe.efi這兩個(gè)跟輸入設(shè)備相關(guān)的驅(qū)動(dòng)微饥。