OpenCore Bootloader là 1 mã nguồn mở được phát triển nhằm thay thế cho Clover Bootloader, về tính năng thì OpenCore sẽ rút gọn đi nhằm tối ưu hiệu suất hơn Clover. Hướng dẫn chính thức của Dortania tại đây
Các thay đổi chính của OpenCore Bootloader:
- Tăng tốc độ khởi động bằng cách giảm bớt các bản vá được thực hiện
- Hỗ trợ tốt hơn cho FileVault, không cần phải tắt SIP, hỗ trợ khởi động an toàn qua Vaulting và Secure Boot của Apple
- Mang lại trải nghiệm giống real Mac hơn với sự hỗ trợ Startup Disk của BootCamp và các phím tắt lúc khới động: giữ Option hoặc ESC để chọn thiết bị khởi động, Cmd+R để vào Recovery hay Command+Option+P+R để reset NVRAM
- OpenCore vẫn giữ trọn vẹn hệ thống khi tải các phần mở rộng kernel của bên thứ 3
Chú ý:
- Sự phát triển của AMD OSX sẽ được gắn chặt với OpenCore cho nên các máy dùng CPU AMD khuyến khích sử dụng OpenCore
- Các kexts sẽ được load theo sự điều chỉnh của bạn trong config.plist vì vậy các kext cần thiết cần được ở vị trí ưu tiên. VD: Lilu phải được tải trước WhateverGreen hoặc VirtualSMC.
- Các bản vá ACPI và thông tin SMBIOS sẽ được thay đổi cho tất cả các hệ điều hành(macOS, Windows,...) được khởi động qua OpenCore.
- Một số hệ thống yêu cầu chế độ Windows 8.1/10 UEFI Mode để khởi động.
- Thiết bị NVME cần được thiếp lập đúng trong BIOS
Dự định phát triển của OpenCore:
2020: Hỗ trợ Secure Boot
2021: Hoàn thiện trình khởi động
Cài đặt OpenCore Bootloader EFI
Bước đầu bạn cần bộ khởi động OpenCore
Nếu bạn đang dùng Clover, các bạn hãy backup Clover EFI hiện tại rồi tải rồi mở script này để xoá NVRam, nhập password chờ quá trình kết thúc. Sau đó, bạn copy folder EFI OpenCore đã chuẩn bị vào EFI của USB/ổ cứng tuỳ bạn thích.
Cấu trúc cơ bản của OpenCore Bootloader
Thư mục EFI |
Chứa tất tần tật các boot của các hệ điều hành: OpenCore, Clover,
Microsoft cho Windows, Grub cho linux,… |
Thư mục BOOT |
Nơi chứa BOOTX64.EFI
nhằm giúp các hệ thống máy tính uEFI nhận diện và tải thực thi nó đầu tiên |
ACPI |
Chứa các file .aml đã patch
phù hợp với macOS |
Drivers |
Chứa các drivers giúp
bootloader nhận diện và điều khiển các phần cứng BIOS/UEFI của máy tính |
Kext |
Nơi chứa các
trình điều khiển của macOS |
Resources |
Nơi giúp các bạn thêm
GUI cho OpenCore kèm những âm thanh khởi động tương tự realmac |
Tools |
Nơi chứa các
công cụ CleanNvram, HdaCođecump,... |
config.plist |
File chứa cấu hình
giúp OpenCore Bootloader có thể tải hệ thống hackintosh một cách đúng nhất |
OpenCore.efi |
File boot của
OpenCore Bootloader |
Kexts
Phần này các bạn không cần thay đổi gì khi chuyển từ Clover sang OpenCore, bạn chỉ cần copy hết từ CLOVER/kexts/Other sang OC/Kexts là được
Còn với những bạn mới chơi và build lại từ đầu thì mình sẽ nêu tên vài kext cần thiết cũng như bắt buộc cơ bản cho các bạn biết
Kexts
Platform
Function
Desktop&Laptop
Kích hoạt âm thanh
Desktop&Laptop
Vá mềm on-the-fly cho nhiều kexts
khác mà không cần động tới kexts gốc
Desktop&Laptop
Giúp giả lập hệ thống cảm biến của
realmac
Desktop&Laptop
Nhằm fix các cổng USB
Desktop&Laptop
Giải quyết vấn đề cho các
ATI/AMD/Intel/Nvidia GPUs
Laptop
Fix Touchpad, Mouse, Keyboard PS2 cho
đa số Laptop cũng như 1 vài máy Desktop ngày xưa
Desktop&Laptop
Tránh việc panic khi dùng SSD
NVMe PM981,... và kích hoạt quản lí năng lượng
ACPI
Với patch của OpenCore thì việc load patch khá là phiền, bạn hãy chắc chắn rằng patch của bạn đúng để được OpenCore load. Về sự thay đổi thì patch của OpenCore sẽ đơn giản hơn, patch cũng như rename sẽ ít hơn Clover nhiều. Và yêu cầu cần có khi dùng hotpatch đó là ở mỗi Scope patch sẽ cần có một Method _STA như dưới
Kexts
Platform
Function
Desktop&Laptop
Kích hoạt âm thanh
Desktop&Laptop
Vá mềm on-the-fly cho nhiều kexts
khác mà không cần động tới kexts gốc
Desktop&Laptop
Giúp giả lập hệ thống cảm biến của
realmac
Desktop&Laptop
Nhằm fix các cổng USB
Desktop&Laptop
Giải quyết vấn đề cho các
ATI/AMD/Intel/Nvidia GPUs
Laptop
Fix Touchpad, Mouse, Keyboard PS2 cho
đa số Laptop cũng như 1 vài máy Desktop ngày xưa
Desktop&Laptop
Tránh việc panic khi dùng SSD
NVMe PM981,... và kích hoạt quản lí năng lượng
......
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (_OSI ("Darwin"))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
......
Mình sẽ giới thiệu cho các bạn một vài patch cơ bản cho OpenCore, các bạn có thể lấy dùng mà không cần chỉnh sửa gì
Patchs |
Platform |
Function |
Desktop&Laptop |
Kích hoạt CPU Management (Bắt buộc
cần có với mọi phần cứng) |
|
Desktop&Laptop |
Fix EC(Embedded Controller), USBX(chỉ cần với CPU
Skylake+) |
|
Desktop&Laptop |
Fix NVRAM cho CPU CoffeeLake+ |
|
Desktop&Laptop |
Fix AWAC(Time and Alarm) cho CPU
CoffeeLake+ |
|
HEDT |
Bắt buộc đối với tất cả người dùng Big Sur để đảm bảo thiết
bị UNC của họ tương thích |
|
Desktop&Laptop |
Sửa lỗi các cổng USB cho 400 series
motherboards |
|
Laptop |
Giúp kích hoạt tuỳ chỉnh độ sáng
màn hình cho laptop. |
|
AMD |
Sửa các định nghĩa CPU với bo mạch chủ B550 và A520, không sử
dụng nếu bạn không có hệ thống AMD B550 hoặc A520 |
|
Laptop |
Đánh lừa phần cứng là bạn đang
khởi động Windows nhằm fix Touchpad I2C,... |
Với những bạn cần hoàn thiện hơn cho laptop, hãy tham khảo thêm tại đây (hướng dẫn bằng vá bằng tiếng Việt sẽ được cập nhật tại đây)Ở bảng trên mình đã nói rất rõ chức năng cũng như cần có với phần cứng như nào? Mong rằng các bạn sẽ dễ dàng bước qua bước này để đến với bước tiếp theo.
config.plist
Bước cuối cùng luôn luôn là bước khó nhất, thời gian khó khăn cũng như mất nhiều thời gian nhất của các bạn đã tới nhưng đừng ngần ngại. Bắt đầu thôi!
Đây chỉ là guide chỉnh config cơ bản nhất, không phù hợp cho các pro muốn tìm hiểu sâu. Nếu cần bạn hãy đọc Configuration.pdf từ repo OpenCorePkg.
Bước đầu, bạn cần tải PlistEdit Pro hoặc ProperTree để chỉnh sửa file config.plist hoặc là dùng chính app cơ bản như TextEdit hay Wordpad để chỉnh cũng được.
Để OpenCore load những thành phần như file Patch, Kext hay Driver thì phải thêm (snapshoot) chúng vào config.plist. Các bạn có thể dùng ProperTree để snapshoot trên cả Window lẫn macOS nhé.
Sau khi mở config.plist chưa chỉnh sửa thì bạn sẽ được như sau.
Chúng ta sẽ đi từ trên xuống, đến với ACPI, mình đã chỉnh sửa chút ít cho các bạn dễ hình dung như dưới
ACPI
Add
Ở đây từng Item sẽ dành cho một SSDT được load:
Enable có tác dụng kiểm soát việc load SSDT
Path sẽ là tên đầy đủ của patch.
Delete
Các bạn chỉ chuyển Enable thành YES ở 2 Item khi bạn dùng CPU Ivy Bridge hoặc cũ hơn
Patch
Từng Item sẽ tương ứng với từng patch giống như ACPI/DSDT/Patches trong config.plist của Clover
Với PC thì chả cần rename để dùng patch gì hết nhé các bạn(trong phạm vi bài viết này)
Vậy lần lượt mình cần chuyển _OSI và XOSI thành HEX bằng bất kì 1 công cụ chuyển đổi nào
Booter
Quirks
AvoidRuntimeDefrag |
Boolean |
sửa lỗi ngày giờ,
NVRAM, điều khiển nguồn,... bắt buộc với mọi phần cứng, hãy bật nó |
DevirtualiseMmio |
Boolean |
chọn YES để sửa lỗi Memory
Allocation dành cho Z390 và Z490 series mainboards, yêu cầu bật
ProtectUefiServices |
EnableSafeModeSlide |
Boolean |
bật nó khi chế độ safemode không thể
khởi động, yêu cầu bật ProvideCustomSlide |
EnableWriteUnprotector |
Boolean |
cho phép quyền ghi vào UEFI
runtime services, mắc định là bật, yêu cầu bật RebuildAppleMemoryMap nếu phần
cứng của bạn có bảng MAT |
ProtectUefiServices |
Boolean |
bảo vệ các dịch vụ UEFI khỏi phần mềm
bị ghi đè chỉ dàng cho Z390 và Z490 series mainboards |
ProvideCustomSlide |
Boolean |
có tác dụng tương tự bootarg
slide bên Clover nhằm sửa lỗi "Only N/256 slide values are usable!" |
RebuildAppleMemoryMap |
Boolean |
tạo Memory Map thích hợp cho macOS, nếu
bạn gặp lỗi restart ngay lúc vào macOS thì hãy tắt nó |
SetupVirtualMap |
Boolean |
sửa lỗi SetVirtualAddresses dành
cho CPU Broadwell trở về trước hoặc những mainboard Gigabyte có thể sẽ cần bật
cái này khi gặp kernel panic. Với những mainboard ASUS, Gigabyte, ASRock Z490
sẽ không cần lựa chọn này |
SyncRuntimePermissions |
Boolean |
sửa lỗi bảng MAT để khởi động
Windows, Linux,... Chỉ cần với các CPU Skylake hoặc mới hơn |
DeviceProperties
Tương tự Devices/Properties trong config.plist của CloverDeviceProperties
Add
Kernel
Add
Lilu.kext -> VirtualSMC/FakeSMC -> WhateverGreen -> AppleALC/VoodooHDA -> WiFi/Ethernet -> VoodooPS2+(VoodooI2C) -> USB -> SSD -> .....
Emulate
CpuidData: A9060300 00000000 00000000 00000000
CpuidMask: FFFFFFFF 00000000 00000000 00000000
Force
Patch
Với tất cả macOS
Base: [EMPTY]
Comment: Haswell+ low-end Celeron/Pentium cpuid_set_info_rdmsr (c) vit9696
Count: 1
Enabled: YES
Find: B9A00100000F32
Identifier: kernel
Limit: 0
Mask: [EMPTY]
MatchKernel: [EMPTY]
Replace: B9A001000031C0
ReplaceMask: [EMPTY]
Skip: 0
Với macOS 10.12
Base: _xcpm_bootstrap
Comment: _xcpm_bootstrap (Haswell+ low-end Celeron/Pentium) 10.12
Count: 1
Enabled: YES
Find: C4830022
Identifier: kernel
Limit: 0
Mask: FFFF00FF
MatchKernel: 16.
Replace: C6830022
ReplaceMask: FFFF00FF
Skip: 0
hoặc macOS 10.13 trở đi
Base: _xcpm_bootstrap
Comment: _xcpm_bootstrap (Haswell+ low-end Celeron/Pentium) 10.13+
Count: 1
Enabled: YES
Find: 00C43C22
Identifier: kernel
Limit: 0
Mask: 00FFFFFF
MatchKernel: 16.
Replace: 00C63C22
ReplaceMask: 00FFFFFF
Skip: 0
Quirks
AppleCpuPmCfgLock |
Cần thiết nếu BIOS
không cho tắt CFG-Lock |
AppleXcpmCfgLock |
Cần thiết nếu BIOS không cho tắt
CFG-Lock |
AppleXcpmExtraMsrs |
Tắt nhiều quyền truy cập MSR quan trọng
đối với một số CPU như Haswell-E, Broadwell-E, Skylake-SP và các CPU tương tự
không hỗ trợ XCPM (không thích hợp với các CPUs Pentium hoặc Ivy Bridge,
Sandy Bridge) |
AppleXcpmForceBoost |
Bắt buộc chạy hiệu suất tối đa ở
chế độ XCPM nhưng chỉ phù hợp với số ít CPU Xeon |
CustomSMBIOSGuid |
Vá GUID cho UpdateSMBIOSMode: Custom.
Khuyến khích bật với các phần cứng của Dell |
DisableIoMapper |
Hãy bật nếu bạn không dùng tới
VT-D |
DisableRtcChecksum |
Vô hiệu hóa tổng kiểm tra chính
(0x58-0x59) bằng AppleRTC. Khuyến khích dùng RTCMemoryFixup để hoạt động tốt
nhất |
DummyPowerManagement |
Tác dụng tương tự với
NullCPUPowerManagement.kext |
ExternalDiskIcons |
Áp dụng biểu tượng ổ cứng bên trong
cho tất cả các ổ cứng AHCI |
IncreasePciBarSize |
Tăng kích thước thanh PCI 32 bit
trong IOPCIF Family từ 1 đến 4 GB. Hay tính toán trước khi dùng tránh việc hỏng
phần cứng. |
LapicKernelPanic |
Vô hiệu hóa nhân hoảng loạn trên các
ngắt LAPIC. Khuyến khích bật với các phần cứng của HP |
PanicNoKextDump |
Cho phép đọc nhật ký kernel
panic từ macOS 10.13 trở đi |
PowerTimeoutKernelPanic |
Giúp khắc phục kernel panic liên quan
đến thay đổi năng lượng với trình điều khiển Apple và âm thanh kỹ thuật số. |
ThirdPartyDrives |
Áp dụng các bản vá nhằm kích hoạt
cách tính năng có sẳn ở SSD ví dụ như TRIM, hibernation,... từ macOS 10.15 trở
đi |
XhciPortLimit |
Vá USB kexts để loại bỏ giới hạn 15 cổng
USB. Từ macOS 11.3+, hãy tắt
để tránh lỗi không nhận USB |
Misc

Boot
ConsoleAttributes
Number
Đặt các thuộc tính
cụ thể cho bảng điều khiển. Để mắc định
HibernateMode
String
• None — Không ngủ đông
• Auto — Sử dụng RTC hoặc NVRAM
ngẫu nhiên
• RTC — Sử dụng RTC
• NVRAM — Sử dụng NVRAM
HideAuxiliary
Boolean
Ẩn hiện các phân vùng Recovery hay các tùy chọn ResetNvram và các công cụ trong mục Tools
PickerAttributes
Number
Đặt thuộc tính cụ thể cho bộ chọn
PickerAudioAssist
Boolean
Nếu thấy việc lựa chọn khởi động quá
nhàm chán thì hãy chọn YES để có thêm 1 giọng nói đọc tên option boot cho bạn.
PickerMode
String
Sửa thành External nếu muốn dùng Theme ở màn hình menu OpenCore
PollAppleHotKeys
Boolean
Hãy chọn YES nếu bạn cần dùng các
phím tắt sau
• CMD+C+MINUS — Vô hiệu hóa kiểm tra
tương thích
• CMD+K — Khởi động release kernel
• CMD+S — Khởi động với chế độ single
user
• CMD+S+MINUS — Vô hiệu hoá KASLR
slide
• CMD+V — Khởi động với 1 đống chữ rườm
rà (-v)
• Shift — Khởi động với chế độ an
toàn
ShowPicker
Boolean
Bật tắt menu boot của OpenCore
TakeoffDelay
Number
Đặt thời gian delay (ms) trước khi thực
hiện các phím tắt hoặc lựa chọn khởi động
Timeout
Number
Thay đổi thời gian suy nghĩ để lựa
chọn OS của bạn tại đây
Debug
AppleDebug
Boolean
Ghi nhật ký
boot.efi, hữu ích để gỡ lỗi. Chỉ hỗ trợ với 10.15.4+
ApplePanic
Boolean
Ghi lại nhật ký kernel panic
DisableWatchDog
Boolean
Tắt giám sát UEFI, có thể giúp tránh
việc gặp panic ngay khi khởi động
DisplayDelay
Number
Độ trễ tính bằng ms được thực hiện
sau mỗi dòng in trên màn hình
DisplayLevel
Number
Hiển thị nhiều thông tin gỡ lỗi hơn với
2147483650
SerialInit
Boolean
Cần thiết để thiết lập output với
OpenCore
SysReport
Boolean
Cần thiết cho việc gỡ lỗi xuất phát
SSDT
Target
Number
Nếu cần bạn cần xem lại quá
trình khởi động, hãy chuyển 3 thành 67
ConsoleAttributes
Number
Đặt các thuộc tính
cụ thể cho bảng điều khiển. Để mắc định
HibernateMode
String
• None — Không ngủ đông
• Auto — Sử dụng RTC hoặc NVRAM
ngẫu nhiên
• RTC — Sử dụng RTC
• NVRAM — Sử dụng NVRAM
HideAuxiliary
Boolean
Ẩn hiện các phân vùng Recovery hay các tùy chọn ResetNvram và các công cụ trong mục Tools
PickerAttributes
Number
Đặt thuộc tính cụ thể cho bộ chọn
PickerAudioAssist
Boolean
Nếu thấy việc lựa chọn khởi động quá
nhàm chán thì hãy chọn YES để có thêm 1 giọng nói đọc tên option boot cho bạn.
PickerMode
String
Sửa thành
PollAppleHotKeys
Boolean
Hãy chọn YES nếu bạn cần dùng các
phím tắt sau
• CMD+C+MINUS — Vô hiệu hóa kiểm tra
tương thích
• CMD+K — Khởi động release kernel
• CMD+S — Khởi động với chế độ single
user
• CMD+S+MINUS — Vô hiệu hoá KASLR
slide
• CMD+V — Khởi động với 1 đống chữ rườm
rà (-v)
• Shift — Khởi động với chế độ an
toàn
ShowPicker
Boolean
Bật tắt menu boot của OpenCore
TakeoffDelay
Number
Đặt thời gian delay (ms) trước khi thực
hiện các phím tắt hoặc lựa chọn khởi động
Timeout
Number
Thay đổi thời gian suy nghĩ để lựa
chọn OS của bạn tại đây
AppleDebug
Boolean
Ghi nhật ký
boot.efi, hữu ích để gỡ lỗi. Chỉ hỗ trợ với 10.15.4+
ApplePanic
Boolean
Ghi lại nhật ký kernel panic
DisableWatchDog
Boolean
Tắt giám sát UEFI, có thể giúp tránh
việc gặp panic ngay khi khởi động
DisplayDelay
Number
Độ trễ tính bằng ms được thực hiện
sau mỗi dòng in trên màn hình
DisplayLevel
Number
Hiển thị nhiều thông tin gỡ lỗi hơn với
2147483650
SerialInit
Boolean
Cần thiết để thiết lập output với
OpenCore
SysReport
Boolean
Cần thiết cho việc gỡ lỗi xuất phát
SSDT
Target
Number
Nếu cần bạn cần xem lại quá
trình khởi động, hãy chuyển 3 thành 67
Entries
Giúp OpenCore biết được thêm những đường dẫn khởi động khác người từ nhiều OS khác. Nên để mặc định.
Security
AllowNvramReset |
Boolean |
Chọn YES để dùng
hotkey CMD+OPT+P+R để Reset NVRAM hoặc hiển thị tool Reset NVRAM trong bộ khởi
động |
AllowSetDefault |
Boolean |
Chọn YES để dùng hotkeys
CTRL+Enter và CTRL+Index nhằm thiết lập lựa chọn khởi động mắc định trong bộ
khởi động |
ApECID |
Number |
Được sử dụng để tạo mã nhận dạng khởi
động an toàn được cá nhân hóa, hiện tại điều này không đáng tin cậy do có lỗi
trong trình cài đặt macOS, vì vậy chúng tôi đặc biệt khuyến khích bạn để điều
này làm mặc định. |
AuthRestart |
Boolean |
Cho phép khởi động lại xác thực
tương thích VirtualSMC nhằm kích hoạt FileVault |
BlacklistAppleUpdate |
Boolean |
Được sử dụng để chặn cập nhật chương
trình cơ sở, được sử dụng như một cấp bảo vệ bổ sung vì macOS Big Sur không
còn sử dụng biến run-efi-updater |
DmgLoading |
String |
Đảm bảo chỉ tải các DMG đã cấp
phép |
ExposeSensitive Data |
Number |
Hiển thị thêm thông tin gỡ lỗi, yêu cầu
phiên bản Debug của OpenCore |
Vault |
String |
Hãy chỉnh Secure thành Optional |
ScanPolicy |
Number |
Hãy đặt từ 17760515 thành 0 để OpenCore
hiển thị đầy đủ các trình khởi động từ ổ cứng lẫn USB |
SecureBootModel |
String |
Bật chức năng khởi động an toàn
của Apple trong macOS. Disable nếu bạn cần cài Nvidia Web Driver. |
Tools
Hãy thêm công cụ vào nếu bạn cần dùng 1 trong số các công cụ sẳn trong /EFI/OC/Tools/Tools
NVRAM
4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14
DefaultBackgroundColor |
Data |
00000000 (Black)
hoặc BFBFBF00 (Light) |
UIScale |
Data |
01 (Standard) hoặc 02 (HiDPI) |
7C436110-AB2A-4BBB-A880-FE41995C9F82
SystemAudioVolume |
Data |
Để mặc định |
boot-args |
String |
-v debug=0x100 keepsyms=1
alcid=3 agdpmod=pikera |
csr-active-config |
Data |
mặc định để bật SIP. muốn tắt SIP thì
các bạn thay giá trị sau. FF0F0000 (Big Sur), FF070000(Catalina + Mojave),
FF030000(High Sierra) |
run-efi-updater |
String |
No |
prev-lang:kbd |
Data |
Bỏ trống hoặc để
76692D566965746E616D6573653A30 |
Giải thích bootargs:
-v (Verbose)
Giúp hiển thị các
dòng lệnh khi boot để dễ dàng xác định lỗi và sửa
debug=0x100 và keepsyms=1
giúp chặn máy restart khi gặp
panic
alcid=1
kích hoạt âm thanh với layout id 1,
tìm layout ID phù hợp ở đây.
agdpmod=pikera
cần thiết với GPU RX 5000 series
nhằm fix lỗi black screen
nvda_drv_vrl=1
tác dụng tương tự như nvda_drv=1 để
kích hoạt NVIDIA GPU ở macOS 10.13-
-v (Verbose)
Giúp hiển thị các
dòng lệnh khi boot để dễ dàng xác định lỗi và sửa
debug=0x100 và keepsyms=1
giúp chặn máy restart khi gặp
panic
alcid=1
kích hoạt âm thanh với layout id 1,
tìm layout ID phù hợp ở đây.
agdpmod=pikera
cần thiết với GPU RX 5000 series
nhằm fix lỗi black screen
nvda_drv_vrl=1
tác dụng tương tự như nvda_drv=1 để
kích hoạt NVIDIA GPU ở macOS 10.13-
LegacyEnable
Cho phép lưu trữ NVRAM vào nvram.plist, hãy bật nếu máy bạn không có NVRAM gốc
LegacyOverwrite
Cho phép ghi đè giá trị từ nvram.plist, hãy bật nếu máy bạn không có NVRAM gốc
LegacySchema
Sẽ được áp dụng khi LegacyEnable được bật
WriteFlash
Hãy bật nó để cho phép việc ghi giá trị vào bộ nhớ
PlatformInfo
Automatic |
Boolean |
Nếu chọn YES thì
PlatformInfo sẽ được tạo từ Generic còn không thì sẽ được lấy dữ liệu từ
SMBIOS, DataHub, và NVRAM |
UpdateDataHub |
Boolean |
Cập nhật DataHub từ Generic hoặc
DataHub tùy thuộc vào giá trị tự động |
UpdateNVRAM |
Boolean |
Cập nhật NVRAM liên quan đến thông
tin SMBIOS |
UpdateSMBIOS |
Boolean |
Cập nhật SMBIOS từ Generic hoặc
SMBIOS tùy thuộc vào giá trị tự động |
UpdateSMBIOSMode |
String |
Hãy giữ nguyên còn nếu với phần cứng
Dell thì bạn hãy chuyển từ Create thành Custom |
Generic
AdviseWindows |
Boolean |
Buộc Windows hỗ trợ
trong FirmwareFeatures nhằm khắc phục những vấn đề xoay quanh phân vùng EFI
khi xài dualboot |
MLB |
String |
Hướng dẫn ở dưới |
ROM |
Data |
Các bạn lấy địa chỉ MAC từ đây rồi
xoá đi dấu 2 chấm để vào là được. macOS: System Preferences ->
Network -> Ethernet -> Advanced -> MAC Address Windows: Settings -> Network &
Internet -> Ethernet -> Ethernet -> Physical MAC Address |
SpoofVendor |
Boolean |
Đặt thông tin hãng cung cấp
SMBIOS thành Acidanthera |
SystemProductName |
String |
Sandy Bridge: iMac12,2(Desktop),
MacBookPro8,1(Laptop) Ivy Bridge: iMac13,2(Desktop),
MacBookPro9,2(Laptop) Haswell: iMac14.2(Desktop),
MacBookPro11,1(Laptop), MacBookAir6,2(Laptop) Broadwell: MacBookPro12,1(Laptop),
MacBook8,1(Laptop), MacBookAir7,1(Laptop) Skylake: iMac17,1(Desktop),
MacBookPro13,1(Laptop) Kabylake: iMac17,1(Desktop),
MacBookPro14,1(Laptop) Coffeelake: iMac18,3(Desktop),
MacBookPro15,2(Laptop) Coffeelake-r: Macmini8,1(only iGPU),
iMac19,2(iGPU + dGPU), MacBookPro15,2(Laptop) CPU dòng F: iMacPro1,1 |
SystemSerialNumber |
String |
Hướng dẫn ở dưới |
SystemUUID |
String |
Hướng dẫn ở dưới |
Để có được thông tin điền vào MLB, SystemSerialNumber và SystemUUID, hãy tải repo GenSMBIOS rồi chạy GenSMBIOS.bat với Windows còn GenSMBIOS.command với macOS sau đó gõ 3 rồi copy SMBIOS phù hợp với cấu hình của bạn ở trên vào nhấn Enter, ngay lập tức những thông tin cần thiết sẽ hiện ra cho bạn
UEFI
phần này các bạn nên để mặc định.
ConnectDrivers
Nếu tắt đi thì bootloader sẽ tự load đa số các trình điều khiển uEFI có trong /EFI/OC/Drivers/ và sẽ làm tăng tốc độ khởi động lên chút ít
Drivers
Hãy thêm tên các trình điều khiển mà máy bạn cần vào đây, với 2 drivers sau sẽ cần dùng với mọi máy:
OpenRuntime.efi |
driver thay thế
cho FwRuntimeServices.efi, AptioMemoryFix, OSXAptioFixDrv,... |
HFSBox.efi |
bạn có thể dùng driver từ Clover
sang hoặc tải từ đây rồi copy vào /EFI/OC/Drivers/ và 1 số drivers khác: (đa số
không cần quan tâm) |
AudioDxe.efi |
hỗ trợ âm thanh cho uEFI |
CrScreenshotDxe.efi |
để chụp ảnh màn hình |
HiiDatabase.efi |
sửa lỗi GUI cho dòng CPU Sandy Bridge
và cũ hơn |
NvmExpressDxe.efi |
dùng khi không có driver NVMe
tích hợp sẵn ở dùng CPU Haswell hoặc cũ hơn |
OpenCanopy.efi |
đây là tuỳ chọn GUI của OpenCore
(mình hướng dẫn ở dưới) |
AppleUsbKbDxe.efi +
UsbMouseDxe.efi |
chỉ dùng với CPU Sandy Bridge và
cũ hơn khi hệ thống chạy DuetPkg |
Ps2KeyboardDxe.efi
+ Ps2MouseDxe.efi |
cần thêm với những Desktop dùng
Keyboard&Mouse PS2 |
XhciDxe.ef |
XhciDxe.efi: dùng khi không có
driver XHCI tích hợp sẵn ở CPU Sandy Bridge hoặc cũ hơn |
Quirks
DisableSecurityPolicy |
Nếu đang chạy thiết bị
Microsoft Surface, bạn nên bật tùy chọn này |
ExitBootServicesDelay |
Việc thực thi mã song song giữa
FileVault 2 và EXIT_BOOT_SERVICE làm bộ điều khiển SATA không thể truy cập được
từ macOS nên cần delay 3 đến 5s để giải quyết vấn đề với các BIOS APTIO IV (cụ
thể với ASUS Z87-Pro) |
IgnoreInvalidFlexRatio |
Các giá trị không hợp lệ trong thanh
ghi MSR_FLEX_RATIO (0x194) MSR (cụ thể với BIOS APTIO IV) có thể gây ra lỗi
khởi động macOS trên nền tảng Intel. Không nên sử dụng nếu không được yêu cầu |
ReleaseUsbOwnership |
Cố gắng tách quyền sở hữu bộ điều
khiển USB khỏi trình điều khiển. Nếu stuck ở apfs_module_start:1683 thì hãy bật |
RequestBootVarRouting |
Bật tính năng này để ngăn tùy chọn
Startup Disk trong những firmware không tương thích với các mục khởi động của
macOS |
TscSyncTimeout |
Đồng bộ hóa TSC sớm trên một số
máy tính xách tay khi chạy hạt nhân XNU gỡ lỗi. Đây chỉ là giải pháp tạm thời,
khuyến khích dùng VoodooTSCSync.kext |
UnblockFsConnect |
Chủ yếu bật với phần cứng HP khi
không có ổ cứng nào được liệt kê bởi chế độ By Driver |
Đây là phần không bắt buộc nhưng nếu bạn muốn máy bạn giống realmac thêm nữa thì hãy làm nhé! Tinh chỉnh GUI của OpenCore và thêm Boot-chime
GUI
Bước đầu bạn cần tải OcBinaryData về và giải nén nó sau đó các bạn ghi đè các folder /EFI/OC/Resources/. Làm theo hướng dẫn mình đính kèm bên trong đó là được.
Boot-chime
Bước đầu các bạn cần ghi đè folder Audio từ OcBinaryData-master/Resources sau khi giải nén vào /EFI/OC/Resources/ (do quá nhiều file con nên mình không chụp rõ cho các bạn được)
Tiếp theo bạn cần chỉnh trong config.plist/NVRAM như dưới
Để nhập 0x46 vào các bạn hãy gõ <46> nhé!
Tiếp theo các bạn cần thêm driver AudioDxe.efi vào /EFI/OC/Drivers/ cũng như thêm AudioDxe.efi vào config.plist/UEFI/Drivers như sau
Sau đó các bạn lần lượt tìm kiếm như mình qua app IORegistryExplorer
Vậy AudioCodec là 0
Các bạn tìm đến PCIe -> IOReg Name -> "HDEF" để biết AudioDevice
Vậy AudioDevice là PciRoot(0x0)/Pci(0x1F,0x3)
Vậy áp dụng công thức ta được (100 * 90) / 70 = 128.5 (mình sẽ làm tròn nó lên 129)
Ở AudioSupport và PlayChime thì bạn cứ chọn YES nhé!
Vậy là xong, Chúc các bạn may mắn nhé!
Để tìm hiểu thêm về Hackintosh. Hãy tham gia group HSVN - Hackintosh Vietnam của chúng tôi.