ddrelease64 黑苹果_黑苹果必备驱动:VirtualSMC 系统管理控制器内核仿冒驱动 1.1.2...

VirtualSMC 是一个 macOS 内核扩展,用于仿冒真实 Mac 的 SMC 控制器,使黑苹果系统兼容更多 macOS 版本。配合 Lilu.kext 使用,支持MMIO和中断协议,适用于10.8及更高版本。本文介绍了 VirtualSMC 的功能、驱动特点、配置需求、错误排查方法以及与硬件SMC的区别,对于搭建和优化黑苹果系统具有参考价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

VirtualSMC.kext 是一款用于 macOS 系统的系统管理控制器(System Management Control, SMC)内核仿冒驱动,用以仿冒真 Mac 系统布局,让 macOS 以为自己运行在真正的 Mac 上,从而达到驱动黑苹果系统的目的。该驱动需要配合Lilu.kext才能正常工作,并且 FakeSMC.kext 和 VirtualSMC.kext 起相同的功能,只能二选一,由于前者已经许久没有更新,建议使用 VirtualSMC.kext 替代。

版本:1.1.2

发布日期:2020年4月7日

驱动特点:

支持macOS 10.8和更高版本(建议10.9和更高版本)

实现MMIO协议和基于中断的响应,以与现代OS兼容

正确报告密钥的属性和密钥保护

允许基于模型进行调整,并允许使用不同的SMC代

可通过插件扩展以提供传感器和按键添加支持

在10.9上启用smcdebug = XX引导参数支持

替换找到的硬件SMC(要完全禁用SMC,您需要刷新专用固件)

启动参数:

添加 -vsmcdbg以启用调试打印(在DEBUG二进制文件中可用)。

添加 -vsmcoff以关闭所有Lilu增强功能。

添加 -vsmcbeta以在不受支持的操作系统上启用Lilu增强功能(默认情况下启用10.13及以下版本)。

添加 -vsmcrpt以将有关缺少SMC密钥的报告报告到系统日志中。

添加 -vsmccomp以首选现有的硬件SMC实现(如果找到)。

添加 vsmcgen = X强制暴露X-gen SMC设备(支持1和2)。

添加 vsmchbkp = X来设置HBKP转储模式(0-关闭,1-正常,2-不加密)。

添加 vsmcslvl = X来设置值序列化级别(0-关闭,1-正常,2-带有敏感数据(默认))。

添加 smcdebug = 0xff以启用AppleSMC调试信息打印。

添加 watchdog = 0以禁用WatchDog计时器(如果意外重启)。

常见问题:

VirtualSMC 有对我有什么帮助?

在不同情况下,VirtualSMC 能改善现有跟未来版本的 macOS 的兼容性,带来更多 SMC 支持, SMC 键值模拟例如 MMIO ,事件 (SMCLightSensor),权限支持等功能。在旧款的 Mac 型号上,可以用它来升级 SMC 世代以获得更多功能。

VirtualSMC 有什么配置需求?

macOS 10.8.5 或以上. 确保使用正确的 Lilu 版本以获得完整功能, 在测试版的 macOS 下,使用 -liluoff 以启用基本支持。如果有用文件保险箱 (FileVault) 建议使用 VirutalSMC 以获得完整的 boot.efi 支持。 VirtualSMC 不兼容 SMCHelper-64.efi,请避免一起使用。

如何进行错误排查?

使用 DEBUG 版 Kext(也包括 Lilu), 和相关的 Kext 的排错启动参数。 除了添加 -vsmcdbg keepsyms=1, -v, debug=0x100, io=0xff 这些常见的排错参数外,还有 AppleSMC 排错参数 (smc=0xff), AppleSmartBatteryManager 排错参数 (batman=0xff)。 10.13 或以上可使用 内核补丁 来获得内核崩溃追踪以避免使用后续 kext。

为什么内核崩溃报告会提到 VirtualSMC.kext?

大多数情况下 VirtualSMC 跟内核崩溃无关。 VirtualSMC 出现在堆栈跟踪是因为 VirtualSMC 把 kernel_trap 包装在模拟的 SMC 设备里。

SMC 传感器有什么用?

传感器 Kext 提供额外的信息例如温度, 电压, 还可通过特有 SMC 键值提供一些额外的功能。 已知的传感器列表可在 Docs 目录下查阅。 你可以使用特有 API 来开发传感器 Kext, 但请事先阅读一些基本文档。

为什么用了监控器 Kext, 资源监控软件依然看不见相关信息?

检查传感器 Kext 是否有提供你想要查看的传感器信息, 可以通过查看 SMC 键值来确认 (运行 smcread -s). 如没有, 检测此信息是否在原生苹果产品使用上并考虑创建一个 Pull request。 如没有, 检查你所用的资源管理器软件确实有尝试读取相关键值。 请注意, 某些资源监控软件例如 iStat Menus 会根据不同的 Mac 平台使用其特有描述文件, 故某些你所使用的硬件也许会被忽略。

是否支持 authenticated restart( FileVault 免密码重启)?

Authenticated restart, 一般情况下由 sudo fdesetup authrestart 触发,如有用 VirtualSMC.efi 即可支持。 可是, 正如任何软件功能整合一样,它并不是很安全。 如果你很在意安全与隐私, 你应该加上 vsmchbkp=0 启动参数禁止此功能。

此功能的整合由 VirtualSMC 把加密密钥储存在 NVRAM, 如有更高的 RTC 记忆库可用,还会由临时密钥进行再次加密。 除此之外, 如果 AptioMemoryFix 存在的话,在 EXIT_BOOT_SERVICES 后 AptioMemoryFix 会禁止此密钥被再读取。

这些命令行工具都有什么作用?

rtcread 可访问 RTC/CMOS 内存并包含相关 AppleRTC 信息

smcread 可访问 SMC 键值, 导出 SMC 固件所包含的键值和 libSMC.dylib

smc-fuzzer 一个原 smc fork,部分缺失的功能已由 smcread 补充

libaistat 当 iStat Menus 跟 DYLD_INSERT_LIBRARIES 一起使用时,可导出 SMC 键值描述文件

这些传感器 Kext 有什么作用?

SMCLightSensor 通过新的 SMC 事件 API,是一个光线传感器的例子 (需要 ACPI0008_ALI)

SMCBatteryManager 添加 SMC 跟 SMBus 协议完整的 AppleSmartBattery 模拟层,电池相关的传感器

SMCProcessor 给 Penryn CPU 或以上提供温度传感器支持

SMCSuperIO 风扇信息读取

附录:历代Mac型号速查表

型号

描述

Mac OS X / macOS版本

Mac-F42386C8

iMac7,1

<=

10.8

10.11

Mac-F4238CC8

iMac7,1

<=

10.8

10.11

Mac-F226BEC8

iMac8,1

<=

10.8

10.11

Mac-F227BEC8

iMac8,1

<=

10.8

10.11

Mac-F2218EA9

iMac9,1

<=

10.8

10.11

Mac-F2218EC8

iMac9,1

<=

10.8

10.11

Mac-F2218FA9

iMac9,1

<=

10.8

10.11

Mac-F2218FC8

iMac9,1

<=

10.8

10.11

Mac-F221DCC8

iMac10,1

<=

10.8

>=

10.12

Mac-F2268CC8

iMac10,1

<=

10.8

>=

10.12

Mac-F2268DC8

iMac10,1

<=

10.8

>=

10.12

Mac-F2268DAE

iMac11,1

<=

10.8

>=

10.12

Mac-F2238AC8

iMac11,2

<=

10.8

>=

10.12

Mac-F2238BAE

iMac11,3

<=

10.8

>=

10.12

Mac-942B5BF58194151B

iMac12,1

<=

10.8

>=

10.12

Mac-942B59F58194171B

iMac12,2

<=

10.8

>=

10.12

Mac-00BE6ED71E35EB86

iMac13,1

<=

10.8

>=

10.12

Mac-FC02E91DDD3FA6A4

iMac13,2

<=

10.8

>=

10.12

Mac-7DF2A3B5E5D671ED

iMac13,3

<=

10.8

>=

10.12

Mac-031B6874CF7F642A

iMac14,1

<=

10.8

>=

10.12

Mac-27ADBB7B4CEE8E61

iMac14,2

<=

10.8

>=

10.12

Mac-77EB7D7DAF985301

iMac14,3

10.9

>=

10.12

Mac-81E3E92DD6088272

iMac14,4

10.9

>=

10.12

Mac-42FD25EABCABB274

iMac15,1

10.10

>=

10.12

Mac-FA842E06C61E91C5

iMac15,2

10.10

>=

10.12

Mac-A369DDC4E67F1C45

iMac16,1

10.11

>=

10.12

Mac-FFE5EF870D7BA81A

iMac16,2

10.11

>=

10.12

Mac-65CE76090165799A

iMac17,1

10.11

>=

10.12

Mac-B809C3757DA9BB8D

iMac17,1

10.11

>=

10.12

Mac-DB15BD556843C820

iMac17,1

10.11

>=

10.12

Mac-4B682C642B45593E

iMac18,1

10.12

>=

10.12

Mac-77F17D7DA9285301

iMac18,2

10.12

>=

10.12

Mac-BE088AF8C5EB4FA2

iMac18,3

10.12

>=

10.12

Mac-CF21D135A7D34AA6

Unknown

10.13

>=

10.13

Mac-112B0A653D3AAB9C

Unknown

10.13

>=

10.13

Mac-90BE64C3CB5A9AEB

Unknown

10.13

>=

10.13

Mac-F42D89A9

MacBook5,1

<=

10.8

10.11

Mac-F42D89C8

MacBook5,1

<=

10.8

10.11

Mac-F22788AA

MacBook5,2

<=

10.8

10.11

Mac-F22C8AC8

MacBook6,1

<=

10.8

>=

10.12

Mac-F22C89C8

MacBook7,1

<=

10.8

>=

10.12

Mac-BE0E8AC46FE800CC

MacBook8,1

10.10

>=

10.12

Mac-F305150B0C7DEEEF

MacBook8,2

10.10

>=

10.12

Mac-9AE82516C7C6B903

MacBook9,1

10.11

>=

10.12

Mac-EE2EBD4B90B839A8

MacBook10,1

10.12

>=

10.12

Mac-F42D88C8

MacBookAir2,1

<=

10.8

10.11

Mac-942452F5819B1C1B

MacBookAir3,1

<=

10.8

>=

10.12

Mac-942C5DF58193131B

MacBookAir3,2

<=

10.8

>=

10.12

Mac-C08A6BB70A942AC2

MacBookAir4,1

<=

10.8

>=

10.12

Mac-742912EFDBEE19B3

MacBookAir4,2

<=

10.8

>=

10.12

Mac-66F35F19FE2A0D05

MacBookAir5,1

<=

10.8

>=

10.12

Mac-2E6FAB96566FE58C

MacBookAir5,2

<=

10.8

>=

10.12

Mac-35C1E88140C3E6CF

MacBookAir6,1

<=

10.8

>=

10.12

Mac-7DF21CB3ED6977E5

MacBookAir6,2

<=

10.8

>=

10.12

Mac-9F18E312C5C2BF0B

MacBookAir7,1

10.10

>=

10.12

Mac-937CB26E2E02BB01

MacBookAir7,2

10.10

>=

10.12

Mac-112818653D3AABFC

MacBookAir8,1

10.14

>=

10.14

Mac-F42388C8

MacBookPro3,1

<=

10.8

10.11

Mac-F4238BC8

MacBookPro3,1

<=

10.8

10.11

Mac-F42C86C8

MacBookPro4,1

<=

10.8

10.11

Mac-F42C89C8

MacBookPro4,1

<=

10.8

10.11

Mac-F42D86A9

MacBookPro5,1

<=

10.8

10.11

Mac-F42D86C8

MacBookPro5,1

<=

10.8

10.11

Mac-F2268EC8

MacBookPro5,2

<=

10.8

10.11

Mac-F22587C8

MacBookPro5,3

<=

10.8

10.11

Mac-F22587A1

MacBookPro5,4

<=

10.8

10.11

Mac-F2268AC8

MacBookPro5,5

<=

10.8

10.11

Mac-F22589C8

MacBookPro6,1

<=

10.8

>=

10.12

Mac-F22586C8

MacBookPro6,2

<=

10.8

>=

10.12

Mac-F222BEC8

MacBookPro7,1

<=

10.8

>=

10.12

Mac-50619A408DB004DA

MacBookPro7,2

<=

10.8

>=

10.12

Mac-94245B3640C91C81

MacBookPro8,1

<=

10.8

>=

10.12

Mac-94245A3940C91C80

MacBookPro8,2

<=

10.8

>=

10.12

Mac-942459F5819B171B

MacBookPro8,3

<=

10.8

>=

10.12

Mac-4B7AC7E43945597E

MacBookPro9,1

<=

10.8

>=

10.12

Mac-6F01561E16C75D06

MacBookPro9,2

<=

10.8

>=

10.12

Mac-C3EC7CD22292981F

MacBookPro10,1

<=

10.8

>=

10.12

Mac-AFD8A9D944EA4843

MacBookPro10,2

<=

10.8

>=

10.12

Mac-189A3D4F975D5FFC

MacBookPro11,1

10.9

>=

10.12

Mac-3CBD00234E554E41

MacBookPro11,2

10.9

>=

10.12

Mac-2BD1B31983FE1663

MacBookPro11,3

10.9

>=

10.12

Mac-06F11FD93F0323C5

MacBookPro11,4

10.10

>=

10.12

Mac-06F11F11946D27C5

MacBookPro11,5

10.10

>=

10.12

Mac-E43C1C25D4880AD6

MacBookPro12,1

10.10

>=

10.12

Mac-473D31EABEB93F9B

MacBookPro13,1

10.12

>=

10.12

Mac-66E35819EE2D0D05

MacBookPro13,2

10.12

>=

10.12

Mac-A5C67F76ED83108C

MacBookPro13,3

10.12

>=

10.12

Mac-B4831CEBD52A0C4C

MacBookPro14,1

10.12

>=

10.12

Mac-CAD6701F7CEA0921

MacBookPro14,2

10.12

>=

10.12

Mac-551B86E5744E2388

MacBookPro14,3

10.12

>=

10.12

Mac-937A206F2EE63C01

MacBookPro15,1

>=

10.13

>=

10.13

Mac-827FB448E656EC26

MacBookPro15,2

>=

10.13

>=

10.13

Mac-F22C86C8

Macmini3,1

<=

10.8

10.11

Mac-F2208EC8

Macmini4,1

<=

10.8

>=

10.12

Mac-8ED6AF5B48C039E1

Macmini5,1

<=

10.8

>=

10.12

Mac-4BC72D62AD45599E

Macmini5,2

<=

10.8

>=

10.12

Mac-7BA5B2794B2CDB12

Macmini5,3

<=

10.8

>=

10.12

Mac-031AEE4D24BFF0B1

Macmini6,1

<=

10.8

>=

10.12

Mac-F65AE981FFA204ED

Macmini6,2

<=

10.8

>=

10.12

Mac-35C5E08120C7EEAF

Macmini7,1

10.10

>=

10.12

Mac-7BA5B2DFE22DDD8C

Macmini8,1

10.14

>=

10.14

Mac-F4208DC8

MacPro1,1

<=

10.7

10.7

Mac-F4208DA9

MacPro2,1

<=

10.7

10.7

Mac-F42C88C8

MacPro3,1

<=

10.8

10.11

Mac-F221BEC8

MacPro4,1

<=

10.8

10.11

Mac-F221BEC8

MacPro5,1

<=

10.8

>=

10.12

Mac-F60DEB81FF30ACF6

MacPro6,1

10.9

>=

10.12

Mac-7BA5B2D9E42DDD94

iMacPro1,1

10.13

>=

10.13

Mac-F223BEC8

Xserve3,1

<=

10.8

10.11

Mac-F088A60696011ACB

Unknown

10.8

>=

10.13

Mac-C9CF552659EA9913

Unknown

10.9

>=

10.13

Mac-4BFAC7A2B9455938

Unknown

10.9

>=

10.13

Mac-ACE8A17C0DE83137

Unknown

10.9

>=

10.13

Mac-6F01109E16C71B86

Unknown

10.9

>=

10.13

Mac-4BFBC784B845591E

Unknown

10.12

>=

10.12

Mac-4BFBC784B845591E

Unknown

10.12

>=

10.12

使用 Lilu 1.4.3 API 提升了性能表现

修复了SMCSuperIO因不支持的芯片而崩溃的问题

SMCSuperIO检测芯片名称到IOReg

轻微的性能改进

添加了OpenCore内置协议支持(VirtualSmc.efi仍可以在其他引导程序中使用)

通过I / O注册表在SMCSuperIO中添加了风扇和电压报告(需要客户端更新)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值