Fake CPU ID
Các CPU Pentium/Celeron/Xeon



Các CPU từ Haswell trở lên (Pentium/Celeron)
Cpuid1Data: A9 06 03 00 00 00 00 00 00 00 00 00 00 00 00 00
Cpuid1Mask: FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00
Các CPU dòng HDET (Xeon)
Haswell-E :
Cpuid1Data: C3 06 03 00 00 00 00 00 00 00 00 00 00 00 00 00
Cpuid1Mask: FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00
Broadwell-E :
Cpuid1Data: D4 06 03 00 00 00 00 00 00 00 00 00 00 00 00 00
Cpuid1Mask: FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00
Enable XCPM trên các dòng low-end (Pentium và Celeron)
Comment: sử dụng cho cả OpenCore và Clover.
Disabled: tương ứng với mục Enable ben OpenCore.
MatchBuild: được thay thế bằng Minkernel và Maxkernel (các bạn dùng trang sau để search version Darwin [Darwin (operating system) - Wikipedia](https://en.wikipedia.org/wiki/Darwin_(operating_system))).
MatchOS: được thay thế bằng Minkernel và Maxkernel (các bạn dùng trang sau để search version Darwin [Darwin (operating system) - Wikipedia](https://en.wikipedia.org/wiki/Darwin_(operating_system))).
Find: có ở OpenCore và Clover.
Replace: có cả ở OpenCore và Clover.
MaskFind: OpenCore sử dụng Mask để thay thế.
Mask replace: có cả ở OpenCore và Clover.
Count, limit, skip thường được đặt thành 0.
Identifier thường được đặt thành kernel (trông 1 số trường hợp khi bạn patch kext nào thì sẽ để đường dẫn theo kext đó vd như com.apple.iokit.IOGraphicsFamily).
Pentium/Celeron (10.11 trở xuống)
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
Pentium/Celeron (10.13+)
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
Pentium/Celeron dòng AVX (12+)
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
Lưu ý: Sau khi các bạn add các patch trên các bạn hãy patch powermanagement
Các CPU Intel
CPU Rocket Lake và mới hơn (dòng Core i)
Cpuid1Data: 55 06 0A 00 00 00 00 00 00 00 00 00 00 00 00 00
Cpuid1Mask: FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00
CPU Gen 10 (dòng Core i)
Cpuid1Data: EC 06 08 00 00 00 00 00 00 00 00 00 00 00 00 00
Cpuid1Mask: FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00
dành cho các dòng U
Hoặc
Cpuid1Data: EB 06 08 00 00 00 00 00 00 00 00 00 00 00 00 00
Cpuid1Mask: FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00
Hoặc
Cpuid1Data to ED060900 00000000 00000000 00000000
Cpuid1Mask to FFFFFFFF 00000000 00000000 00000000
Đã thử nghiệm trên Mojave
Quy tắc Fake CPU-ID
Cách lấy CPU-ID
Cách 1 Search Google
B1: Các bạn 1 vào 1 trình duyệt bất kỳ search cpuid + tên cpu cần fake (vd cpuid haswell)
B2: Nên vào trang wiki để tìm kết quả (cpuid sẽ có mã là 0306C3)
Cách 2 dùng Clover Configurator
B1: Tải Clover Configurator tại đây.
B2: Vào Tab Kernel and Kext Patches.
B3: Nhấn vào dấu
B4: Chọn CPU-ID phù hợp (cao nhất là kabylake như ở đây mình sẽ có là 0x0306C0 của Haswell)
Cách 3
B1: Vào trang sau đây để lấy cpuid
Quy tắc đổi CPU-ID
B1: Các bạn loại bỏ chữ số 0x
đi
0x0306C0 ⇒ 0306C0
B2: Tách nó thành các cập rồi đổi thứ tự
0306C0 ⇒ 03 06 C0 ⇒ C0 06 03
B3: Sau đó chuyển nó thành hệ thập lục phân
C0 06 03 ⇒ C0 06 03 00 00 00 00 00 00 00 00 00 00 00 00 00
B4: Ta có
Cpuid1Data: C3 06 03 00 00 00 00 00 00 00 00 00 00 00 00 00
Cpuid1Mask: FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00
Clover chỉ lấy mục
CPU1
Data
Cách Fake 1 CPU cụ thể
B1: Các bạn truy cập vào trang cpuid world tại đây
B2: Các bạn chọn cpu muốn fake

B3: Sau khi các bạn chọn được cpu muốn fake các bạn tiếp tục ấn tổ hợp phím Command + F
hoặc Ctrl + F
và gõ từ khóa cpuid

Các bạn chú ý đến dòng
CPUID signature
đây chính là cpuid các bạn cần tìm nhưng nó vẫn chưa thể dùng được các bạn cần biến đổi nó 1 tí
B4: Các bạn tách cpuid vừa nhận được thành các cập từ phải qua trái:
// ví dụ như cpuid của con i9-9980HK sẽ là
906ED ==> 9 06 ED
B5: Các bạn thêm số 0 vào trc dãy 6 đảm bảo dãy số có đủ 6 chữ số.
// thêm số vào trc dãy số đảm bảo có đủ 6 chữ số
9 06 ED ==> 09 06 ED
B6: Các bạn thực hiện quy tắc đổi cpuid như ở phần IV và viết lại như bình thường.
// đảo thứ tự các cập
09 06 ED ==> ED 06 09
// chuyển thành hệ thập lục phân
ED 06 09 ==> ED 06 09 00 00 00 00 00 00 00 00 00 00 00 00 00
// viết lại và sử dụng
ED 06 09 00 00 00 00 00 00 00 00 00 00 00 00 00 ==> ED060900000000000000000000000000
Lưu ý : Sau khi làm xong thì cpu sẽ mất khả năng quản lý năng lượng các bạn có thể patch PowerManagement theo mục VI.2 nếu các bạn gặp lỗi khi Boot (chỉ với CPU dong low-end tức là Celeron hay Pentinum thì các bạn có thể sử dụng NullCPUPowerManagement.kext hoặc bật
config ⇒ Kernel ⇒ Emulate ⇒ DummyPowerManagement
.Link backup: NullCPUPowerManagement.kext
Nếu sau khi đã Patch PowerManagement thì các bạn phải xóa
NullCPUPowerManagement.kext
đi hoặc tắtDummyPowerManagement
.
Source tham khảo OcAppleKernelLib: Add builtin XCPM patches for Ivy Bridge and other unsupported CPUs · Issue #365 · acidanthera/bugtracker (github.com) | https://github.com/acidanthera/OpenCorePkg/releases
Last updated