# Máy tính bàn Haswell and Broadwell
Hỗ trợ | Phiên bản |
---|---|
Phiên bản macOS đầu tiên được hỗ trợ | OS X 10.8, Mountain Lion |
# Bắt đầu
Làm file config.plist trông có vẻ khó, nhưng thật ra không. Nó chỉ mất thời gian thôi nhưng bài hướng dẫn này sẽ giúp bạn cấu hình mọi thứ. Điều này cũng có nghĩa là nếu như bạn có vấn đề, hay xem lại file config để chắc chắn rằng bạn đã làm đúng. Những điều cần chú ý với OpenCore:
- **Mọi thuộc tính đều phải được đặt, OpenCore không có tùy chọn mặc định nên đừng xóa phần nào trừ khi được nhắc đến. Nếu bài hướng dẫn không nhắc đến tùy chọn đó, để yên nó như vậy
- file sample.plist không thể được dùng nguyên trạng, bạn phải chỉnh sửa nó cho máy tính của bạn
- ĐỪNG DÙNG CONFIGURATORS, chúng hiếm khi quan tâm đến các cấu hình của OpenCore và một số như của Mackie sẽ thêm các thuộc tính của Clover làm lỗi file plist
Với tất cả những điều trên, một lời nhắc nhở về những thứ mà chúng ta cần:
- ProperTree (opens new window)
- Phần mềm edit file plist
- GenSMBIOS (opens new window)
- Dùng để tạo dữ liệu SMBIOS
- Sample/config.plist (opens new window)
- Xem phần trước để biết cách lấy: config.plist Setup
Đọc phần này nhiều hơn một lần trước khi thiết lập OpenCore và chắc chắn rằng bạn đã làm đúng. Nên nhớ rằng các hình ảnh không phải lúc nào cũng được cập nhật nên xin hay đọc phần chữ ở bên dưới, nếu không được nhắc đến thì hãy để như mặc định
# ACPI
# Add
Thông tin
Đây là nơi mà bạn sẽ thêm các SSDT cho máy bạn, chúng rất quan trọng để có thể boot được vào macOS và có nhiều chức năng như để map USB (opens new window), tắt GPU rời, ... Và trong trường hợp của chúng ta, cần phải có SSDT mới có thể boot được. Hướng dẫn cách tạo SSDT ở đây: Bắt đầu với ACPI (opens new window)
Chúng ta cần một vài SSDT để mang lại các chức năng mà Clover có sẵn:
SSDT_Cần_thiết | Mô tả |
---|---|
SSDT-PLUG (opens new window) | Cho phép quản lí điện năng trên các dòng chip Haswell hoặc mới hơn, xem Hướng dẫn bắt đầu với ACPI (opens new window) để biết thêm chi tiết. |
SSDT-EC (opens new window) | Sửa bộ điều khiển tích hợp, xem Hướng dẫn bắt đầu với ACPI (opens new window) để biết thêm chi tiết. |
Lưu ý là bạn không nên thêm file DSDT.aml vào đây, nó đã có sẵn trong firmware. Nếu đã thêm thì hay loại bỏ nó trong config.plist và trong thư mục EFI/OC/ACPI.
Những ai muốn đi sâu hơn vào việc dump DSDT, cách làm DSDT và compile chúng, xin hãy xem trang Bắt đầu với ACPI (opens new window). Các SSDT đã được compile sẽ có phần mở rộng .aml, được thêm vào thư muacj EFI/OC/ACPI
và bắt buộc phải được thêm vào trong file config.plist ở ACPI -> Add
# Delete
Phần này chặn một số bảng ACPI chạy, có thể bỏ qua
# Patch
This section allows us to dynamically modify parts of the ACPI (DSDT, SSDT, etc.) via OpenCore. For us, our patches are handled by our SSDTs. This is a much cleaner solution as this will allow us to boot Windows and other OSes with OpenCore
# Quirks
Các cài đặt liên quan đến ACPI, để mọi thứ ở đây như mặc định vì chúng ta không dùng đến chúng
# Booter
Phần này dành cho những cài đặt liên quan đến patching boot.efi với OpenRuntime, sự thay thế cho AptioMemoryFix.efi
# MmioWhitelist
This section is allowing spaces to be passthrough to macOS that are generally ignored, useful when paired with DevirtualiseMmio
# Quirks
Thông tin
Cài đặt liên quan đến việc patch boot.efi và sửa đổi về firmware, chúng ta không cần đến nên để mặc định
Thông tin chi tiết
- AvoidRuntimeDefrag: YES
- Sửa những dịch vụ của UEFI như thời gian, NVRAM, quản lí điện năng, vân vân
- EnableSafeModeSlide: YES
- Enables slide variables to be used in safe mode.
- EnableWriteUnprotector: YES
- Cần để loại bỏ giới hạn ghi của CR0.
- ProvideCustomSlide: YES
- Dùng để tính toán biến Slide. Nhưng sự cần thiết của cài đặt này phụ thuộc vào
OCABC: Only N/256 slide values are usable!
trong log debug. Nếu thông báoOCABC: All slides are usable! You can disable ProvideCustomSlide!
có trong log thì hãy tắtProvideCustomSlide
.
- Dùng để tính toán biến Slide. Nhưng sự cần thiết của cài đặt này phụ thuộc vào
- SetupVirtualMap: YES
- Sửa các phần gọi của SetVirtualAddresses đến các địa chỉ ảo, cần thiết cho các board Gigabyte để tránh kernel panic
# DeviceProperties
# Add
Đặt thuộc tính của thiết bị qua bảng:
PciRoot(0x0)/Pci(0x2,0x0)
Phần này được đặt qua bài Framebuffer Patching Guide (opens new window) của WhateverGreen và được dùng để đặt các thuộc tính quan trong cho iGPU.
AAPL,ig-platform-id
is what macOS uses to determine how the iGPU drivers interact with our system, and the two values choose between are as follows:
AAPL,ig-platform-id | Comment |
---|---|
0300220D | Used when the Desktop Haswell iGPU is used to drive a display |
04001204 | Used when the Desktop Haswell iGPU is only used for computing tasks and doesn't drive a display |
07002216 | Used when the Desktop Broadwell iGPU |
I added another portion as well that shows a device-id
fake in case you have an HD 4400 which is unsupported in macOS.
The device-id fake is set up like so:
12040000
- this is the device id for HD 4600 which does have support in macOS
We also add 3 more properties, framebuffer-patch-enable
, framebuffer-stolenmem
and framebuffer-fbmem
. The first enables patching via WhateverGreen.kext, the second sets the min stolen memory to 19MB and third sets the framebuffer memory to 9MB. This is usually unnecessary, as this can be configured in BIOS(64MB recommended) but required when not available.
- Note: Headless framebuffers(where the dGPU is the display out) do not need
framebuffer-patch-enable
,framebuffer-stolenmem
andframebuffer-fbmem
Key | Type | Value |
---|---|---|
AAPL,ig-platform-id | Data | 0300220D |
framebuffer-patch-enable | Data | 01000000 |
framebuffer-stolenmem | Data | 00003001 |
framebuffer-fbmem | Data | 00009000 |
device-id | Data | 12040000 |
(This is an example for a desktop HD 4400 without a dGPU and no BIOS options for iGPU memory)
Key | Type | Value |
---|---|---|
AAPL,ig-platform-id | Data | 07002216 |
framebuffer-patch-enable | Data | 01000000 |
framebuffer-stolenmem | Data | 00003001 |
framebuffer-fbmem | Data | 00009000 |
(This is an example for a desktop Iris Pro 6200 and no BIOS options for iGPU memory)
PciRoot(0x0)/Pci(0x1b,0x0)
layout-id
- Applies AppleALC audio injection, you'll need to do your own research on which codec your motherboard has and match it with AppleALC's layout. AppleALC Supported Codecs (opens new window).
- You can delete this property outright as it's unused for us at this time
For us, we'll be using the boot-arg alcid=xxx
instead to accomplish this. alcid
will override all other layout-IDs present. More info on this is covered in the Post-Install Page (opens new window)
# Delete
Loại bỏ các thuộc tính thiết bị khỏi bảng, chúng ta không cần đến phần này
# Kernel
# Add
Tại đây chúng ta xác định các kext để load, thứ tự load và kiến trúc mà mỗi kext hướng đến. Khuyến khích để mắc định nhưng đối với các CPU 32-bit xem bên dưới:
Thông tin chi tiết
Đáng chú ý nhất là:
- Thứ tự load:
- Nên nhớ rằng mọi plugin cần được load sau các thành phần phụ thuộc của nó
- Điều này có nghĩa là các kext như Lilu phải được load trước VirtualSMC, AppleALC, WhateverGreen, vân vân
Người dùng ProperTree có thể dùng Cmd/Ctrl + Shift + R để tự động thêm các kext theo đúng thứ tự mà không cần phải nhập thủ công
- Arch
- Kiến trúc CPU được hỗ trợ bởi kext
- Các giá trị được hỗ trợ là
Any
(bất kì) ,i386
(32-bit) vàx86_64
(64bit)
- BundlePath
- Tên của kext
- Ví dụ:
Lilu.kext
- Enabled
- Kích hoạt hoặc vô hiệu hóa kext
- ExecutablePath
- Đường dẫn đến đến file thực thi được giấu trong kext, bạn có thể xem đường dẫn này bằng cách nhấn chuột phải và chọn
Show Package Contents
. Thông thường chúng sẽ ở trongContents/MacOS/kext
nhưng một số kext được giấu trong thư mụcPlugin
. Lưu ý rằng các kext chỉ có file plist không cần điền phần này vào. - Ví dụ:
Contents/MacOS/Lilu
- Đường dẫn đến đến file thực thi được giấu trong kext, bạn có thể xem đường dẫn này bằng cách nhấn chuột phải và chọn
- MinKernel
- Kernel thấp nhất mà kext hỗ trợ, xem bảng bên dưới về các giá trị được dùng.
- Ví dụ.
12.00.00
for OS X 10.8
- MaxKernel
- Kernel thấp nhất mà kext hỗ trợ, xem bảng bên dưới về các giá trị được dùng.
- Ví dụ.
11.99.99
for OS X 10.7
- PlistPath
- Đường dẫn đến
info.plist
được giấu trong kext - Ví dụ:
Contents/Info.plist
- Đường dẫn đến
Bảng các Kernel được hỗ trợ
Phiên bản OSX | MinKernel | MaxKernel |
---|---|---|
10.4 | 8.0.0 | 8.99.99 |
10.5 | 9.0.0 | 9.99.99 |
10.6 | 10.0.0 | 10.99.99 |
10.7 | 11.0.0 | 11.99.99 |
10.8 | 12.0.0 | 12.99.99 |
10.9 | 13.0.0 | 13.99.99 |
10.10 | 14.0.0 | 14.99.99 |
10.11 | 15.0.0 | 15.99.99 |
10.12 | 16.0.0 | 16.99.99 |
10.13 | 17.0.0 | 17.99.99 |
10.14 | 18.0.0 | 18.99.99 |
10.15 | 19.0.0 | 19.99.99 |
11 | 20.0.0 | 20.99.99 |
# Emulate
Dùng để spoof các CPU Celeron và Pentium
- CpuidMask: Để trống
- CpuidData: Để trống
# Force
Dùng để load kext từ phân vùng hệ thống, chỉ liên quan đến các bản macOS cũ hơn mà có một vài kext không có sẵn trong cache (Ví dụ. IONetworkingFamily trong 10.6)
Phần này có thể bỏ qua
# Block
Chặn load một số kext, không cần quan tâm đến phần này
# Patch
Patch cả kernel và các kext
# Quirks
Thông tin
Các cài đặt liên quan đến kernel, chúng ta sẽ kích hoạt những thứ sau đây:
Quirk | Enabled | Comment |
---|---|---|
AppleCpuPmCfgLock | NO | Cần thiết nếu chạy 10.10 hoặc cũ hơn và không thể tắt CFG-Lock trong BIOS |
AppleXcpmCfgLock | YES | Không cần thiết nếu CFG-Lock được tắt trong BIOS |
DisableIOMapper | YES | Không cần thiết nếu VT-d được tắt trong BIOS |
LapicKernelPanic | NO | Các máy HP cần cài đặt này |
PanicNoKextDump | YES | |
PowerTimeoutKernelPanic | YES | |
XhciPortLimit | YES |
More in-depth Info
- AppleCpuPmCfgLock: NO
- Only needed when CFG-Lock can't be disabled in BIOS
- Only applicable for Ivy Bridge and older
- Note: Broadwell and older require this when running 10.10 or older
- AppleXcpmCfgLock: YES
- Only needed when CFG-Lock can't be disabled in BIOS
- Only applicable for Haswell and newer
- Note: Ivy Bridge-E is also included as it's XCPM capable
- CustomSMBIOSGuid: NO
- Performs GUID patching for UpdateSMBIOSMode set to
Custom
. Usually relevant for Dell laptops - Enabling this quirk with UpdateSMBIOSMode Custom mode can also disable SMBIOS injection into "non-Apple" OSes however we do not endorse this method as it breaks Bootcamp compatibility. Use at your own risk
- Performs GUID patching for UpdateSMBIOSMode set to
- DisableIoMapper: YES
- Needed to get around VT-D if either unable to disable in BIOS or needed for other operating systems, much better alternative to
dart=0
as SIP can stay on in Catalina
- Needed to get around VT-D if either unable to disable in BIOS or needed for other operating systems, much better alternative to
- DisableLinkeditJettison: YES
- Allows Lilu and others to have more reliable performance without
keepsyms=1
- Allows Lilu and others to have more reliable performance without
- DisableRtcChecksum: NO
- Prevents AppleRTC from writing to primary checksum (0x58-0x59), required for users who either receive BIOS reset or are sent into Safe mode after reboot/shutdown
- ExtendBTFeatureFlags NO
- Helpful for those having continuity issues with non-Apple/non-Fenvi cards
- LapicKernelPanic: NO
- Disables kernel panic on AP core lapic interrupt, generally needed for HP systems. Clover equivalent is
Kernel LAPIC
- Disables kernel panic on AP core lapic interrupt, generally needed for HP systems. Clover equivalent is
- LegacyCommpage: NO
- Resolves SSSE3 requirement for 64 Bit CPUs in macOS, mainly relevant for 64-Bit Pentium 4 CPUs(ie. Prescott)
- PanicNoKextDump: YES
- Allows for reading kernel panics logs when kernel panics occur
- PowerTimeoutKernelPanic: YES
- Helps fix kernel panics relating to power changes with Apple drivers in macOS Catalina, most notably with digital audio.
- SetApfsTrimTimeout:
-1
- Sets trim timeout in microseconds for APFS filesystems on SSDs, only applicable for macOS 10.14 and newer with problematic SSDs.
- XhciPortLimit: YES
- This is actually the 15 port limit patch, don't rely on it as it's not a guaranteed solution for fixing USB. Please create a USB map (opens new window) when possible.
The reason being is that UsbInjectAll reimplements builtin macOS functionality without proper current tuning. It is much cleaner to just describe your ports in a single plist-only kext, which will not waste runtime memory and such
# Scheme
Các cài đặt liên quan đến boot các bản macOS cũ (10.4-10.6), hầu hết có thể bỏ qua nhưng đối với nhứng người muốn boot các bản cũ xem bên dưới:
Thông tin chi tiết
FuzzyMatch: True
- Used for ignoring checksums with kernelcache, instead opting for the latest cache available. Can help improve boot performance on many machines in 10.6
KernelArch: x86_64
- Set the kernel's arch type, you can choose between
Auto
,i386
(32-bit), andx86_64
(64-bit). - If you're booting older OSes which require a 32-bit kernel(ie. 10.4 and 10.5) we recommend to set this to
Auto
and let macOS decide based on your SMBIOS. See below table for supported values:- 10.4-10.5 —
x86_64
,i386
ori386-user32
i386-user32
refers 32-bit userspace, so 32-bit CPUs must use this(or CPUs missing SSSE3)x86_64
will still have a 32-bit kernelspace however will ensure 64-bit userspace in 10.4/5
- 10.6 —
i386
,i386-user32
, orx86_64
- 10.7 —
i386
orx86_64
- 10.8 or newer —
x86_64
- 10.4-10.5 —
- Set the kernel's arch type, you can choose between
KernelCache: Auto
- Đặt kiểu kernel cache, hữu dụng trong việc gỡ lỗi nên nên đặt thành
Auto
- Đặt kiểu kernel cache, hữu dụng trong việc gỡ lỗi nên nên đặt thành
# Misc
# Boot
Các cài đặt cho màn hình boot (để mọi thứ theo mặc định)
# Debug
Thông tin
Giúp ích trong việc gỡ lỗi các sự cố boot (Chúng ta sẽ thay đổi mọi thứ trừ DisplayDelay
):
Quirk | Enabled |
---|---|
AppleDebug | YES |
ApplePanic | YES |
DisableWatchDog | YES |
Target | 67 |
Thông tin chi tiết
- AppleDebug: YES
- Kích hoạt log boot.efi, giúp ích cho việc gỡ lỗi, chỉ hỗ trợ từ bản 10.15.4
- ApplePanic: YES
- Log lại kernel panic vào ổ
- DisableWatchDog: YES
- Tắt watchdog UEFI, giúp cho việc gỡ lỗi
- DisplayLevel:
2147483650
- Hiện thêm nhiều thông tin gỡ lỗi, chỉ có trong bản DEBUG của OpenCore
- SerialInit: NO
- Cần thiết cho việc gỡ lỗi qua serial
- SysReport: NO
- Giúp ích trong việc gỡ lỗi như dump các bảng ACPI, vân vân
- Chỉ bản DEBUG của OpenCore mới có tùy chọn này
- Target:
67
- Hiện thêm nhiều thông tin gỡ lỗi, chỉ có trong bản DEBUG của OpenCore
Các giá trị này được tính toán dựa trên Gỡ lỗi OpenCore
# Security
Thông tin
Không được bỏ qua phần này, chúng ta sẽ thay đổi những điều sau:
Quirk | Enabled | Comment |
---|---|---|
AllowNvramReset | YES | |
AllowSetDefault | YES | |
BlacklistAppleUpdate | YES | |
ScanPolicy | 0 | |
SecureBootModel | Default | Đây là một từ và có phân biệt chữ hoa/thường, đặt thành Disabled nếu bạn không muốn Secure Boot (ví dụ như bạn cần Nvidia Web Driver) |
Vault | Optional | Đây là một tự, bạn không được bỏ quên tùy chọn này, lưu ý là nó có phân biệt chữ hoa/thường. |
Thông tin chi tiết
AllowNvramReset: YES
- Allows for NVRAM reset both in the boot picker and when pressing
Cmd+Opt+P+R
- Allows for NVRAM reset both in the boot picker and when pressing
AllowSetDefault: YES
- Allow
CTRL+Enter
andCTRL+Index
to set default boot device in the picker
- Allow
ApECID: 0
- Used for netting personalized secure-boot identifiers, currently this quirk is unreliable due to a bug in the macOS installer so we highly encourage you to leave this as default.
AuthRestart: NO
- Enables Authenticated restart for FileVault 2 so password is not required on reboot. Can be considered a security risk so optional
BlacklistAppleUpdate: YES
- Used for blocking firmware updates, used as extra level of protection as macOS Big Sur no longer uses
run-efi-updater
variable
- Used for blocking firmware updates, used as extra level of protection as macOS Big Sur no longer uses
DmgLoading: Signed
- Ensures only signed DMGs load
ExposeSensitiveData:
6
- Shows more debug information, requires debug version of OpenCore
Vault:
Optional
- We won't be dealing vaulting so we can ignore, you won't boot with this set to Secure
- This is a word, it is not optional to omit this setting. You will regret it if you don't set it to
Optional
, note that it is case-sensitive
ScanPolicy:
0
0
allows you to see all drives available, please refer to Security (opens new window) section for further details. Will not boot USB devices with this set to default
SecureBootModel: Default
- Enables Apple's secure boot functionality in macOS, please refer to Security (opens new window) section for further details.
- Note: Users may find upgrading OpenCore on an already installed system can result in early boot failures. To resolve this, see here: Stuck on OCB: LoadImage failed - Security Violation
# Tools
Dùng để chạy các phân mềm gỡ lỗi của OpenCore như UEFI shell, chức năng snapshot của ProperTree sẽ tự động thêm chúng
# Entries
Dùng để xác định các đường dẫn boot mà OpenCore không thể tự tìm
Sẽ không được hướng dẫn ở đây, xem phần 8.6 của Configuration.pdf (opens new window) để biết thêm chi tiết
# NVRAM
# Add
4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14
Dùng cho cài đặt scale UI của OpenCore, mặc định thường là đủ. Xem phần thông tin chi tiết để biết thêm.
Thông tin chi tiết
Booter Path, mainly used for UI Scaling
UIScale:
01
: Độ phân giải mặc định02
: HiDPI (Cần để FileVault hoạt động đúng trên các màn hình nhỏ)
DefaultBackgroundColor: Màu nền được dùng bởi boot.efi
00000000
: Đen SyrahBFBFBF00
: Xám nhạt
4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102
NVRAM GUID của OpenCore, chủ yếu dành cho người dùng RTCMemoryFixup
Thông tin chi tiết
- rtc-blacklist: <>
- Được dùng song song với RTCMemoryFixup, thông tin chi tiết có trong: Fixing RTC write issues (opens new window)
- Hầu hết người dùng có thể bỏ qua phần này
7C436110-AB2A-4BBB-A880-FE41995C9F82
System Integrity Protection bitmask
- Các boot-args dùng chung:
boot-args | Description |
---|---|
-v | Kích hoạt verbose mode (cho chúng ta thấy tiến trình boot chi tiết thay vì logo Apple và thanh tiến trình), là thứ mà Hackintosher nào cũng cần, bởi vì nó giúp ta nhìn thấy chi tiết quá trình boot và giúp bạn xác định lỗi. |
debug=0x100 | Vô hiệu hóa watchdog của macOS, ngăn reboot khi có kernel panic, mong là nó có thể giúp bạn thấy một vài thông tin giúp ích để bạn vượt qua lỗi. |
keepsyms=1 | Đây là cài đặt đi đôi với debug=0x100 để buộc macOS in các ký hiểu trong kernel panic, giúp ích trong việc thấy các thông tin về nguyên nhân panic. |
alcid=1 | Dùng để set layout-id cho AppleALC, xem supported codecs (opens new window) để biết được layout cần dùng cho build của bạn. Thông tin chi tiết có trong Post-Install Page (opens new window) |
- Các boot-args dành riêng cho từng GPU:
boot-args | Description |
---|---|
agdpmod=pikera | Used for disabling boardID on Navi GPUs(RX 5000 series), without this you'll get a black screen. Don't use if you don't have Navi(ie. Polaris and Vega cards shouldn't use this) |
nvda_drv_vrl=1 | Used for enabling Nvidia's Web Drivers on Maxwell and Pascal cards in Sierra and HighSierra |
-wegnoegpu | Vô hiệu hóa mọi GPU trừ iGPU của Intel |
csr-active-config:
00000000
- Cài đặt cho 'System Integrity Protection' (SIP). Khuyến khích thay đổi cài đặt này qua
csrutil
tại recovery. - mặc định có giá trị
00000000
tức là bật SIP. Bạn có thể chọn các giá trị khác nhưng khuyến khích để nguyên vì các lí do bảo mật. Thông tin thêm có thể được tìm thấy tại: Tắt SIP
- Cài đặt cho 'System Integrity Protection' (SIP). Khuyến khích thay đổi cài đặt này qua
run-efi-updater:
No
- Dùng để chặn các bản cập nhất firmware của Apple làm hỏng thứ tự boot vì chúng dành cho các máy Mac thật.
prev-lang:kbd: <>
- Cần thiết đối với các bàn phím không phải latin với định dạng
lang-COUNTRY:keyboard
, khuyến khích để trống nhưng bạn vẫn có thể đổi(Mặc định là tiếng Nga): - Mĩ:
en-US:0
(656e2d55533a30
trong HEX) - Danh sách đầy đủ có trong AppleKeyboardLayouts.txt (opens new window)
- Gợi ý:
prev-lang:kbd
có thể được đổi thành dạng String để bạn điềnen-US:0
trực tiếp thay vì phải chuyển sang HEX
- Cần thiết đối với các bàn phím không phải latin với định dạng
Key | Type | Value |
---|---|---|
prev-lang:kbd | String | en-US:0 |
# Delete
Info
Cưỡng bức ghi đè các biến NVRAM, lưu ý rằng Add
sẽ không ghi đè các giá trị đã có sắn trong NVRAM nên các giá trị như boot-args
nên được để nguyên.
Quirk | Enabled |
---|---|
WriteFlash | YES |
Thông tin chi tiết
LegacyEnable: NO
- Cho phép NVRAM được lưu trong nvram.plist, cần thiết cho các máy không có NVRAM
LegacyOverwrite: NO
- Cho phép ghi đè các biên trong firmware từ nvram.plist, chỉ cần thiết cho các máy không có NVRAM
LegacySchema
- Dùng để chỉ định các biến NVRAM, dùng với LegacyEnable được đặt thành YES
WriteFlash: YES
- Cho phép ghi vào bộ nhớ flash cho tất cả các biến được thêm.
# PlatformInfo
Thông tin
Để lấy thông tin SMBIOS, chúng ta sẽ dùng GenSMBIOS (opens new window) của CorpNewt.
Trong ví dụ dành cho máy Haswell, chúng ta chọn SMBIOS của MacBookPro11,1. Điển hình như:
SMBIOS | Hardware |
---|---|
iMac14,4 | Haswell with only iGPU |
iMac15,1 | Haswell with dGPU |
iMac16,2 | Broadwell |
Chạy GenSMBIOS, chọn 1 để tải MacSerial và chọn 3 để tạo SMBIOS. Nó sẽ hiện như sau:
#######################################################
# iMac15,1 SMBIOS Info #
#######################################################
Type: iMac15,1
Serial: C02M9SYJFY10
Board Serial: C02408101J9G2Y7A8
SmUUID: 7B227BEC-660D-405F-8E60-411B3E4EF055
Phần Type
được copy vào Generic -> SystemProductName.
Phần Serial
được copy vào Generic -> SystemSerialNumber.
Phần Board Serial
được copy vào Generic -> MLB.
Phần SmUUID
được copy vào -> SystemUUID.
Chúng ta đặt phần Generic -> ROM thành một ROM của Apple (được lấy từ một máy Mac thật), địa chỉ MAC của NIC, hoặc một địa chỉ MAC bất kì (chỉ cần 6 byte bất kì), trong bài này chúng tôi dùng 112233000000. Sau khi cài đặt làm theo Fixing iServices (opens new window) để tìm địa chỉ MAC thật của bạn
Nên nhớ là bạn cân một số serial không hợp lệ hoặc một số serial hợp lệ nhưng không được sử dụng, bạn muốn có thông báo kiểu: "Invalid Serial" hoặc "Purchace Date not Validated"
Trang web Apple Check Coverage (opens new window)
Automatic: YES
- Tạo ra PlatformInfo từ phần Generic thay vì từ DataHub, NVRAM, và phần SMBIOS
# Generic
Thông tin chi tiết
AdviseWindows: NO
- Used for when the EFI partition isn't first on the Windows drive
MaxBIOSVersion: NO
- Sets BIOS version to Max to avoid firmware updates in Big Sur+, mainly applicable for genuine Macs.
ProcessorType:
0
- Set to
0
for automatic type detection, however this value can be overridden if desired. See AppleSmBios.h (opens new window) for possible values
- Set to
SpoofVendor: YES
- Swaps vendor field for Acidanthera, generally not safe to use Apple as a vendor in most case
SystemMemoryStatus: Auto
- Sets whether memory is soldered or not in SMBIOS info, purely cosmetic and so we recommend
Auto
- Sets whether memory is soldered or not in SMBIOS info, purely cosmetic and so we recommend
UpdateDataHub: YES
- Update Data Hub fields
UpdateNVRAM: YES
- Update NVRAM fields
UpdateSMBIOS: YES
- Updates SMBIOS fields
UpdateSMBIOSMode: Create
- Replace the tables with newly allocated EfiReservedMemoryType, use
Custom
on Dell laptops requiringCustomSMBIOSGuid
quirk - Setting to
Custom
withCustomSMBIOSGuid
quirk enabled can also disable SMBIOS injection into "non-Apple" OSes however we do not endorse this method as it breaks Bootcamp compatibility. Use at your own risk
- Replace the tables with newly allocated EfiReservedMemoryType, use
# UEFI
ConnectDrivers: YES
- Ép load các driver .efi, thay đổi thành NO sẽ tự động load các driver UEFI. Điểu này có thế giảm thời gian boot một chút nhưng không phải tất cả driver sẽ tự động load (Ví dụ như một số hệ thông tệp sẽ không truy cập được).
# Drivers
Thêm các driver .efi vào đây
Chỉ có 2 driver ở đây:
- HfsPlus.efi
- OpenRuntime.efi
# APFS
Các cài đặt liên quan đến driver APFS, để mọi thứ ở đây như mặc định.
# Audio
Liên quan đến các cài đặt của AudioDxe, để mọi thứ ở đây như mặc định vì chúng ta không cần đến chúng.
- Nếu muốn dùng AudioDxe và phần Audio, xem trang Post Install (Sau khi cài): Thêm GUI và âm boot (opens new window)
# Input
Liên quan đến passthrough bàn phím dành cho FileVault và Hotkey, để mọi thứ ở đây như mặc định vì chúng ta không cần đến chúng. Thông tin chi tiết có trong: Bảo mật và FileVault (opens new window)
# Output
Để mọi thứ ở đây như mặc định
# ProtocolOverrides
Chủ yếu dành cho máy ảo (VM), máy Mac cũ và người dùng FileVault. Thông tin chi tiết có trong: Bảo mật và FileVault (opens new window)
# Quirks
Thông tin
Liên quan đến các cài đặt dành cho môi trường UEFI, chúng ta thay đổi những thứ sau đây:
Quirk | Enabled | Comment |
---|---|---|
IgnoreInvalidFlexRatio | YES | |
UnblockFsConnect | NO | Thường các board HP mới cần |
Thông tin chi tiết
IgnoreInvalidFlexRatio: YES
- Fix for when MSR_FLEX_RATIO (0x194) can't be disabled in the BIOS, required for all pre-Skylake based systems
DisableSecurityPolicy: NO
- Disables platform security policy in firmware, recommended for buggy firmwares where disabling Secure Boot does not allow 3rd party firmware drivers to load.
- If running a Microsoft Surface device, recommended to enable this option
RequestBootVarRouting: YES
- Redirects AptioMemoryFix from
EFI_GLOBAL_VARIABLE_GUID
toOC_VENDOR_VARIABLE_GUID
. Needed for when firmware tries to delete boot entries and is recommended to be enabled on all systems for correct update installation, Startup Disk control panel functioning, etc.
- Redirects AptioMemoryFix from
UnblockFsConnect: NO
- Some firmware block partition handles by opening them in By Driver mode, which results in File System protocols being unable to install. Mainly relevant for HP systems when no drives are listed
# ReservedMemory
Dùng để miễn trừ một phần RAM nhất định dành cho các HĐH để sử dụng, chủ yếu dành cho các iGPU Sandy Bridge hay những máy với RAM hỏng. Phần này sẽ không được hướng dẫn trong bài này
# Dọn dẹp
Bây giờ bạn đã sẵn sàng để lưu và đặt file config.plist vào EFI/OC
Nếu bạn có vấn đề, vui lòng đọc phần Gỡ lỗi trước tiên và nếu câu hỏi của bạn vẫn chưa được giải đáp, chúng tôi có nhiều chỗ bạn có thể hỏi (chỉ tiếng Anh):
Kiểm tra lại:
Công cụ này không phải của Dortania, mọi vấn đề với trang xin hãy gửi về đây: Sanity Checker Repo (opens new window)
Sanity Checker chưa được update từ bản OpenCore 0.6.6, nếu bạn ở bản mới hơn thì không nên dùng
# Thiết đặt BIOS dành cho các máy Intel
- Note: Hầu hết các tùy chọn này có thể không có trong firmware của bạn, chúng tôi khuyến khích làm giống nhất có thể nhưng nếu tùy chọn đó không có trong BIOS của bạn thì cũng đừng quá lo lắng
# Vô hiệu hóa
- Fast Boot
- Secure Boot
- Serial/COM Port
- Parallel Port
- VT-d (có thể được bật nếu bạn đặt
DisableIoMapper
thành YES) - CSM
- Thunderbolt(Trong lúc cài, Thunderbolt có thể gây ra vấn đề nều không được thiết đặt đúng)
- Intel SGX
- Intel Platform Trust
- CFG Lock (MSR 0xE2 write protection)(Bắt buộc phải tắt, nếu bạn không thấy tùy chọn này thì bật
AppleXcpmCfgLock
tại Kernel -> Quirks. macOS sẽ không boot nếu CFG-Lock được bật)- Nếu bạn chạy bản 10.10 hoặc cũ hơn, AppleCpuPmCfgLock cũng cần được bật
# Kích hoạt
- VT-x
- Above 4G decoding
- 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: AHCI
# Tiếp theo, hãy đến phần Cài đặt macOS
⟵ Ivy Bridge Skylake ⟶