Tìm hiểu chi tiết về config.plist

Các điều cơ bản cần biết
  • Các key #WARNING - x có thể xoá nếu muốn, không có ảnh hưởng gì.

  • Một config.plist sẽ luôn bao gồm các phần và cần chỉnh sửa như sau:

    • ACPI: Can thiệp ACPI bằng việc bổ sung và vá nhằm tăng tính tương thích.

    • Booter: Gồm các bản vá cần thiết cho hệ thống UEFI

      • Đa số áp dụng cho trình khởi động Apple.

    • Device Properties: Thêm một số thuộc tính cần thiết cho các thiết bị PCI.

    • Kernel: Nhằm can thiệp đến Apple Kernel (XNU) bằng việc thêm kext

      • Vá kernel và chặn kext hoạt động.

    • Misc: Chức các tuỳ chọn về khởi động của OpenCore

      • Tuân theo chính sách khởi động của Apple.

    • NVRAM: Cung cấp thêm các biến trong NVRAM cần thiết cho macOS.

    • Platforminfo: Bao gồm các thông tin máy Mac được tạo ra dựa theo AppleModels nhằm tương thích với các dịch vụ của macOS

    • UEFI: Tại đây cho phép tải thêm một số UEFI module cùng các bản vá cần thiết.

Hãy nhớ rằng mọi thay đổi về

  • ACPI

  • Kexts

  • Drivers

  • Tool

Trong EFI đều cần tiến hành OC_Snapshot

Cách OC_Snapshot

B1: Mở Config.plist với Propertree

B2: Chọn File --> OC_Snapshot

B3: Chọn vào folder OC và chọn Select folder

B4: Ấn Save lại và vậy là xong

ACPI

Add

Đây là nơi inject các SSDT và DSDT trong config.plist

Các bạn chỉ việc OC_Snapshot là được không cần làm gì thêm

Delete

  • Nhằm chặn hoạt động của một hay nhiều bảng ACPI có sẵn.

  • Với CPU Intel Sandy Bridge và Ivy Bridge

    • Không áp dụng với dòng HEDT

    • Điều này là cần thiết bởi XCPM của Apple có thể gây lỗi AppleIntelCPUPowerManagement, hãy đặt giá trị True với 2 key là AllEnabled.

Dưới đây là bảng thông tin và công dụng của các dòng trong Delete

KeyTypeGhi chú

All

Boolean

Nhằm chặn tất cả ACPI phù hợp

Comment

String

Giải thích tác dụng, để trống hoặc ghi thêm tuỳ ý

Enabled

Boolean

Cho phép áp dụng hoặc không

OemTableId

Data

Xác định bảng ACPI bằng OEM ID

TableLength

Number

Giá trị mặc định phù hợp với mọi bảng ACPI

TableSignature

Data

Áp dụng với loại bảng ACPI, phổ biến là SSDT

Patch

Đây là nơi add các patch rename nhằm rename cácACPI-IDtrong DSDT mà không cần sửa trực tiếp

Xem chi tiết tại đây

Dưới đây là bảng thông tin và công dụng của các dòng trong Patch

KeyTypeGhi chú

Base

String

Áp dụng với một hoặc bất kì thiết bị PCI phù hợp

BaseSkip

Number

Số lần áp dụng với Base khi được tìm thấy. Giá trị 0 tức không giới hạn

Comment

String

Giải thích tác dụng, để trống hoặc ghi thêm tuỳ ý

Count

Number

Số lần áp dụng khi được tìm thấy. Giá trị 0 tức không giới hạn

Enabled

Boolean

Cho phép áp dụng hoặc không

Find

Data

Giá trị cần tìm ở dạng HEX

Limit

Number

Số lần tối đa được tìm kiếm. Giá 0 tức không giới hạn

Mask

Data

Giá trị bitwise mask dành cho Find. Nếu sử dụng cần áp dụng tương ứng với Find

OemTableId

Data

Xác định bảng ACPI bằng OEM ID. Để trống tức thay đổi cho tất cả

Replace

Data

Giá trị thay thế ở dạng HEX

ReplaceMask

Data

Giá trị bitwise mask dành cho Replace. Nếu sử dụng cần áp dụng tương ứng với Replace

Skip

Number

Số lần xuất hiện cần bỏ qua trước khi áp dụng. Giá trị 0 tức không bỏ qua lần nào

TableLength

Number

Giá trị mặc định phù hợp với mọi bảng ACPI

TableSignature

Data

Áp dụng với loại bảng ACPI. Để trống tức thay đổi cho tất cả

Quirks

KeyTypeGhi chú

FadtEnableReset

Boolean

Sửa đổi trong bảng FADT giúp shutdown/reset hoạt động. Chủ yếu dành cho một số phần cứng cũ và một số laptop mới khi gặp lỗi

NormalizeHeaders

Boolean

Chỉ dành cho macOS High Sierra 10.13 khi gặp com.apple.driver.AppleACPIPlatform panic

RebaseRegions

Boolean

Xác định lại bộ nhớ ACPI, không được khuyến khích

ResetHwSig

Boolean

Đặt giá trị HardwareSignature thành 0 trong bảng FACS

ResetLogoStatus

Boolean

Đặt giá trị Displayed status thành False trong bảng BGRT

SyncTableIds

Boolean

Đồng bộ hoá các bảng ACPI đã được vá không tương thích với bảng SLIC ảnh hướng đến Windows phiên bản cũ

EnableForAll

Boolean

Chỉ sử dụng với OpenCore_NO_ACPI, hãy xoá đi (nếu có) khi dùng phiên bản OpenCore gốc Cho phép áp dụng các bản vá ACPIs với tất cả hệ điều hành khi được khởi động qua hoặc không

Booter

MmioWhitelist

Yêu cầu quirk DevirtualiseMmio được bật để hoạt động.

Xem chi tiết tại đây

KeyTypeGhi chú

Address

Number

Địa chỉ MMIO cần được chặn

Comment

String

Giải thích tác dụng, để trống hoặc ghi thêm tuỳ ý

Enabled

Boolean

Cho phép áp dụng hoặc không

Patch

Tôi không có kiến thức về phần này nhưng dường như nó cũng không quan trọng bạn có thể bỏ qua nó

Quirks

KeyTypeGhi chú

AvoidRuntimeDefrag

Boolean

Bắt buộc với mọi phần cứng nhằm sửa lỗi ngày giờ, NVRAM, điều khiển nguồn,…

DevirtualiseMmio

Boolean

Tìm hiểu thêm tại hướng dẫn MmioWhitelist

EnableSafeModeSlide

Boolean

Cần thiết khi Safe Mode ở macOS không hoạt động. Yêu cầu mainboard hỗ trợ UEFI

EnableWriteUnprotector

Boolean

Cho phép chỉnh sửa UEFI Runtime Services(CR0)

ProtectMemoryRegions

Boolean

Chỉ dành cho laptop Chromebook dùng UEFI coreboot gặp lỗi shutdown/restart

ProtectUefiServices

Boolean

Chặn việc ghi đè cho UEFI services dành cho CPU Intel Ice Lake và motherboard Z390

ProvideCustomSlide

Boolean

Sửa lỗi OCABC: Only N/256 slide values are usable!, có thể tắt nếu không cần thiết

RebuildAppleMemoryMap

Boolean

Dành cho phần cứng có bảng MAT, tạo Memory Map tương thích cho macOS

ResizeAppleGpuBars

Number

Nếu Resizable BAR Support được hỗ trợ và bật trong BIOS hãy để giá trị là 0, còn không hãy để nguyên -1

SetupVirtualMap

Boolean

Sửa lỗi của SetVirtualAddresses. Những motherboard Gigabyte có thể cần bật nếu 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 và buộc macOS, Windows, Linux,… khởi động bằng bảng MAT

EnableForAll

Boolean

Chỉ sử dụng với OpenCore_NO_ACPI, hãy xoá đi (nếu có) khi dùng phiên bản OpenCore gốc Cho phép áp dụng Booter với tất cả hệ điều hành khi được khởi động qua hoặc không

DeviceProperties

Add

Như tên của nó đây là phần giúp các bạn thêm các thuộc tính hay gọi là properties vào các device PCIe

Một số guide bạn có thểm tham khảo

Delete

Tôi không có kiến thức về phần này

Nhưng nó cũng không có gì quan trọng bạn có thể bỏ qua

Kernel

Add

Đây là nơi inject các Kext trong config.plist

Các bạn chỉ việc OC_Snapshot là được không cần làm gì thêm

Riêng đối với OpenCore các kext được load theo một thứ tự xác định

Tức là kext nào được load trước sẽ được quyết định trong config.plist

Cụ thể là trong Kernel -> Add

Ở trong đây kext nào được liệt kê trước sẽ được load trước

Kext bắt buộc

Dưới đây là công dụng của từng dòng inject kext trong kernel

KeyTypeGhi chú

Arch

String

Nền tảng được kext hỗ trợ.

Không cần quan tâm sử dụng i386 hay x86_64 Mặc định là Any

BundlePath

String

Đường dẫn kext đầy đủ, kể từ EFI/OC/Kexts

Enabled

Boolean

Cho phép kext hoạt động hoặc không

ExecutablePath

String

Kiểm tra bằng cách nhấp chuột phải vào kext chọn Show Package Contents với macOS còn Windows hoặc Linux chỉ cần mở như folder thông thường.

Nếu không tồn tại Contents/MacOS/<tên kext> thì hãy để trống mục này

MinKernel

String

macOS thấp nhất cho phép kext hoạt động

MaxKernel

String

macOS cao nhất cho phép kext hoạt động

PlistPath

String

Mặc định cứ để là Contents/Info.plist

Còn dưới đây là bảng các MinKernel và MaxKernel

Phiên bản macOSMinKernelMaxKernel

macOS High Sierra 10.13

17.0.0

17.99.99

macOS Mojave 10.14

18.0.0

18.99.99

macOS Catalina 10.15

19.0.0

19.99.99

macOS Big Sur 11

20.0.0

20.99.99

macOS Monterey 12

21.0.0

21.99.99

macOS Ventura 13

22.0.0

22.99.99

macOS Sonoma 14

23.0.0

23.99.99

Block

Đây là mục block kext trong S/L/E thường thì không cần động tới

Emulate

Mục này chủ yếu để Fake CPU-ID mà thôi xem chi tiết tại đây

KeyTypeGhi chú

Cpuid1Data

Data

Dùng để Fake CPUID. Xem giá trị cụ thể với một số phần cứng bên dưới

Cpuid1Mask

Data

Dùng để Fake CPUID. Xem giá trị cụ thể với một số phần cứng bên dưới

DummyPowerManagement

Boolean

Hãy bật nếu dùng CPU AMD hoặc CPU Intel Celeron/Pentium nhằm tránh gặp AppleIntelCPUPowerManagement panic

MinKernel

String

macOS thấp nhất cho phép áp dụng thay đổi

MaxKernel

String

macOS cao nhất cho phép áp dụng thay đổi

Mục MinKernel và MaxKernel tương tự như ở kernel --> Add xem ở trên nhé

Force

Dùng để force các kext trong S/L/E thường không cần động đến nó

Patch

Dùng để patch các kext trong S/L/E

KeyTypeGhi chú

Arch

String

Nền tảng được áp dụng bản vá. Không cần quan tâm sử dụng i386 hay Any

Base

String

Áp dụng với một hoặc bất kì symbol phù hợp

Comment

String

Giải thích tác dụng, để trống hoặc ghi thêm tuỳ ý

Count

Number

Số lần áp dụng khi được tìm thấy. Giá trị 0 tức không giới hạn

Enabled

Boolean

Cho phép áp dụng hoặc không

Find

Data

Giá trị cần tìm ở dạng HEX

Identifier

String

Áp dụng bản vá dành cho kext(com.apple.driver.AppleIntelI210Ethernet) hay kernel

Limit

Number

Số lần tối đa được tìm kiếm. Giá 0 tức không giới hạn

Mask

Data

Giá trị bitwise mask dành cho Find. Nếu sử dụng cần áp dụng tương ứng với Find

MaxKernel

String

macOS cao nhất cho phép áp dụng thay đổi

MinKernel

String

macOS thấp nhất cho phép áp dụng thay đổi

Replace

Data

Giá trị thay thế ở dạng HEX

ReplaceMask

Data

Giá trị bitwise mask dành cho Replace. Nếu sử dụng cần áp dụng tương ứng với Replace

Skip

Number

Số lần xuất hiện cần bỏ qua trước khi áp dụng. Giá trị 0 tức không bỏ qua lần nào

Mục MinKernel và MaxKernel tương tự như ở kernel --> Add xem ở trên nhé

Quirks

KeyTypeGhi chú

AppleCpuPmCfgLock

Boolean

Vô hiệu hoá việc ghi PKG_CST_CONFIG_CONTROL (0xE2) MSR trong AppleIntelCPUPowerManagement.kext dành cho macOS 12 trở về trước

AppleXcpmCfgLock

Boolean

Vô hiệu hoá việc ghi PKG_CST_CONFIG_CONTROL (0xE2) MSR trong XNU kernel

AppleXcpmExtraMsrs

Boolean

Vô hiệu hoá nhiều quyền truy cập MSR quan trọng đối với một số CPU không hỗ trợ XCPM

AppleXcpmForceBoost

Boolean

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 và CPU Intel Alder Lake chỉ có P-Cores

CustomPciSerialDevice

Boolean

Thay đổi địa chỉ PMIO register cho các thiết bị PCI tuỳ chỉnh

CustomSMBIOSGuid

Boolean

Cần thay đổi giá trị UpdateSMBIOSMode tương ứng nhằm vá lỗi GUID

DisableIoMapper

Boolean

Chỉ khi VT-d không được tắt trong BIOS cần dùng bản vá này nhằm vô hiệu hoá IOMapper (VT-d) trong XNU. Giải pháp thay thế cho việc chặn bảng ACPI DMAR và vô hiệu hoá VT-d trong BIOS. Nếu không sẽ vô tình làm ảnh hưởng đến các thiết bị khác như ethernet, Wi-Fi không thể kết nối, phổ biến gặp với phần cứng Gigabyte

DisableIoMapperMapping

Boolean

Giải quyết tương thích của các thiết bị ethernet, Wi-Fi và thunderbolt khi AppleVTD được kích hoạt trên những hệ thống có bảng ACPI DMAR có một hoặc nhiều Reserved Memory Regions. Một số hệ thống khác, chỉ cần quirk khi iGPU được bật. Không sử dụng với CPU AMD và bản vá chỉ dành cho macOS Ventura 13.3 trở về sau

DisableLinkeditJettison

Boolean

Cho phép Lilu cùng các kext khác hoạt động với hiệu suất tốt hơn mà không cần bootarg keepsyms=1

DisableRtcChecksum

Boolean

Vô hiệu hóa checksum (0x58-0x59) trong AppleRTC. Khuyến khích dùng RTCMemoryFixup để đảm bảo hiệu quả nhất

ExtendBTFeatureFlags

Boolean

Đặt giá trị FeatureFlags thành 0x0F nhằm đảm bảo đầy đủ chức năng của Bluetooth, phổ biến giải quyết vấn đề về tính năng Continuity

ExternalDiskIcons

Boolean

Áp dụng biểu tượng ổ cứng bên trong cho tất cả các ổ cứng AHCI

ForceAquantiaEthernet

Boolean

Nhằm kích hoạt ethernet 10GbE của Aquantia. Yêu cầu phải tắt DisableIoMapper, không chặn bảng ACPI DMAR và VT-d cần được bật trong BIOS. Hướng dẫn chi tiết tại Aquantia macOS Patches

ForceSecureBootScheme

Boolean

Chỉ dành cho khi dùng macOS trên máy ảo với SecureBootModel không phải là x86legacy

IncreasePciBarSize

Boolean

Cho phép IOPCIFamily khởi động với 2GB PCI BARs. Không sử dụng trong mọi lúc có thể

LapicKernelPanic

Boolean

Vô hiệu hóa kernel panic khi ngắt LAPIC

LegacyCommpage

Boolean

Giải quyết yêu cầu SSSE3 cho CPU 64 Bit cũ dành cho OS X 10.4 đến 10.6

PanicNoKextDump

Boolean

Cho phép đọc nhật ký kernel panic nếu có từ macOS 10.13 trở đi

PowerTimeoutKernelPanic

Boolean

Giúp khắc phục kernel panic do setPowerState vì việc thay đổi trạng thái nguồn của trình điều khiển Apple và âm thanh kỹ thuật số xuất hiện trong macOS Catalina

ProvideCurrentCpuInfo

Boolean

Cung cấp thông tin về CPU chưa có sẵn cho kernel

SetApfsTrimTimeout

Number

Đặt giá trị thành 0 nếu SSD của bạn không hỗ trợ TRIM đầy đủ cho macOS, để tâm đến tuỳ chọn này khi quá trình khởi động macOS rất chậm. Chỉ dành cho macOS Mojave 10.14 trở về sau

ThirdPartyDrives

Boolean

Nhằm kích hoạt cách tính năng có sẳn ở SSD như TRIM hoặc hibernation từ macOS Catalina 10.15 trở đi

XhciPortLimit

Boolean

Loại bỏ giới hạn 15 ports mắc định của macOS. Tìm hiểu thêm tại hướng dẫn Mapping USB

Scheme

Không cần quan tâm đến mục này có thể bỏ qua

Misc

BlessOverride

Dùng để thêm các option tại picker xem chi tiết tại đây

Boot

KeyTypeGhi chú

ConsoleAttributes

Number

Đặt thuộc tính cụ thể cho console

HibernateMode

String

Các chế độ phát hiện hibernation được hỗ trợ như: Auto(RTC + NVRAM), RTC, NVRAM hoặc None tức không sử dụng

HibernateSkipsPicker

Boolean

Không hiển thị màn hình login khi wake từ hibernate của macOS. Khuyến khích sử dụng cùng PollAppleHotKeys

HideAuxiliary

Boolean

Ẩn các tuỳ chọn RecoveryOS, Time Machine, Tools, Reset NVRAM chỉ còn lại các tuỳ chọn hệ điều hành. Chỉ cần nhấn Space tại OpenCore Picker để các tuỳ chọn này được hiển thị trở lại

InstanceIdentifier

String

Tuỳ chọn định danh cho phiên bản hiện tại của OpenCore, liên quan đến .contentVisibility

LauncherOption

String

Nhằm mục đích đảm bảo OpenCore luôn được ưu tiên khởi động. Tuỳ chọn này có thể gây lỗi trên một số phần cứng và làm chậm tốc độ khởi động chút ít. Có chế độ được hỗ trợ: Full, Short (bản không đầy đủ của Full, dành cho những phần cứng cũ từ Insyde), System

Yêu cầu quirk ForceBooterSignature trong Booter - Quirks được bật nếu sử dụng.

Chỉ sử dụng khi đã đưa EFI vào ổ cứng

LauncherPath

String

Đường dẫn đến tệp khởi động cần được ưu tiên khi kích hoạt LauncherOption. Giá trị Default tức EFI/OC/OpenCore.efi

PickerAttributes

Number

Đặt thuộc tính cụ thể cho OpenCore Picker như: hỗ trợ chuột, trackpad và đọc .VolumeIcon.icns để hiện thị icon cho các tuỳ chọn boot có sẵn

PickerAudioAssist

Boolean

Đọc các tuỳ chọn có trong OpenCore Picker. Yêu cầu kích hoạt Boot-chime để hoạt động, xem chi tiết hướng dẫn tại đây

PickerMode

String

Chọn giao diện cho OpenCore Picker. Sẵn ba tuỳ chọn sau: Builtin (giao diện gốc của OpenCore chỉ bao gồm chữ trắng trền nền đen, luôn luôn ưu tiên sử dụng nếu các tuỳ chọn khác gặp lỗi), External (sử dụng giao diện với icon, background tuỳ chỉnh nhiều hơn), Apple (sử dụng trình quản lí khởi động của Apple, chỉ dành cho máy Mac)

PickerVariant

String

Đường dẫn đến folder chứa những icons và background kể từ EFI/OC/Resources/Image cho giao diện của OpenCore Picker. Chỉ cần quan tâm nếu PickerMode có giá trị External, xem chi tiết hướng dẫn tại đây

PollAppleHotKeys

Boolean

Thêm các phím tắt bổ sung tuỳ chọn khởi động của macOS. Chi tiết các phím tắt có sẵn bên dưới

ShowPicker

Boolean

Hiển thị OpenCore Picker nhằm cho phép lựa chọn hệ điều hành mỗi lần khởi động

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

Thời gian chờ (s) trước khi OpenCore tự động hệ điều hành mắc định

Các phím tắt bổ sung khi PollAppleHotKeys được bật
  • Command/Windows + C + Minus(-): Vô hiệu hóa kiểm tra tương thích. Tương tự bootarg -no_compat_check khi được thêm

  • Command/Windows + K: Khởi động release kernel

  • Command/Windows + S: Khởi động với chế độ single user

  • Command/Windows + S + Minus(-): Vô hiệu hoá KASLR slide, cần vô hiệu hoá SIP

  • Command/Windows + V: Khởi động với chế độ verbose. Tương tự việc bootarg -v khi được thêm

  • Shift + Enter: Khởi động với chế độ an toàn

Debug

KeyTypeGhi chú

AppleDebug

Boolean

Cho phép OpenCore đọc và ghi debug log của boot.efi. Chỉ dành cho macOS 10.15.4 hoặc mới hơn

ApplePanic

Boolean

Lưu nhật kí macOS kernal panic vào phân vùng chứa OpenCore

DisableWatchDog

Boolean

Vô hiệu hoá watchdog timer với một số phần cứng khởi động chậm nhằm đảm bảo quá trình vẫn được tiếp tục

DisplayDelay

Number

Độ trễ (ms) sau mỗi thông tin được hiển thị ra màn hình

DisplayLevel

Number

Xác định những thông tin gỡ lỗi cần thiết. Yêu cầu sử dụng OpenCore DEBUG

LogModules

String

Lọc các mục nhật kí theo module

SysReport

Boolean

Tạo thư mục SysReport trong phân vùng EFI chứa các báo cáo về hệ thống (ACPI, SMBIOS, codec âm thanh). Yêu cầu sử dụng OpenCore DEBUG

Target

Number

Giá trị bitmask tổng xác định các thông tin cần thiết phải được lưu lại

Entries

Giúp OpenCore biết được thêm những đường dẫn khởi động từ nhiều hệ điều hành khác.

Security

KeyTypeGhi chú

AllowSetDefault

Boolean

Thêm phím tắt Control/Ctrl + Enter hoặc Control/Ctrl + Index nhằm thiết lập tuỳ chọn khởi động hệ điều hành ưu tiên (Startup Disk)

ApECID

Number

Đặt thành số nguyên bất kì khác 0 để sử dụng mã định danh Apple Secure Boot

AuthRestart

Boolean

Bỏ qua việc nhập mật khẩu khi khởi động lại macOS sử dụng FileVault 2

BlacklistAppleUpdate

Boolean

Bỏ qua các tuỳ chọn khởi động cập nhật Apple firmware khi biến run-efi-updater trong NVRAM không hoạt động với một số phiên bản macOS Big Sur 11,...

DmgLoading

String

Xác định DMG được load sử dụng cho macOS Recovery

EnablePassword

Boolean

Yêu cầu password để khởi động RecoveryOS, Time Machine, Tools, Reset NVRAM nhằm đảm bảo an toàn. Vẫn đang trong giai đoạn phát triển

ExposeSensitiveData

Number

Giá trị bitmask tổng biểu diễn đường dẫn bộ khởi động, phiên bản OpenCore, thông tin OEM

HaltLevel

Number

Giá trị bitmask tổng tạm dừng việc thực thi của CPU khi nhận được thông báo HaltLevel

PasswordHash

Data

Để sử dụng yêu cầu EnablePassword được bật

PasswordSalt

Data

Để sử dụng yêu cầu EnablePassword được bật

ScanPolicy

Number

Quản lí việc tìm kiếm và hiển thị các tuỳ chọn khởi động có sẵn từ ổ cứng, USB,... của OpenCore

SecureBootModel

String

Xác định giá trị dựa vào SMBIOS phục vụ Apple Secure Boot, để tắt hãy chuyển giá trị về Disabled. macOS sẽ không tìm thấy bản cập nhất nếu tuỳ chọn này được tắt hoặc không thể khởi động khi có can thiệp vào hệ thống nhưng tuỳ chọn này vẫn được bật. Không dành cho tất cả mọi phần cứng cùng các phiên bản macOS

Vault

String

Nhằm đảm bảo tính toàn vẹn của OpenCore, yêu cầu thêm file cần thiết tuỳ chế độ. Giá trị Optional tức vô hiệu hoá tính năng này

Serial

Bạn có thể bỏ qua phần này

Tools

Mục này giúp inject tools trong config.plist

Bạn chỉ việc OC_Snapshot

Chi tiết về các dòng trong mục này

KeyTypeGhi chú

Arguments

String

Nền tảng được kext hỗ trợ. Không cần quan tâm sử dụng i386 hay x86_64

Auxiliary

Boolean

Ẩn tuỳ chọn công cụ khi HideAuxiliary tại Boot đã được bật

Comment

String

Giải thích tác dụng, để trống hoặc ghi thêm tuỳ ý

Enabled

Boolean

Cho phép công cụ hoạt động hoặc không

Flavour

String

Cung cấp nội dung mô tả cho tuỳ chọn khởi động

FullNvramAccess

Boolean

Vô hiệu hoá bảo vệ NVRAM của OpenRuntime trong thời gian sử dụng công cụ

Name

String

Tên công cụ sẽ hiển thị tại OpenCore Picker

Path

String

Đường dẫn công cụ đầy đủ, kể từ EFI/OC/Tools

RealPath

Boolean

Cung cấp đường dẫn đầy đủ cho công cụ

TextMode

Boolean

Thay thế chế độ đồ hoạ mắc định bởi chế độ văn bản

NVRAM

Add

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

KeyTypeGhi chú

DefaultBackgroundColor

Data

Tuỳ chỉnh màu nền khi dùng GUI Builin cho OpenCore Picker tuỳ thích bằng mã màu HEX

4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102

KeyTypeGhi chú

rtc-blacklist

Data

Nhằm khắc phục lỗi RTC phổ biến gặp trên hệ thống ASUS và HP, sử dụng cùng với kext RTCMemoryFixup

7C436110-AB2A-4BBB-A880-FE41995C9F82

KeyTypeGhi chú

ForceDisplayRotationInEFI

Number

Nhằm xoay màn hình theo các giá trị như 90, 180, 270 tương ứng với góc xoay theo đơn vị độ

SystemAudioVolume

Data

Mức âm lượng dành cho boot-chime và trình đọc màn hình OpenCore Picker. Yêu cầu kích hoạt Boot-chime để hoạt động, xem chi tiết hướng dẫn tại đây

boot-args

String

Cơ bản một số bootarg cần thiết ban đầu. Xem chi tiết chức năng từng bootarg tại đây để giải quyết ít lỗi nếu gặp

csr-active-config

Data

Chỉnh sửa giá trị này nhằm vô hiệu hoá những cấu hình cụ thể hoặc hoàn toàn của SIP - System Integrity Protection Xem chi tiết tại đây

prev-lang:kbd

Data

Xác định bố cục bàn phím mặc định theo định dạng lang-COUNTRY:keyboard dựa vào danh sách AppleKeyboardLayouts Có thể sử dụng Type là String với giá trị tương ứng như en-US:0. Không được để trống nếu sử dụng type là String

run-efi-updater

String

Nhằm ngăn chặn các bản cập nhật firmware từ Apple và OpenCore không được ưu tiên khởi động dành cho các máy Mac

Delete

KeyTypeGhi chú

LegacyOverwrite

Boolean

Cho phép thay đổi giá trị các biến NVRAM từ nvram.plist. Chỉ dùng cho những hệ thống không có sẵn NVRAM

LegacySchema

Dictionary

Cho phép đặt một số biến NVRAM cụ thể từ dictionary của GUIDs sang array

WriteFlash

Boolean

Nhằm cấp quyền ghi các biến NVRAM vào bộ nhớ flash

PlatformInfo

KeyTypeGhi chú

Automatic

Boolean

Tạo PlatformInfo dựa vào Generic thay vì sử dụng DataHub, NVRAM hay SMBIOS

CustomMemory

Boolean

Sử dụng đi kèm Memory nhằm xác định thông tin về RAM. Chỉ hoạt động khi UpdateSMBIOS được bật

UpdateDataHub

Boolean

Cập nhật các giá trị của Data Hub dựa vào Generic hoặc DataHub dựa vào tuỳ chọn của thuộc tính Automatic

UpdateNVRAM

Boolean

Cập nhật các giá trị của NVRAM dựa vào Generic hoặc PlatformNVRAM dựa vào tuỳ chọn của thuộc tính Automatic

UpdateSMBIOS

Boolean

Áp dụng các thông tin cho SMBIOS từ Generic hoặc SMBIOS dựa vào tuỳ chọn của thuộc tính Automatic

UpdateSMBIOSMode

String

Áp dụng thông tin phần cứng Mac lên tất cả hệ điều hành khi được khởi động qua OpenCore, có thể gây lỗi Windows và các phần mềm riêng của từng hãng không hoạt động. Để giải quyết hãy thay Create thành Custom, thay đổi này cũng là bắt buộc khi sử dụng máy tính Dell

UseRawUuidEncoding

Boolean

Tuỳ chọn sử dụng mã hoá Big Endian(nếu bật) hay Little Endian(nếu tắt) cho SMBIOS UUID. Không ảnh hưởng đến UUID có trong DataHub hay NVRAM

Generic

KeyTypeGhi chú

AdviseFeatures

Boolean

Thêm một số bit sửa lỗi boot Windows và cài đặt macOS. Chỉ sử dụng khi phân vùng EFI nằm sau phân vùng Windows trên cùng một ổ cứng

MLB

String

Thông tin cơ bản về máy tính Mac nhằm tương thích với các dịch vụ của macOS.

MaxBIOSVersion

Boolean

Chỉ dành cho máy Mac từ Apple. Nhằm việc cập nhật firmware từ macOS Big Sur và mới hơn

ProcessorType

Number

Các giá trị có thể thay thế như 1537, 3841. Đa số chỉ việc để nguyên

ROM

Data

Thông tin cơ bản về máy tính Mac nhằm tương thích với các dịch vụ của macOS.

SpoofVendor

Boolean

Đặt tên hãng sản xuất thành Acidanthera. Có thể sẽ làm các phần mềm riêng của từng hãng không hoạt động

SystemMemoryStatus

String

Cung cấp thông tin hệ thống có thể nâng cấp RAM hay không. Cứ việc để mắc định

SystemProductName

Data

Thông tin cơ bản về máy tính Mac nhằm tương thích với các dịch vụ của macOS.

SystemSerialNumber

Data

Thông tin cơ bản về máy tính Mac nhằm tương thích với các dịch vụ của macOS.

SystemUUID

String

Thông tin cơ bản về máy tính Mac nhằm tương thích với các dịch vụ của macOS.

Sử dụng GenSMBIOS

Phần trên chỉ tìm hiểu cho biết thôi chứ bạn chỉ việc dùng tool GenSMBIOS không cần dùng tool thủ công

B1: Tải GenSMBIOS tại đây

B2: Chạy file GenSMBIOS.bat

B3: Nhấn 1

B4: Nhấn 2 và kéo file config.plist vào

B5: Nhấn Enter và nhấn 3 và nhập tên của SMBIOS cần gen vào

B6: Ấn Enter và tận hưởng thôi

UEFI

APFS

Phần này bạn có thể bỏ qua và chỉ việc chỉnh

  • MinDate: -1

  • MinVersion: -1

AppleInput

Phần này bạn có thể bỏ qua và không cần quan tâm

Audio

Phần này chủ yếu dùng để patch Chime xem chi tiết tại đây

ConnectDrivers

Bootloader sẽ tự load hết các trình điều khiển UEFI có trong /EFI/OC/Drivers/

Nếu tắt tuỳ chọn này, sẽ làm chậm quá trình khởi động chút ít.

Drivers

Đây là mục inject driver trong config.plist

Bạn chỉ việc OC_Snapshot mà thôi

Công dụng các driver
  • OpenRuntime.efi: Xem như phần mở rộng của OpenCore để vá lỗi boot.efi, NVRAM và quản lí bộ nhớ tốt hơn. Thay thế cho FwRuntimeServices.efi, AptioMemoryFix, OSXAptioFixDrv,…

  • OpenHFSPlus.efi: Giúp nhận diện boot từ các phân vùng HFS+(Mac OS Extended)

  • ResetNvramEntry.efi: Nhằm xoá và tạo mới các giá trị cần thiết trong NVRAM. Hãy cẩn thận khi sử dụng Reset NVRAM với BIOS của Thinkpad

  • AudioDxe.efi: Hỗ trợ âm thanh cho uEFI. Tìm hiểu thêm tại hướng dẫn tại đây

  • CrScreenshotDxe.efi: Dùng phím F10 để chụp màn hình OpenCore Picker

  • HiiDatabase.efi: Sửa lỗi khi dùng GUI cho OpenCore Picker với dòng CPU Sandy Bridge và cũ hơn

  • NvmExpressDxe.efi: Bổ sung driver NVMe không có sẵn cho CPU Haswell hoặc cũ hơn

  • OpenCanopy.efi: Thêm GUI cho OpenCore Picker. Tìm hiểu thêm tại hướng dẫn tại đây

  • 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 bàn phím và chuột PS2

  • XhciDxe.efi: Bổ sung driver XHCI không có sẵn cho CPU Sandy Bridge hoặc cũ hơn

Đây là chi tiết các dòng trong mục này

KeyTypeGhi chú

Arguments

String

Các tuỳ chọn bổ sung của driver

Comment

String

Enabled

Boolean

Cho phép driver hoạt động hoặc không

LoadEarly

Boolean

Cho phép driver hoạt động trước khi NVRAM được thiết lập trong quá trình khởi động OpenCore

Path

String

Đường dẫn driver đầy đủ, kể từ EFI/OC/Drivers

Input

Không cần quan tâm nhiều vào nó hãy bỏ qua

Output

Không cần quan tâm nhiều vào nó hãy bỏ qua

ProtocolOverrides

KeyTypeGhi chú

PickerAudioAssist

Boolean

Nhằm kích hoạt FileVault VoiceOver. Yêu cầu kích hoạt Boot-chime để hoạt động, xem chi tiết hướng dẫn tại đây

Quirks

KeyTypeGhi chú

ActivateHpetSupport

Boolean

Hỗ trợ HPET cho các bo mạch cũ như ICH6 không có sẵn

DisableSecurityPolicy

Boolean

Nhằm vô hiệu hoá các tính năng bảo mật có sẵn (Secure Boot,...). Chỉ bật nếu không thể tắt Secure Boot trong BIOS

EnableVectorAcceleration

Boolean

Bật tính năng AVX vector acceleration(nếu CPU hỗ trợ AVX hoặc AVX-512) giúp thuật toán băm SHA-512 và SHA-384 hiệu quả hơn. Có thể không tương thích với một số laptop ví dụ như Lenovo,...

EnableVmx

Boolean

Hỗ trợ ảo hoá trong Windows với một số máy Mac khi không thể kích hoạt trong BIOS

ExitBootServicesDelay

Number

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)

ForceOcWriteFlash

Boolean

Cho các biến NVRAM được quản lí bởi OpenCore được phép ghi vào bộ nhớ flash. Cần Reset NVRAM để đảm bảo hoạt động đầy đủ chức năng

ForgeUefiSupport

Boolean

Hỗ trợ một phần UEFI 2.x cho EFI 1.x firmware (VD: MacPro5,1)

IgnoreInvalidFlexRatio

Boolean

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

ReleaseUsbOwnership

Boolean

Cố gắng tách quyền sở hữu bộ điều khiển USB khỏi trình điều khiển firmware. Cân nhắc bật khi lỗi khởi động do USB hoặc các thiết bị ngoại vi

ReloadOptionRoms

Boolean

Tải lại ROM tuỳ chọn của các thiết bị PCI nếu có

RequestBootVarRouting

Boolean

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. Chuyển hướng EFI_GLOBAL_VARIABLE_GUID sang OC_VENDOR_VARIABLE_GUID bởi OC_FIRMWARE_RUNTIME có trong OpenRuntime.efi

ResizeGpuBars

Number

Cấu hình kích thước PCI BAR của GPU. Hầu hết khuyến khích cập nhật BIOS lên mới nhất hoặc sử dụng ReBarUEFI thay thế

ResizeUsePciRbIo

Boolean

Cần thiết với những hệ thống cũ đã được chỉnh sửa với ReBarUEFI khi triển khai Pcilo bị lỗi

TscSyncTimeout

Number

Đồng bộ hóa TSC trên một số máy trạm và máy tính xách tay khi chạy XNU kernel gỡ lỗi. Đây chỉ là giải pháp một cho vài trường hợp cụ thể, với các trường hợp khác đề xuất sử dụng VoodooTSCSync, TSCAdjustReset hoặc CpuTscSync. Không thể hoạt động ở chế độ ACPI S3

UnblockFsConnect

Boolean

Cần thiết khi không có ổ cứng nào được liệt kê bởi chế độ By Driver

ReservedMemory

Thường dùng để fix IGPU cho Sandy Bridge

Source: https://lzhoang2601.github.io/gathering-files/config

Last updated