Chuyển đổi từ Clover sang OpenCore
Last updated
Last updated
Nếu bạn thấy thích OpenCore và muốn thử nó, hãy tham khảo những bài viết dưới đây:
Làm sạch Clover Junk trong macOS
Những mục cần kiểm tra :
/Volumes/EFI/EFI/CLOVER/drivers64UEFI/EmuVariableUefi-64.efi
/Volumes/EFI/nvram.plist
/etc/rc.clover.lib
/etc/rc.boot.d/10.save_and_rotate_boot_log.local
/etc/rc.boot.d/20.mount_ESP.local
/etc/rc.boot.d/70.disable_sleep_proxy_client.local.disabled
/etc/rc.shutdown.d/80.save_nvram_plist.local
Nếu các thư mục trống thì cũng xóa chúng:
/etc/rc.boot.d
/etc/rc.shutdown.d
Loại bỏ Clover's Preference Pane:
/Library/PreferencePanes/Clover.prefPane
/Library/Application\ Support/clover
Loại bỏ các kext khỏi macOS (S/L/E và L/E)
Note: OpenCore sẽ không thể thêm các kext đã có sẵn trong kernalcache, cho nên bạn cần phải làm sạch để tránh lỗi không mong muốn.
Mở terminal và chạy lệnh sau:
sudo kextcache -i /
Lệnh này sẽ báo cáo về bất kỳ kexts nào không nên có trong S / L / E hoặc L / E.
Loại bỏ tất cả các kexts hack:
sudo -s
touch /Library/Extensions /System/Library/Extensions
kextcache -i /
Lưu ý, macOS Catalina sẽ cần mount -uw /
lệnh để gắn ổ đĩa hệ thống dưới dạng Đọc / Ghi
Làm sạch Clover Junk trong phần cứng của bạn
Một điều khác mà Clover có thể đã ẩn đi là các biến NVRAM, điều này là xấu vì OpenCore sẽ không ghi đè các biến trừ khi được thông báo rõ ràng thông qua tính năng Xóa được tìm thấy trong NVRAM -> Delete. Để khắc phục điều này, chúng ta sẽ cần phải xóa sau đó thông qua tính năng ClearNvram của OpenCore.
Mở config.plist:
Misc -> Security -> AllowNvramReset -> True
Trên màn hình khởi động OpenCore, chọn Reset NVRAM boot option, mọi thử sẽ được xóa sau khi máy khởi động lại.
Lưu ý: Máy tính xách tay Thinkpad có thể gặp lỗi sau khi reset NVRAM trong OpenCore, chúng tôi khuyên bạn nên đặt lại NVRAM bằng cách cập nhật BIOS trên các máy này.
Bổ sung: Ngăn OpenCore ghi đè thông tin lên các Hệ điều hành khác.
Mặc định OpenCore sẽ ghi đè thông tin SMBIOS lên các hệ điều hành khác, bởi vì 2 lý do dưới đây:
Tránh việc thông tin được ghi nhiều lần
Cách khắc phục:
Kernel -> Quirks -> CustomSMBIOSGuid -> True
PlatformInfo -> UpdateSMBIOSMode -> Custom
ACPI Renames:
Chúng ta nên loại bỏ các bản vá(Patch) không còn phù hợp:
change EHC1 to EH01
change EHC2 to EH02
change XHCI to XHC
change XHC1 to XHC
SATA patches: Không cần thiết
change SAT0 to SATA
change SAT1 to SATA
change HECI to IMEI
change HEC1 to IMEI
change MEI to IMEI
change IDER to MEID
change GFX0 to IGPU
change PEG0 to GFX0
change PEGP to GFX0
change SL01 to PEGP
change EC0 to EC
change H_EC to EC
change ECDV to EC
change PGEC to EC
change HDAS to HDEF
change CAVS to HDEF
change AZAL to HDEF
change ALZA to HDEF
change B0D3 to HDAU
change STAS to [Blank]
Fix Z390 BIOS DSDT Device(RTC) bug
Fix 300-series RTC Bug
change PXSX to ANS1
change PXSX to ANS2
change PXSX to ARPT
Các bản vá không cần thiết khác
change PC00 to PCIO
change FPU to MATH
change TMR to TIMR
change PIC to IPIC
change GBE1 to ETH0
TgtBridge patches:
ACPI -> Patch -> ... -> Base
DisableASPM:
DeviceProperties -> Add -> PciRoot... -> pci-aspm-default | Data | <00>
HaltEnabler:
ACPI -> Quirks -> FadtEnableReset -> YES
FixAirport:
FixIPIC:
FixSBUS:
FixShutdown:
Patch này bổ sung phần sụn còn thiếu và không gây hại Windows hoặc Linux
FixDisplay:
Vá framebuffer thủ công, WhateverGreen đã thực hiện hầu hết công việc này
FixHDA:
Đã được xử lý bởi AppleALC
FixHPET:
FixSATA:
Kernel -> Quirks -> ExternalDiskIcons -> YES
FixADP1:
FixRTC:
FixTMR:
AddPNLF:
AddMCHC:
AddIMEI:
WhateverGreen cũng sẽ xử lý IMEI naming
FakeLPC:
DeviceProperties -> Add -> PciRoot... -> device-id
Cần thiết để hỗ trợ cho LPC controller sẵn có trong AppleLPC
FixIntelGfx:
AddHDMI:
ACPI -> Delete
PluginType:
Boot Argument:
NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> boot-args
NeverHibernate:
Misc -> Boot -> HibernateMode -> None
Default Boot Volume:
Misc -> Security -> AllowSetDefault -> True
Nhấn giữ Ctrl+Enter vào bộ chọn để đặt phân vùng boot mặc định.
Thay thế Startup Disk trong tùy chọn hệ thống của macOS
Boot Graphics
DefaultBackgroundColor:
NVRAM -> Add -> 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 -> DefaultBackgroundColor
00000000
: Syrah Black
BFBFBF00
: Light Gray
Để điều chỉnh, hảy đổi giá trị RGB sang HEX
EFILoginHiDPI:
Clover only flag, for OpenCore UI scaling see UIScale and UEFI -> Output
flagstate:
NVRAM -> Add -> 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 -> flagstate | Data | <>
0 -> <00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(dumped from a mac)
Cần phải kiểm tra vị trí NVRAM
UIScale:
NVRAM -> Add -> 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 -> UIScale | Data | <>
1 -> <01>
2 -> <02>
PlatformInfo -> Generic -> ProcessorType
QEMU: Proper VM/KVM support is implemented in OpenCore
Devices
USB:
FixOwnership: UEFI -> Quirk -> ReleaseUsbOwnership
ClockID: DeviceProperties -> Add -> PciRoot... -> AAPL,clock-id
HighCurrent: DeviceProperties -> Add -> PciRoot... -> AAPL, HighCurrent
không sử dụng cho OS X 10.11 và mới hơn
Biến thể mới hơn là PowerProperties được xác định trong IOUSBHostFamily.kext -> AppleUSBHostPlatformProperties hoặc được thêm vào bởi SSDT-USBX.aml cho Skylake SMBIOS và mới hơn
Audio:
path/to/gfxutil -f HDEF
Inject: DeviceProperties -> Add -> PciRoot... -> layout-id
AFGLowPowerState: DeviceProperties -> Add -> PciRoot... -> AFGLowPowerState -> <01000000>
ResetHDA: UEFI -> Audio -> ResetTrafficClass
Add Properties:
Không có tùy chọn tương đương, cần chỉ định với đường dẫn PciRoot
Properties:
DeviceProperties -> Add
USB
device-id
device_type
device_type
IMEI
device-id
vendor-id
WIFI
name
compatible
LAN
device-id
compatible
vendor-id
XHCI
device-id
device_type: UHCI
device_type: OHCI
device_type: EHCI
device-id
AAPL,current-available
AAPL,current-extra
AAPL,current-available
AAPL,current-extra
AAPL,current-in-sleep
built-in
device_type: XHCI
device-id
AAPL,current-available
AAPL,current-extra
AAPL,current-available
AAPL,current-in-sleep
built-in
ForceHPET:
UEFI -> Quirks -> ActivateHpetSupport
Disable Drivers
Chỉ cần không thêm drivers vào UEFI -> Drivers, hoặc thêmd # và trước driver trong config.plist để bỏ qua.
Graphics
Note:Nên thay thế bằng PciRoot...
InjectIntel:
InjectAti:
DeviceProperties -> Add -> PciRoot... -> device-id
vd: <B0670000> dùng cho R9 390X
DeviceProperties -> Add -> PciRoot... -> @0,connector-type
Có thể cần phải thêm Connectors (vd: @1,connector-type, @2,connector-type) cho số lượng cổng xuất hình. Danh sách các loại cổng:
LVDS <02 00 00 00>
DVI (Dual Link) <04 00 00 00>
DVI (Single Link) <00 02 00 00>
VGA <10 00 00 00>
S-Video <80 00 00 00>
DP <00 04 00 00>
HDMI <00 08 00 00>
DUMMY <01 00 00 00>
InjectNvidia:
FakeIntel:
DeviceProperties -> Add -> PciRoot(0x0)/Pci(0x2,0x0) -> device-id
ie. 66010003 for the HD 4000
DeviceProperties -> Add -> PciRoot(0x0)/Pci(0x2,0x0) -> vendor-id -> <86800000>
FakeAti:
DeviceProperties -> Add -> PciRoot... -> device-id
vd: <B0670000> dùng cho R9 390X
DeviceProperties -> Add -> PciRoot... -> ATY,DeviceID
vd: <B067> dùng cho R9 390X
DeviceProperties -> Add -> PciRoot... -> @0,compatible
vd: ATY,Elodea cho HD 6970M
DeviceProperties -> Add -> PciRoot... -> vendor-id-> <02100000>
DeviceProperties -> Add -> PciRoot... -> ATY,VendorID -> <0210>
Custom EDID
Dual Link:
DeviceProperties -> Add -> PciRoot... -> AAPL00,DualLink
1 -> <01000000>
0 -> <00000000>
NVCAP
display-cfg:
DeviceProperties -> Add -> PciRoot... -> @0,display-cfg
LoadVBios:
PatchVBios: See LoadVBIOS
NvidiaGeneric:
DeviceProperties -> Add -> PciRoot... -> model | string | Add the GPU name
NvidiaNoEFI:
DeviceProperties -> Add -> PciRoot... -> NVDA,noEFI | Boolean | True
ig-platform-id:
DeviceProperties -> Add -> PciRoot(0x0)/Pci(0x2,0x0) -> APPL,ig-platform-id
BootDisplay:
DeviceProperties -> Add -> PciRoot... -> @0,AAPL,boot-display
RadeonDeInit:
Trong hầu hết các trường hợp, nên sử dụng WhateverGreen để xử lý. SSDT này là không cần thiết nếu WhateverGreen được sử dụng.
Tùy chỉnh này dành cho GFX0
KernelPm:
Kernel -> Quirks -> AppleXcpmCfgLock -> YES
Lưu ý rằng Clover sẽ tự động áp dụng bản vá này mà không cần cài đặt nó nếu MSR E2 bị khóa, vì vậy bạn có thể cần bật AppleXcpmCfgLock ngay cả khi Clover không có
AppleIntelCPUPM:
Kernel -> Quirks -> AppleCpuPmCfgLock -> YES
DellSMBIOSPatch:
An odd quirk for Dell systems running APTIO V
Kernel -> Quirks -> CustomSMBIOSGuid -> YES
PlatformInfo -> UpdateSMBIOSMode -> Custom
KextsToPatch:
Kernel -> Patch
KernelToPatch:
Kernel -> Patch
ForceKextsToLoad:
Kernel -> Force
Kernel LAPIC:
Kernel -> Quirks -> LapicKernelPanic -> YE
S
KernelXCPM:
Kernel -> Quirks -> AppleXcpmExtraMsrs -> YES
Base: _xcpm_bootstrap
Comment: _xcpm_bootstrap (Ivy Bridge) 10.15
Count: 1
Enabled: YES
Find: 8D43C43C22
Identifier: kernel
Limit: 0
Mask: FFFF00FFFF
MinKernel: 19.
MaxKernel: 19.99.99
Replace: 8D43C63C22
ReplaceMask: 0000FF0000
Skip: 0
USB Port Limit Patches:
Kernel -> Quirks -> XhciPortLimit -> YES
External Icons Patch:
Kernel -> Quirks -> ExternalDiskIcons -> YES
Dùng khi bạn ổ đĩa trong được xem là ổ đĩa ngoài trên macOS
AppleRTC
Issue with AppleRTC, quite a simple fix:
config.plist -> Kernel -> Quirks -> DisableRtcChecksum -> true
boot-arg khắc phục 99% trường hợp gây lỗi (dùng chung với RTCMemoryFixup):
rtcfx_exclude=00-FF
Nếu điều này hoạt động, từ từ rút ngắn phạm vi bị loại trừ cho tới khi macOS trở nên bất ổn
FakeCPUID:
Kernel -> Emulate:
Cpuid1Mask: <Clover_FCPUID_Extended_to_4_bytes_Swapped_Bytes> | 00 00 00 00 | 00 00 00 00 | 00 00 00 00
ex(0x0306A9): A9060300 00000000 00000000 00000000
Cpuid1Data(Hoán đổi 00 bởi FF nếu cần hoán đổi với giá trị dài hơn)
vd: FFFFFFFF 00000000 00000000 00000000
ROM:
Không tùy chọn tương đương cho UseMacAddr0. Nếu cần lấy ROM theo phần cứng, hãy tìm trong System Preferences -> Network -> Advanced -> Hardware
MLB:
PlatformInfo -> Generic -> MLB
BooterConfig:
NVRAM -> Add -> 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14-> UIScale:
0x28: Data | <01>
0x2A: Data | <02>
CsrActiveConfig:
NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> csr-active-config:
0x0: 00000000
0x3: 03000000
0x67: 67000000
0x3E7: E7030000
Product Name:
PlatformInfo -> Generic -> SystemProductName
Serial Number:
PlatformInfo -> Generic -> SystemSerialNumber
Board Serial Number:
PlatformInfo -> Generic -> MLB
SmUUID:
PlatformInfo -> Generic -> SystemUUID
Memory:
PlatformInfo -> CustomMemory -> True
PlatformInfo -> Memory
Slots AAPL Injection:
DeviceProperties -> Add -> PciRoot... -> APPL,slot-name | string | Add slot
CustomUUID:
Không được khuyến khích và không có tùy chọn tương đương trên OpenCore
InjectSystemID:
Không có tùy chọn tương đương
BacklightLevel:
Property set in NVRAM
NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> backlight-level | Data | <Insert value>
0x0101 -> <0101>
InjectKexts:
Không có tùy chọn tương đương.
NoCaches:
Chỉ hoạt động với macOS 10.7 trở về trước. Không có tùy chọn tương đương trên OpenCore
ExposeSysVariables:
Chỉ cần thêm thuộc tính SMBIOS của bạn vào PlatformInfor
Không còn được đề cập trong các phiên bản gần đây trong tài liệu về Clover trên AppleLife
NvidiaWeb:
Ghi giá trị nvda_drv = 1
vào nvram mỗi lần khởi động .
NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> nvda_drv: <31>
Để hỗ trợ multiboot giống như
EHCI Patches: Nên dùng để thay thế. Skylake trở đi không cần patch này.
XHCI Patches: Không cần thiết khi đã
IMEI Patches: Đã được xử lý bởi
GFX patches: Đã được xử lý bởi
EC Patches: Giải pháp tốt hơn:
Audio renames: Đã được xử lý bởi
Z390 BIOS RTC bug fix: Thay thế bởi: (SSDT-AWAC)
NVMe patches: Thay thế bởi
Airport/WiFi Patches: Được thay thế bởi
change LPC0 to LPCB: Thay thế bởi
Dùng để tạo SSDT, FixHPET - vá xung đột IRQ
Dùng để tạo SSDT, FixHPET - vá xung đột IRQ
Renames device AC0_ to ADP1, tham khảo
Thêm Name (_PRW, Package (0x02) {0x1C,0x03}
) nếu thiếu. Tham khảo
Dùng để tạo SSDT, FixHPET - vá xung đột IRQ
Dùng để tạo SSDT, FixHPET - vá xung đột IRQ
tham khảo
tham khảo
tham khảo
Trên Sandy Bridge on Z77 và IvyBridge on Z67, IMEI cần phải làm giả, tham khảo
Đã được xử lý bởi
Đã được xử lý bởi
Được thay thế bởi
Tham khảo
Generate P States: Được thay thế bởi SSDT-PM.aml. Tham khảo (For Sandy Bridge and IvyBridge)
Generate C States: Được thay thế bởi SSDT-PM.aml. Tham khảo (For Sandy Bridge and IvyBridge)
Tham khảo
HWPEnable: Nên sử dụng để thay thế giá trị MSR 0x770
TurboDisable: Nên sử dụng or đẻ thay thế
Bạn cần biết PciRoot của bộ điều khiển âm thanh và tên của nó(thường là HDEF, cũng có thể là HDAS, HDAU, ...), Có thể tìm thấy với :
Có thể dùng boot-arg alctsel=1
của AppleALC hoặc
FakeID: Để sử dụng, bạn cần phải biết PciRoot và thuộc tính để áp dụng trong DeviceProperties -> Add, PciRoot có thể tìm thấy bởi
Tham khảo
Tham khảo
Note: Tham khảo để tạo SSDT- GPU-Spoofing. Fake ID GPU bằng DeviceProperties không thành công thì bạn có thể dùng SSDT- GPU-Spoofing giống với InjectAti, tham khảo
Tham khảo
Tham khảo
Tham khảo bài đăng của FASSL về vấn đề này:
Tham khảo để tùy chỉnh VBIOS
NvidiaSingle: Tham khảo
Tham khảo bình luận của FredWst:
Tham khảo
Tham khảo
Để biết thêm các bản vá cần chuyển đổi, hãy so sánh với . Một số bản vá không được chuyển qua gây lỗi. ví dụ cho việc chuyển đổi bản vá sang OpenCore:
Nguồn tham khảo:
Đối với Haswell+ cấp thấp như Celerons, vui lòng xem tại đây để biết các bản vá được đề xuất:
Lưuý: Nếu bạn vẫn gặp sự cố, bạn sẽ cần sử dụng . Tham khảo để biết thêm thông tin.
Lưu ý: Tìm CPUID qua Intel ARK sẽ khó hơn tìm qua ghi chú cập nhật của Microsoft. Tham khảo tại
Đảm bảo En0 vẫn được tích hợp để không gặp .
Tham khảo
Xem lý do
Để tìm hiểu thêm về Hackintosh. Hãy tham gia group của chúng tôi.