仿冒cpuid_Comet Lake i5 10400 仿冒Coffee Lake 安装macOS Mojave

本文讲述了作者在尝试使用新购的Comet Lake i5 10400安装macOS Mojave时遇到的End RandomSeed卡顿问题。通过研究和仿冒CPUID为Broadwell解决了引导问题。作者进一步探索,成功仿冒为i7 8700,以充分利用CPU性能,避免不必要的BUG。
部署运行你感兴趣的模型镜像

a7449fe2446ec7e0d7eba9d8fdee114e.png

最近入手了十代U新平台, 兴高采烈想安装黑苹果, 然后直接替换了Mojave的EFI, 满怀期待, 结果卡在End RandomSeed... 以为是内存问题, 然后在BIOS里各种折腾, 未果... 以为是Clover引导问题, 然后从Clover换到OC, 还是一样卡End RandomSeed...折腾了5~6个小时, 内心是崩溃的, 最终, 在github上找到了10500es的OC EFI, 竟然可以引导了, 其中有一段是CPUID仿冒, 是仿冒为Broadwell:

Broadwell-E -> Broadwell:
Kernel -> Emulate:
Cpuid1Data: D4060300 00000000 00000000 00000000
Cpuid1Mask: FFFFFFFF 00000000 00000000 00000000

明白了, Catalina 10.15.5原生支持Comet Lake, 但Mojave 10.14.6是不支持的, 需要仿冒CPUID才可以成功引导.

不过内心确有不甘, 为啥要仿冒这么老的U, 这样仿冒的CPUID与真实的型号相差太远, 会不会无法发挥CPU的性能甚至导致BUG?

本着探索的精神, 我决定弄清楚这Cpuid1Data仿冒的究竟是什么东西, 还有最终目标是仿冒i7 8700, 毕竟it 10400就是8700小(换)改(名)而来...

第一步, 我用D4060300搜索到了skylake的Cpuid1Data, 搜索过程中发现D4060300表示的是`sysctl -x machdep.cpu.signature`值的内存little-edian值, OK, 知道了最重要的东西: 仿冒的对象的CPU的signature.

下一步, 我要获取8700的cpu.signature值, 并写到OC配置里, 我到github上一番搜索, 搜索到 i7-8700B / i5-8500 / i7-9750H 的cpu.signature都是 591594(0x000906ea):

machdep.cpu.brand_string: Intel(R) Core(TM) i7-8700B CPU @ 3.20GHz
machdep.cpu.family: 6
machdep.cpu.model: 158
machdep.cpu.extmodel: 9
machdep.cpu.extfamily: 0
machdep.cpu.stepping: 10
machdep.cpu.feature_bits: 9221960262849657855
machdep.cpu.leaf7_feature_bits: 43806655
machdep.cpu.extfeature_bits: 1241984796928
machdep.cpu.signature: 591594

machdep.cpu.brand_string: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
machdep.cpu.family: 6
machdep.cpu.model: 158
machdep.cpu.extmodel: 9
machdep.cpu.extfamily: 0
machdep.cpu.stepping: 10
machdep.cpu.feature_bits: 9221959987971750911
machdep.cpu.leaf7_feature_bits: 43804591 1073741824
machdep.cpu.leaf7_feature_bits_edx: 2617254912
machdep.cpu.extfeature_bits: 1241984796928
machdep.cpu.signature: 591594

最后一步, 将0x000906EA的little-edian表示(EA060900), 写到OC配置文件里, 就完成啦~

-> Coffee Lake: 

Kernel -> Emulate:
Cpuid1Data: EA060900 00000000 00000000 00000000
Cpuid1Mask: FFFFFFFF 00000000 00000000 00000000

重启, 验证, 完美!

命令行执行: sysctl -x machdep.cpu.signature
machdep.cpu.signature: 0x000906ea


命令行执行:  sysctl machdep.cpu
machdep.cpu.max_basic: 22
machdep.cpu.max_ext: 2147483656
machdep.cpu.vendor: GenuineIntel
machdep.cpu.brand_string: Intel(R) Core(TM) i5-10400 CPU @ 2.90GHz
machdep.cpu.family: 6
machdep.cpu.model: 158
machdep.cpu.extmodel: 9
machdep.cpu.extfamily: 0
machdep.cpu.stepping: 10
machdep.cpu.feature_bits: 8645499235668327423
machdep.cpu.leaf7_feature_bits: 43804591 1073741824
machdep.cpu.leaf7_feature_bits_edx: 3154117632
machdep.cpu.extfeature_bits: 1241984796928
machdep.cpu.signature: 591594
machdep.cpu.brand: 0
machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX EST TM2 SSSE3 FMA CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC MOVBE POPCNT AES PCID XSAVE SEGLIM64 TSCTMR AVX1.0 RDRAND F16C
machdep.cpu.leaf7_features: RDWRFSGS TSC_THREAD_OFFSET SGX BMI1 AVX2 SMEP BMI2 ERMS INVPCID FPU_CSDS MPX RDSEED ADX SMAP CLFSOPT IPT SGXLC MDCLEAR IBRS STIBP L1DF ACAPMSR SSBD
machdep.cpu.extfeatures: SYSCALL XD 1GBPAGE EM64T LAHF LZCNT PREFETCHW RDTSCP TSCI
machdep.cpu.logical_per_package: 16
machdep.cpu.cores_per_package: 8
machdep.cpu.microcode_version: 204
machdep.cpu.processor_flag: 1
machdep.cpu.mwait.linesize_min: 64
machdep.cpu.mwait.linesize_max: 64
machdep.cpu.mwait.extensions: 3
machdep.cpu.mwait.sub_Cstates: 286531872
machdep.cpu.thermal.sensor: 1
machdep.cpu.thermal.dynamic_acceleration: 1
machdep.cpu.thermal.invariant_APIC_timer: 1
machdep.cpu.thermal.thresholds: 2
machdep.cpu.thermal.ACNT_MCNT: 1
machdep.cpu.thermal.core_power_limits: 1
machdep.cpu.thermal.fine_grain_clock_mod: 1
machdep.cpu.thermal.package_thermal_intr: 1
machdep.cpu.thermal.hardware_feedback: 0
machdep.cpu.thermal.energy_policy: 1
machdep.cpu.xsave.extended_state: 31 832 1088 0
machdep.cpu.xsave.extended_state1: 15 832 256 0
machdep.cpu.arch_perf.version: 4
machdep.cpu.arch_perf.number: 4
machdep.cpu.arch_perf.width: 48
machdep.cpu.arch_perf.events_number: 7
machdep.cpu.arch_perf.events: 0
machdep.cpu.arch_perf.fixed_number: 3
machdep.cpu.arch_perf.fixed_width: 48
machdep.cpu.cache.linesize: 64
machdep.cpu.cache.L2_associativity: 4
machdep.cpu.cache.size: 256
machdep.cpu.tlb.inst.large: 8
machdep.cpu.tlb.data.small: 64
machdep.cpu.tlb.data.small_level1: 64
machdep.cpu.address_bits.physical: 39
machdep.cpu.address_bits.virtual: 48
machdep.cpu.core_count: 6
machdep.cpu.thread_count: 12
machdep.cpu.tsc_ccc.numerator: 242
machdep.cpu.tsc_ccc.denominator: 2

(图片来自互联网, 侵删)

您可能感兴趣的与本文相关的镜像

Seed-Coder-8B-Base

Seed-Coder-8B-Base

文本生成
Seed-Coder

Seed-Coder是一个功能强大、透明、参数高效的 8B 级开源代码模型系列,包括基础变体、指导变体和推理变体,由字节团队开源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值