|Guide|製作OC USB Install Disk for Windows

前言:

本教學是針對沒有蘋果電腦的新手,如何在winsows 環境下,自行編輯OC引導文件以及製作macOS 安裝碟的方法。類似的教學文章和影片很多,但繁體中文教學的部分卻是很少,這對新手來說,即為最大的挑戰,也基於此,個人以實際的操作,並以圖文解說的模式,寫下這一篇教學文章,讓大家很快的構建屬於自己的黑蘋果。

社長看過很多的教學文章和影片之後,經過長時間的研究與測試,並整理所有的資訊和需要的文件,並簡化所有製作過程,而寫下以下的教學文章,前後一共有三個部分,分別為 Bios、編輯OC引導文件、製作安裝碟等三步驟。新手只要遵循以下要點,很快的就能製作macOS 安裝碟。

備註:

本教學製作的安裝碟,安裝的過程當中,必須要連網下載 macOS 映像檔,來進行安裝 macOS ,如果自己沒有固線連網的話,而是採用 Wifi 連網的情況下,成功率可能不高,不過,也可以下載完整的 macOS 映像檔安裝包來安裝也是可以。

以下的教學針對 10th/11th 設備使用,若是用戶的設備為可能是 9th 或是以下者,製作方法也可以套用沒問題。唯獨 OC引導文件部分,可以參考 Dortnia 的教學文章。

硬體設備:

  • GA Z490 ELITE AC
  • CPU:i9-10900K
  • RAM:美光DDR4 3200 8GB x2
  • SSD:WD BK SN750 1TB
  • GPU:藍寶石 RX5700 XT
  • EFI:OC 0.7.2、0.7.3 適用
  • OS:適用Catalina、Big Sur、Monterey

這裏要特別要注意的地方是主機板所內建的網路卡、音效卡的晶片型號。我用的是技嘉主機板,所以我從官網該主板型號的內容當中,找到相關資訊。如果你是用ASUS、MSI、ASRock 的主板,也可以嘗試到官網找到相關的資訊!

《|Guide|製作OC USB Install Disk for Windows》
GA Z490 ELITE

網卡:內建Realtek® 2.5GbE 網路晶片 (2.5 Gbit/1 Gbit/100 Mbit)

WiFI:Intel® Wi-Fi AC 9462

音效:內建Realtek® ALC1200晶片

這樣大家就可以找出對應 macOS 驅動程式了。請往下一個章節。

壹、準備工作:

這裡我列出的文件,請大家全數下載到桌面。

其他所需的檔案連結如下,請先下載好,並放在同一資料夾內

工具程式完整包ㄧ:
工具程式完整包二:

Python3.9.7程式碼腳本
RAR 解壓縮程式解壓縮程式。7zip 亦可解壓縮用
OpenCore 引導RELEASE
gibMacOSZIPmacOS 安裝檔下載器
ProperTreeZIPplist 編輯器

KEXT 10th 適用

Lilu.kext
VirtualSMC蘋果仿真器
WhateverGreen.kext顯示卡驅動
AppleALC.kext音效卡驅動
LucyRTL8125Ethernet.kextRealtek 2.5G 網路卡
IntelMausi.kextIntel 網路卡
Intel I225-V以下有說明
FakePCIID.kext連接到任何IOPCIDevice
FakePCIID_Intel_HDMI_Audio.kext用於將Mac不支持的硬件設備仿冒成受支持的設備以開啟原生功能,這裡指的是音效部分
USBInjectAll.kextUSB 驅動

KEXT 9th 以下適用

Realtek (81xx)Realtek 網路卡
AtherosE2200Ethernet.kextAtheros (Killer) 有線網卡

收集文件

尚未開始編輯 OC引導文件時,得先做好以下的準備工作:

ㄧ、更名:

複製 Docs/Sample.plist 移到 EFI/OC/ 資料夾,並更名為 config.plist

二、ACPI資料夾:收集SSDT 修正檔

位置:EFI/OC/ACPI 資料夾

這裡需要幾個 SSDT 來恢復 Clover 提供的功能:

SSDT-PLUG.amlCPU 電源管理。
SSDT-EC-USBX.aml修復了嵌入式控制器和 USB 電源。
SSDT-AWAC.aml10th以後主板採用最新的 AWAC 設備,而影響 macOS 系統啟動,故需要修護 RTC 設備問題。當 SSDT-AWAC.aml 由於缺少 Legacy RTC 時鐘而不兼容時,另替代方案是SSDT-RTC0.aml。
SSDT-RHUB.aml需要修復華碩、MSI 主機板上的根設備錯誤。技嘉和華擎主板並不需要。

檢查 ACPI 資料夾是否有 SSDT-PLUG.aml、SSDT-EC-USBX.aml、SSDT-AWAC.aml、SSDT-RHUB.aml 等修護文件,你可以從 Docs/AcpiSamples/Binaries 資料夾取得,或者是下載 通用版的修護檔SSDT-Install.aml。

三、Drivers 資料夾:啟動核心文件

OpenCanopy.efi、OpenHfsPlus.efi、OpenRuntime.efi

四、Kexts 資料夾:音效、網卡、顯示等驅動文件

AppleALC.kext、FakePCIID_Intel_HDMI_Audio.kextFakePCIID.kext、Lilu.kext、LucyRTL8125Ethernet.kext、SMCProcessor.kext、SMCSuperIO.kext、USBInjectAll.kext、VirtualSMC.kext、WhateverGreen.kext、XHCI-unsupported.kext

五、Tools 資料夾:修護工具腳本

CleanNvram.efi、ResetSystem.efi

請確認以上收集主板所必須的文件是否已放入各自的資料夾之後,接下來就開始編輯 canfig.plist 。

貳、編輯 config.plist

下載 python 工具軟體並執行後,先不要關閉視窗,點一下DIsable path length limit,這樣你在編輯時,才不會出錯。

《|Guide|製作OC USB Install Disk for Windows》

再開啟 plist 編輯器 ProperTree ,點選 ProperTree.bat , 一下從 開啟 EFI/OC/config.plist 文件。如圖:點選 #WARNING 系列資訊反白後,直接按 DEL 刪除。.

《|Guide|製作OC USB Install Disk for Windows》
config.plist

加載文件:

把收集好的必須文件,全數加載在 config.plist 文件上。同時刪除原本已內建加載的『資訊』。這個動作可以省去分別加載SSDT文件、Kext 文件、OC 核心文件。

《|Guide|製作OC USB Install Disk for Windows》

選擇 EFI/OC 資料夾,確認。

《|Guide|製作OC USB Install Disk for Windows》

ㄧ、ACPI

《|Guide|製作OC USB Install Disk for Windows》
ACPI加載SSDT

1-1 Add

確認所有的SSDT 文件都有加載。SSDT-PLUG.aml、SSDT-EC-USBX.aml、SSDT-AWAC.aml、SSDT-RHUB.aml

1-2 Delete:刪除內容。

1-3 Patch:修補 ACPI 的DSDT、SSDT 等文件。這裡暫不動作。

1-4 Quirks:默認值即可。

二、Booter

這是使用 OpenRuntime 文件來修補 boot.efi 相關的問題。

《|Guide|製作OC USB Install Disk for Windows》

2-1 MimoWhitelist

本節允許設備直通到通常被忽略的 macOS,這裡可以跳過。

2-2 Patch

這裡不做修改。

2-3 Quirks

More in-depth Info

  • AvoidRuntimeDefrag: YES
    • 修復 UEFI 運行時服務,如日期、時間、NVRAM、電源控制等。
  • DevirtualiseMmio: YES
    • 減少被盜內存佔用的問題
  • EnableSafeModeSlide: YES
    • 啟用要在安全模式下使用 slide variables 。
  • ProtectUefiServices: YES
    • 保護 UEFI 服務不被 Z490 所需的 firmware 覆蓋。
  • ProvideCustomSlide: YES
    • 用於 Slide 滑動變量計算。啟用這個 Quirks 的必要性,是由 OCABC: Only N/256 slide values are usable!調試日誌中的消息決定的。如果該消息OCABC: All slides are usable! You can disable ProvideCustomSlide!出現在您的日誌中,您可以禁用。
  • RebuildAppleMemoryMap: YES
    • 生成與 macOS 兼容的內存映射,可能會破壞某些筆記本電腦 OEM 固件,因此如果您收到早期啟動失敗,請禁用此功能。
  • SyncRuntimePermissions: YES
    • 修復了與 MAT 表的對齊問題,並且需要使用 MAT 表啟動 Windows 和 Linux,也推薦用於 macOS。主要與 RebuildAppleMemoryMap 用戶相關。

三、DeviceProperties

添加音效、網卡、顯卡等設備的路徑和修正值。

《|Guide|製作OC USB Install Disk for Windows》

3-1 Add

核顯設定:PciRoot(0x0)/Pci(0x2,0x0)

這是通過 WhateverGreen 的 **Framebuffer Patching Guide 設置的,**用來設定 iGPU 屬性。如果您使用帶有-F系列 CPU,無需設定。

AAPL,ig-platform-id 是 macOS 用來確定 iGPU 驅動程序如何與我們的系統交互的值,有兩個值可供選擇,如下所示:

3-1-1 獨顯設定:

無頭幀緩衝區(其中 dGPU 是顯示輸出)。

07009B3E無獨顯專用。
00009B3E若該值不做用,可用 07009B3E 替代 
0300C89B核顯僅計算不驅動。
  • Note::在 macOS 10.15.5 和更新版本中,使用 似乎有很多黑屏問題 07009B3E,如果您遇到類似問題,請嘗試切換到 00009B3E
  • iMac20,1:使用 i5 以下 CPU 使用 0300C89B
  • iMac20,2:使用 i7 以下 CPU 使用 0300C59B

3-1-2 核顯設定:

添加 framebuffer-patch-enable、framebuffer-stolenmem 屬性。第一個啟用通過 WhateverGreen.kext 進行修補,第二個將最小被盜內存設置為 19MB。一般是不需要的,因為在 BIOS 中以設定(推薦 64MB),萬一不起作用時,仍需要加入。

AAPL,ig-platform-idDATA07009B3E
framebuffer-patch-enableDATA01000000
framebuffer-stolenmemDATA00003001

3-1-3 網卡設定:PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)

如果你的主板採用 Intel I225-V 2.5GBe controller 有關,這裡是要欺騙 Apple’s I225LM driver 以便支持主板 I225-V network controller:

device-idDataF2150000
  • **Note:**如果主版沒有 Intel I225 NIC,無需設定。
  • Note 2:如果你遇到 AppleIntelI210Ethernet kext 內核恐慌,改用這個設備路徑 PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x0)
  • 技嘉主板網卡位置 PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x0)

3-1-4 音效卡設定:PciRoot(0x0)/Pci(0x1f,0x3)

layout-id 設定為1

亦可在 boot-argalcid=1來完成。

3**-2 Delete**

刪除內容。

四、Kermel

4-1 Add

這是加載 kext 的部分。這裡我們要調整kext 的順序,否則將無法順利啟動或是安裝系統。請依照以下順序調整。

Lilu.kext
VirtualSMC.kext(仿真器)
WhateverGreen.kext(顯卡)
AppleALC.kext(音頻)
LucyRTL8125Ethernet.kext(網卡)
FakePCIID.kext
FakePCIID_Intel_HDMI_Audio.kext

《|Guide|製作OC USB Install Disk for Windows》

4-2 Block

阻止某些 kexts 加載。無需設定

4-3 Emulate

需要欺騙不受支持的 CPU,幸運的是,在 10.15.5+ Comet Lake S 中添加了支持,因此無需在此處進行欺騙。

4-4 Force

用於從系統卷加載 kext,僅與緩存中不存在某些 kext 的舊操作系統相關(即 10.6 中的 IONetworkingFamily)。對我們來說,可以忽略。

4-5 Patch

Patches both the kernel and kexts.
Fixing I225-V controllers

This entry relates to Intel’s I225-V 2.5GBe controller found on higher end Comet Lake boards, what we’ll be doing here is tricking Apple’s I225LM driver into supporting our I225-V network controller. However, this is only needed on Catalina and Big Sur, up to 11.3.

BaseString__Z18e1000_set_mac_typeP8e1000_hw
CommentStringI225-V patch
CountNumber1
EnabledBooleanTrue
FindDataF2150000
IdentifierStringcom.apple.driver.AppleIntelI210Ethernet
MinKernelString19.0.0
MaxKernelString20.4.0
ReplaceDataF3150000
  • Note 1: If your board didn’t ship with the Intel I225 NIC, there’s no reason to add this entry.
  • Note 2: Leave all other keys at their default values

4-6 Quirks

與內核相關的設定。

《|Guide|製作OC USB Install Disk for Windows》
AppleXcpmCfgLockYes解除 CFG-Lock 
DisableIoMapperYes關閉 VT-D 
PanicNoKextDumpYes
PowerTimeoutKernelPanicYes
XhciPortLimitYes解除 USB 15端口限制,若是運行 macOS 11.3+ 則禁用

4-7 Scheme

與舊版引導相關的設置(即 10.4-10.6),對於大多數人來說,您可以跳過。

五、Misc

這是啟動螢幕的設置。請依照紅線部份啟用。

5-1 Boot

Settings for boot screen (Leave everything as default).

5-2 Debug

《|Guide|製作OC USB Install Disk for Windows》

5-3 Security

安全設定

《|Guide|製作OC USB Install Disk for Windows》
AllowNvramResetYes允許在引導選擇器中和按下時重置 NVRAM
AllowSetDefaultYes允許CTRL+EnterCTRL+Index 並在系統碟中設置默認引導設備
BlacklistAppleUpdateYes
ScanPolicy0安裝用設定值
SecureBootModelDisabled
VaultOptional檔案保險庫設定,這裡不啟用。
  • AllowNvramReset : 是
    • 允許在引導選擇器中和按下時重置 NVRAM Cmd+Opt+P+R
  • AllowSetDefault : 是
    • 允許CTRL+EnterCTRL+Index 並在選擇器中設置默認引導設備
  • ApECID:0
    • 用於收集個性化的安全啟動標識符,目前由於 macOS 安裝程序中的錯誤,此怪癖不可靠,因此我們強烈建議您將其保留為默認值。
  • AuthRestart : 否
    • 為 FileVault 2 啟用經過身份驗證的重新啟動,因此重新啟動時不需要密碼。可以考慮安全風險所以可選
  • BlacklistAppleUpdate : 是
    • 用於阻止固件更新,用作額外級別的保護,因為 macOS Big Sur 不再使用run-efi-updater變量
  • DmgLoading : Signed
    • 確保僅加載已簽名的 DMG
  • ExposeSensitiveData:6
    • 顯示更多調試信息,需要調試版本的 OpenCore
  • Vault:Optional
    • 保險文件酷的設定,這裡不建議使用。一旦啟用可能無法使用此設置啟動安全
    • 建議設定Optional,注意區分大小寫
  • ScanPolicy:0
    • 掃描主機可用的設備。**將此設置為默認值不會啟動 USB 設備,**允許您查看所有可用硬碟和設備。
  • SecureBootModel : Disabled
    • 在 macOS 中控制 Apple 的安全啟動功能,請參閱**安全部分了解更多詳情。
    • 注意:用戶可能會發現在已安裝的系統上升級 OpenCore 會導致過早啟動失敗。

6-4 Tools

加入修護工具。

  1. CleanNvram.efi 清除NVRAM
  2. ResetSystem.efi 重新啟動

六、NARAM

這裡是設定有關OC 目錄和解析度、引導參數的的設定。

《|Guide|製作OC USB Install Disk for Windows》

6-1 Add

6-1-1 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14

用於 OpenCore 的 UI 縮放,默認對我們有用。

DefaultBackgroundColor:boot.efi 使用的背景顏色

  • 00000000: Syrah Black
  • BFBFBF00: Light Gray

UIScale:

  • 01: 標準分辨率
  • 02: HiDPI(通常需要 FileVault 在較小的顯示器上正常運行)如4K 螢幕

6-1-2 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102

OpenCore’s NVRAM GUID, mainly relevant for RTCMemoryFixup users

  • rtc-blacklist: <>
    • 要與 RTCMemoryFixup 結合使用,請參閱此處了解更多信息:修復 RTC 寫入問題
    • 大多數用戶可以忽略此部分

6-1-3 7C436110-AB2A-4BBB-A880-FE41995C9F82

系統完整性保護位掩碼

-v igfxfw=2 igfxonln=1 keepsyms=1 shikigva=80 agdpmod=pikera -lilubetaall

  • General Purpose boot-args:
-v跑碼畫面,以便除進行除錯
debug=0x100進用 macOS’s watchdog ,防止內核崩潰重新啟動。
keepsyms=1這是 debug=0x100 的配套設置,它告訴操作系統也在內核崩潰時打印符號。這可以提供一些關於導致恐慌本身的更有用的見解。
alcid=1AppleALC 設置 layout-id
  • Networking-Specific boot-args:
dk.e1000=0禁用com.apple.DriverKit-AppleEthernetE1000(Apple 的 DEXT 驅動程序)與高端 Comet Lake 板上的 Intel I225-V 以太網控制器匹配,導致加載 Apple 的 I225 kext 驅動程序。 這個引導參數在大多數板上是可選的,因為它們與 DEXT 驅動程序兼容。但是,技嘉和其他幾個板子需要它,只能使用kext驅動程序,因為DEXT驅動程序會導致掛起。 如果您的主板未隨附 I225-V NIC,則您不需要此功能。
  • GPU-Specific boot-args:
agdpmod=pikera用於禁用 Navi GPU(RX 5000 系列)上的板 ID 檢查,否則您將獲得黑屏。如果您沒有 Navi,請不要使用(即 Polaris 和 Vega 卡不應使用此功能)
-wegnoegpu用於禁用除集成 Intel iGPU 之外的所有其他 GPU,對於那些希望運行不支持其 dGPU 的較新版本 macOS 的用戶很有用
  • csr-active-config00000000
    • “系統完整性保護”(SIP) 的設置。通常建議csrutil通過恢復分區更改此設置。
    • csr-active-config 默認設置為00000000啟用系統完整性保護。您可以選擇許多不同的值,但總體而言,我們建議啟用此選項以獲得最佳安全實踐。更多信息可以在我們的故障排除頁面中找到:禁用 SIP
  • run-efi-updaterNo
    • 這用於防止 Apple 的固件更新包安裝和破壞啟動順序;這很重要,因為這些固件更新(適用於 Mac)將不起作用。
  • prev-lang:kbd: <>
    • 設定系統語言,繁體中文 zh-Hant:2
prev-lang:kbdStringzh-Hant:2

6-2 Delete

Info

Forcibly rewrites NVRAM variables, do note that Add will not overwrite values already present in NVRAM so values like boot-args should be left alone. For us, we’ll be changing the following:

LegacyEnableNo允許將 NVRAM 存儲在 nvram.plist 上,這是沒有本機 NVRAM 的系統所需要的
LegacyOverwriteNo允許從 nvram.plist 覆蓋固件變量,只有沒有本機 NVRAM 的系統才需要
LegacySchema用於分配 NVRAM 變量,與 LegacyEnable 設置為 YES 一起使用
WriteFlashYes允許為所有添加的變量寫入閃存。

七、PlatformInfo

這裡是要設定蘋果的機型。

《|Guide|製作OC USB Install Disk for Windows》

使用 CorpNewt 的**GenSMBIOS**應用,設置 SMBIOS 信息。
Comet Lake 有兩個主要的 SMBIOS:

iMac20,1i7-10700K and lower(ie. 8 core and lower)
iMac20,2i9-10850K and higher(ie. 10 core)

執行 GenSMBIOS 工具,選擇選項 1 下載 MacSerial 和選項 3 選擇 SMBIOS。

這將為我們提供類似於以下內容的輸出:

######################################################

iMac20,2 SMBIOS Info

######################################################

Type:         iMac20,2
Serial:       C02FRJYK046M
Board Serial: C02121310GU0000JC
SmUUID:       5622BA2B-6508-4673-882D-2E2CBB9B3BE
Apple ROM:    DC0C5CB0B420

  • Note: MacSerial currently does not support Linux, so you must grab a Windows or macOS machine to generate the values

Type 填入 Generic -> SystemProductName.
Serial 填入 Generic -> SystemSerialNumber.
Board Serial 填入 Generic -> MLB
SmUUID 填入 Generic -> SystemUUID.

注意: Generic -> ROM 設置為 Apple ROM(從真正的 Mac 轉儲),默認值為11223300 0000,安裝後在進入系統裡者出網卡 NIC MAC 地址或任何的 MAC 地址填入即可。

提醒:如何得知生成的序號是否有效?透過查詢查詢蘋果產品保固網頁,就可以知道“序列號無效”或“購買日期未驗證”。

Automatic: YES

  • 基於 Generic 部分而不是 DataHub、NVRAM 和 SMBIOS 部分生成 PlatformInfo

八、UEFI

ConnectDrivers: YES

  • 強制 .efi 驅動程序,更改為 NO 將自動連接添加的 UEFI 驅動程序。這可以使啟動稍微快一點,但並非所有驅動程序都會自行連接。例如,某些文件系統驅動程序可能無法加載。
《|Guide|製作OC USB Install Disk for Windows》

8-1 APFS

關於 APFS 驅動程序加載器設置,我們將更改以下內容:

MinDate-1Catalina 以下的系統使用
MinVersion-1Catalina 以下的系統使用

8-2 AppleInput
無需更動

8-3 Audio
啟用開機聲、音頻設備指定路徑、音量大小。助理不設定。

8-4 Drivers
加載啟動核心文件。裏面至少有:

  • OpenRuntime.efi
  • OpenHfsPlus.efi
  • OpenCanopy.efi
  • AudioDxe.efi

請依照順序排列。否則開機會有問題。

8-4 Input
無需更動

8-5 Output
無需更動

8-6 ProtocolOverrides
無需更動

8-7 Quirks
這里只要注意你的CFG 是否有解鎖。
IgnorelnvalidFlexRatio. CFG 未解鎖『Yes』

8-8 ReservedMemory

無需更動,最後完工存檔。

參、製作安裝碟

開啟 gibMacOS/MakeInstall.bat windows批次檔
選擇 USB 安裝碟 編號 :2
格式化 GPT 格式 :G
再輸入端填入:2G

Please select a disk or press [enter] with no options to refresh:2G

終端機會自動把 USB 隨身碟格式化,等待下一步安裝映像檔的動作。如下圖,選擇 y

《|Guide|製作OC USB Install Disk for Windows》

下圖則是告訴你貼上恢復鏡像檔的路徑。

《|Guide|製作OC USB Install Disk for Windows》

下載 macOS 恢復鏡像檔:

開啟 gibMacOS/gibMacOS.bat windows批次檔,如下圖
再輸入端鍵入:R
R. Toggle Recovery-Only (Currently Off)

這裡看到的都是升級檔和鏡像檔,這裡我們就選擇 11. macOS Catalina 10.15.7 (19h15)

輸入端鍵入:11

《|Guide|製作OC USB Install Disk for Windows》

這個時候終端就開始下載約 500MB 的 macOS 恢復鏡像檔,同時也出現路徑:

C:\Users\SKY\Desktop\gibMacOS-master\macOS Downloads\publicrelease\001-68446 – 10.15.7 macOS Catalina

我們把該路徑完整的複製起來,

《|Guide|製作OC USB Install Disk for Windows》

終端機開始複製檔案到 USB 隨身碟

《|Guide|製作OC USB Install Disk for Windows》

複製完後,出現以下畫面,代表已經成功了。

《|Guide|製作OC USB Install Disk for Windows》

肆、BIOS 設定

BIOS是什麼?

《|Guide|製作OC USB Install Disk for Windows》

BIOS是個程序,存儲在主機板的BIOS晶片中。BIOS用於計算機硬體自檢、CMOS設置、引導作業系統啟動、提供硬件I/O、硬體中斷等4項主要功能,因此BIOS程序主要有Boot Block引導模塊、CMOS設置模塊、擴展配置數據(ESCD)模塊、DMI收集硬件數據模塊,其中引導模塊直接負責執行BIOS程序本身入口、計算機基本硬件的檢測和初始化,ESCD用於BIOS與OS交換硬件配置數據,DMI則充當了硬件管理工具和系統層之間接口的角色,通過DMI,用戶可以直觀地獲得硬件的任何信息,CMOS設置模塊就是實現對硬件信息進行設置,並保存在CMOS中,是除了啟動初始化以外BIOS程序最常用的功能。

當按下電源開關時,電源就開始向主板和其他設備供電,由主板北橋向CPU發復位信號,對CPU初始化;穩定電壓後復位信號便停止。當電壓穩定後,CPU便在系統BIOS保留的內存地址處執行跳轉BIOS起始處指令,開始執行POST自檢。

在POST自檢中,BIOS只檢查系統的必要核心硬體是否有問題,主要是CPU、640K基本內存、顯卡是否正常,PS/2鍵盤控制器、系統時鐘是否有錯誤等等。由於POST檢查在顯卡初始化以前,因此在這個階段如發生錯誤,是無法在屏幕上顯示的,不過主板上還有個報警揚聲器,而且如果主板的8255外圍可編程接口晶片沒有損壞的話,POST報警聲音一定是會出來的。可以根據報警聲的不同大致判斷錯誤所在,一般情況下,一聲短「嘀」聲基本代表正常啟動,不同的錯誤則是不同的短「嘀」聲和長「嘀」聲組合。POST自檢結束後,BIOS開始調用中斷完成各種硬件初始化工作。

EFI是什麼?

是Extensible Firmware Interface的詞頭縮寫,由Intel 所創,直譯過來就是『可擴展固件接口』,它是用模塊化、高級語言(主要是C語言)構建的一個小型化系統,它和BIOS一樣,主要在啟動過程中完成硬件初始化,但它是直接利用加載EFI驅動的方式,識別系統硬體並完成硬體初始化,徹底摒棄讀各種中斷執行。EFI完全是32位或64位,在EFI中就可以實現處理器的最大尋址,因此可以在任何內存地址存放任何信息。

UEFI是什麼?

《|Guide|製作OC USB Install Disk for Windows》

在新的主機板看到花花綠綠酷炫的圖形化介面,以及可以用滑鼠鍵盤操作的”BIOS”畫面,就是UEFI介面。(但是也有類似BIOS文字介面的UEFI哦!)即使你的PC使用術語“BIOS”,你今天購買的新型電腦或主機板肯定會附帶UEFI韌體而不是BIOS。而UEFI對於一般使用者來說最顯著的就是開機速度明顯提升!

《|Guide|製作OC USB Install Disk for Windows》

當EFI發展到1.1的時候,英特爾決定把EFI交給了Unified EFI Form的國際組織,後續也稱為UEFI,UEFI,其中的EFI和原來是一個意思,U則是Unified(一元化、統一)的縮寫,所以UEFI的意思就是「統一的可擴展固件接口」,與前身EFI相比,UEFI主要有以下改進:

首先,UEFI具有完整的圖形驅動功能,完整的圖形驅動,無論是PS/2還是USB鍵盤和鼠標,UEFI一律是支持的。

安全啟動
安全啟動(Secure Boot),實際上通俗的解釋是叫做韌體驗證。開啟UEFI的安全啟動後,主板會根據TPM晶片(或者CPU內置的TPM)記錄的硬體簽名對各硬體判斷,只有符合認證的硬體驅動才會被加載,而Win8以後的作業系統加載的過程中對硬體驅動繼續查簽名,凡符合Windows記錄的硬體才能被Windows加載,據說這是防止駭客入侵所設下的機制,相對地也會造成系統安裝變得壟斷。最後這項也有選擇項,讓用戶是否開啟或是關閉。

GPT 是什麼?

伴隨著EFI,一種全新的GUID磁盤分區系統(GPT)被引入支持,傳統MBR磁盤只能存在4個主分區,只有在創建主分區不足4個時,可以建立一個擴展分區,再在其上建立被系統識別的邏輯分區,邏輯分區也是有數量的,太多的邏輯分區會嚴重影響系統啟動,MBR硬盤分區最大僅支持2T容量,對於現在的大容量硬盤來說也是浪費。GPT支持任意多的分區,每個分區大小原則上是無限制的,但實際上受到OS的規定限制不能做到無限,不過比MBR的2T限制是非常重要的進步。GPT的分區類型由GUID表唯一指定,基本不可能出現重複,其中的EFI系統分區可以被EFI存取,用來存取部分驅動和應用程式,雖然這原則上會使EFI系統分區變得不安全,但是一般這裏放置的都是些「邊緣」數據,即使其被破壞,一般也不會造成嚴重後果,而且也能夠簡單的恢復回來。

CSM是什麼?

《|Guide|製作OC USB Install Disk for Windows》

CSM: Compatibility Support Module相容性支援模組,主機板改進到UEFI之後,那沒有支援UEFI的顯示卡,硬碟等等硬體怎麼辦呢?這時就需要CSM的出現,他是在UEFI淘汰掉BIOS中的過度功能,模擬傳統BIOS。也就是說在UEFI架構下,透過CSM模擬BIOS來相容只支援BIOS開機的裝置。也稱為Legacy模式、LegacyMode、Legacy BIOS。所以如果要安裝純UEFI也就是將CSM給關閉(Disable)。

BIOS與UEFI 之間的差異

無論EFI還是UEFI,都必須要有預加載環境、驅動執行環境、驅動程序等必要部分組成,為了支持部分舊設備(如在UEFI下掛載傳統MBR硬碟,不支持UEFI啟動的顯卡在UEFI下仍然支持運行等),新增了一個CSM兼容性支持模塊。而EFI或UEFI都是僅支持GPT磁盤引導系統的。蘋果就是採用這樣的硬碟格式。

BIOS先要對CPU初始化,然後跳轉到BIOS啟動處進行POST自檢,若過程如有嚴重錯誤,則電腦會用不同的報警聲音提醒,接下來採用讀中斷的方式加載各種硬體,完成硬件初始化後進入作業系統啟動過程。而UEFI則是運行預加載環境先直接初始化CPU和內存,其後啟動PXE採用枚舉方式搜索各種硬件並加載驅動,完成硬體初始化,之後同樣進入作業系統啟動過程。

一、ACPI是什麼?ACPI其實是一種電源管理標準,ACPI是Advanced Configuration and Power Interface的首字母縮寫,一般翻譯成高階電源管理,是Intel、Microsoft和東芝共同開發的一種電源管理標準。

ACPI是什麼?

《|Guide|製作OC USB Install Disk for Windows》

ACPI (Advanced Configuration and Power Interface),故名思義是對硬體的電源管理和設定的介面。它是由Intel、Microsoft、Phoenix、Toshiba等不同領域的製造商所訂定,它的目的就是讓OS可以對hardware做以上的動作。它的架構主要都在BIOS階段會建立起來,所以我們必須熟悉這本ACPI spec, 目前最新的版本是6.3。

ACPI既不是軟體的spec,也不是硬體的spec,它包括了軟體和硬體的元素,目的上面也說過,它是讓OS可以對Hardware做電源管理和設定的介面。如圖紅色部分就是ACPI的範圍:

ACPI可以做的事情很多,大致可分為十大類:

System power management: 整個系統的電源管理:
ACPI定義了許多Sleep狀態,如S1、S3、S4、S5等,可以在Sleep狀態被Device喚醒,Sleep狀態數字愈高表示睡得越深、耗的電量越少,需要被喚醒的時間也越長。

Device power management: 週邊裝置的電源管理:
ACPI定義D0、D1、D2、D3…,數字越大表示耗電量越少,D0表示週邊裝置運作中。ACPI Table也定義了週邊裝置的相關電源控制,可以在OS端透過AP將週邊裝置設定較省電的模式。

Processor power management: 處理器的電源管理:
ACPI定義了當CPU不在Sleep狀態時且閒置時,可以進入low power 狀態,也就是C State,數字越大表示越省電,C0表示運作中。

Device and processor performance management:週邊裝置和處理器的效能管理:
ACPI定義為當CPU和設備在動作的時候(C0或D0),做改變效能的動作,這裡指的是P State,它的狀態改變會影響運作的效能,通常是降頻來動作,也可以達到省電的功能。

介紹完四個功能,發現了許多狀態,這是屬於Power State的部份,下面以G State圖表示可以看得更清楚。G0表示系統在工作中,G1為Sleeping, G2為soft off (S5), G3為Mech off(電源斷開).

《|Guide|製作OC USB Install Disk for Windows》

Configuration / Plug and Play: 組態和隨插即用:
ACPI提供了介面讓OSPM可以把資源在插入和移除之間做組態。這些組態將定義在DSDT和SSDT中,它將有一個ID來代表它的Device.

System Event: 糸統事件:
ACPI定義了通用的事件模組,如Plug and Ply、Power management、Thermal 等。當系統事件發生時,core logic會設定一個bit在Status Register中來表示事件發生,如果對應的Bit在enable register 被設定,那麼會發出SCI來告訴OS. 當OS 收到SCI事件時,它會去找該事件所對應的control method. 這些control method會以AML的方式告訴OS做什麼事,我們則要用ASL來撰寫它。

Battery management: 電池管理:
支援ACPI的電池裝置它是透過OS且以EC來控制,或者由電池的control method來控制。這邊的control method也是由ASL來實作它。

Thermal management: 熱的管理:
對於Device的熱管理也是在ACPI定義的範圍,它提供了簡單的、可調整的模組來給OEM定義其Thermal zone、Thermal indicator和method for cooling thermal zones.

Embedded Controller: ACPI:
定義了標凖的硬體的和軟體的溝通介面給OS bus enumerator和EC之間來做溝通,也就是說可以由Driver來存取EC的資源,讓OEM可以提供platform features給OS的AP使用。

SMBus Controller: ACPI:
定義了標凖的硬體的和軟體的溝通介面給OS bus enumerator和SMBus Controller之間來做溝通,也就是說可以由Driver來存取SMBus device的資源,讓OEM可以提供platform features給OS的AP使用。

在計算機應用平台,ACPI 越來越重要。ACPI由很多表組成,包括:RSDP,SDTH,RSDT,FADT,FACS,其中DSDT 包含了所有和基本系統(basesystem)不同的設備的信息,basesystem 每台機器都是一樣的,這個是在acpispec 裡指定的,但是每台機器都是不相同的,所以不相同的設備大都是由DSDT 表來描述。它包含了很多AML代碼。大多數BIOS 是針對windows 開發的,而windows 自己也不完全遵循acpi 規範,所以因為BIOS 的bug,這些代碼本身可能有錯,導致其他的系統,如linux,mac os 出錯。

Mac OS X不完整支持ACPI規範,僅支持它的子集DSDT對於非蘋果電腦,要使用上盡可能完美的OS X系統,可以說修改DSDT是最有效的方法。

DSDT 是The Differentiated System Description Table 的簡寫。字面上就可以知道它是一個ACPI描述系統不同信息的表。它包含了所有除基本系統以外所有不同設備的信息,也就是 DSDT 表代碼為ACPI Machine Language (AML)。用戶通過修改DSDT可以得到更好的硬件支持,最簡單的理解就是DSDT是描述硬件的。修改DSDT 的主要目的就是讓mac系統識別存在這個硬件並告訴mac 系統你的硬件位置,以便讓mac 系統內置的驅動來驅動硬體工作。這裡往後再來詳述吧!

五、結論:

所以主機板使用UEFI不僅可以擴展更多硬體設備達到最佳化,不僅開機速度快,同時也減少了開機等待的時間。打從蘋果採用Intel CPU x86 架構以後,對自家的硬體也是採用這樣UEFI的規格。

以上的簡易說明,大家可以明白蘋果在自家的電腦應上,採用何種規格與技術,那麼接下來UEFI SET 就非常的簡單多了,只要模擬蘋果電腦所需要的環境,那麼安裝黑蘋果就不是一件困難的事情了。以下的設置是根據主機板UEFI 選項來設定,這也可以套用其他不同品牌的主板來設定唷。

Disable

  • Fast Boot
  • Secure Boot
  • Serial/COM Port
  • Parallel Port
  • VT-d (can be enabled if you set DisableIoMapper to YES)
  • CSM
  • Thunderbolt(For initial install, as Thunderbolt can cause issues if not setup correctly)
  • Intel SGX
  • Intel Platform Trust
  • CFG Lock (MSR 0xE2 write protection)(This must be off, if you can’t find the option then enable AppleXcpmCfgLock under Kernel -> Quirks. Your hack will not boot with CFG-Lock enabled)

Enable

  • VT-x
  • Above 4G decoding
    • 2020+ BIOS Notes: When enabling Above4G, Resizable BAR Support may become an available on some Z490 and newer motherboards. Please ensure this is Disabled instead of set to Auto.
  • Hyper-Threading
  • Execute Disable Bit
  • EHCI/XHCI Hand-off
  • OS type: Windows 8.1/10 UEFI Mode
  • DVMT Pre-Allocated(iGPU Memory): 64MB
  • SATA Mode: AHC

et BIOS settings as follows (what worked for me):

CFG-Lock: Disabled
Super IO Serial Port: Disabled
VT-d: Disabled
CSM Support: Enabled
XHCI Hand-Off: Enabled
Legacy USB Support: Disabled
Network Stack: Disabled
XMP: Profile 1: Enabled
UEFI Booting: Enabled
Secure Boot: Disabled
Fast Boot: Disabled
OS Type: Other
Platform Power Management: Enabled
AC BACK: Always On
Power On By Keyboard: Disabled
Power On By Mouse: Disabled
ErP: Disabled
Initial Display Output: IGFX
Internal Graphics: Enabled
DVMT Pre-Allocated: 64M
DVMT Total Gfx Mem: MAX
IO APIC 24-119 Entries: Enabled
Security Device Support: Disabled
Intel Platform Trust Technology (PTT): Disabled

5) Save and Exit

暫無評論

發怖評論 編輯評論


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇