无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 1166|回复: 54
打印 上一主题 下一主题

[原创] 解决Windows 7在12代之后平台睿频不生效的另一种思路——修改acpi.sys

    [复制链接]
跳转到指定楼层
1#
发表于 4 天前 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
  Windows 7安装在在12代之后平台中,会出现睿频不生效的问题,Canon-控大佬已提出修改BIOS并刷入的解决方案,详见ht tps://bbs.pcbeta.com/viewthread-1992659-1-8.html(教程帖)。经过艰苦卓绝的分析,本人现基于教程帖中提出的原理,提出另一种解决方法——修改acpi.sys(不需要刷BIOS)
  1. 原理分析
  Intel睿频是微软驱动intelppm.sys控制的,要使睿频生效,第一需要让系统识别出CPU设备,第二需要将这个驱动安装到CPU设备上。
  出现睿频不生效的情况,都有一个共同特点,就是“设备管理器”中不显示CPU设备(例如下图),即上面第一点不成立。而Windows 10中是显示的(例如下图),修改BIOS后也会显示。所以修改acpi.sys的思路就是,找到不能识别CPU设备的具体原因,针对性地修改,使系统识别出CPU设备,才能安装intelppm.sys驱动。
  
  NT操作系统的设备树是通过枚举方式建立的,从顶部的“Microsoft ACPI-Compliant System”(驱动程序是acpi.sys)开始,每个设备先被操作系统启动,然后不断枚举出它下级设备,对下级设备重复“启动-枚举下级”的递归操作,直到所有的设备都没有下级设备。在设备管理器的“依连接排序设备”方式下可以看到这一结构。“Microsoft ACPI-Compliant System”的下级设备,是由BIOSACPI表中的DSDT表规定的,根据教程帖,从12代平台开始,DSDT表中普遍采用“ACPI0007”的Device方式定义CPU设备,取代了之前Processor方式定义,这样的定义方式,不能被Win 7 acpi.sys报告给系统。
  在程序层面分析,acpi.sys对于“MicrosoftACPI-Compliant System”设备和每个枚举到的直接下级设备会建立一个DEVICE_EXTENSION结构体(详见acpi.sys PDB,还有nt5src中有XP版本作为参考),其中结构体第一个成员是Flags(标志值定义在nt5src中)。经过IDA和Windbg分析调试,结合nt5src分析,参考Win 10 acpi.sys的处理,可以得知无论Win 7还是Win 10的acpi.sys,发现采用“ACPI0007”的Device方式定义的CPU设备,都会像Processor定义的一样,设置DEV_CAP_PROCESSOR标志,记录该设备是一个CPU。导致Win 7未能上报设备的真正原因,是Win 7下在Flags中错误地设置了DEV_TYPE_NOT_PRESENT标志。Win 7 acpi.sys在ACPIGetProcessorStatus函数中,对于非Processor定义的设备类型,不能正确地处理,误认为CPU不存在,设置DEV_TYPE_NOT_PRESENT标志,进而导致在ACPIDetectPdoDevices函数中跳过已经识别到的CPU设备,在上报给操作系统已枚举到的设备时,去除了CPU设备;而Win 10 acpi.sys会正确地取消DEV_TYPE_NOT_PRESENT标志,把实际存在的CPU设备上报操作系统。
  因此,在Win 7 acpi.sysACPIGetProcessorStatus函数中,把不符合Processor定义的2处跳转取消掉,即可使CPU设备上报到操作系统;进一步,在ACPIProcessorGetInitialApicId中也有2处跳转需要取消,确保CPU设备驱动正常运作。总共需要对acpi.sys修改4处。
  2. 修改地点
  基于版本号为6.1.7601.24056的acpi.sys进行修改。
  第一,在ACPIGetProcessorStatus函数的F3E0和F402偏移处,跳转指令改为两个nop。
  第二,在ACPIProcessorGetInitialApicId函数的3F703和3F73D偏移处,跳转指令改为两个nop。
  共计修改4条指令8个字节,然后需要重新计算校验和,签名后又会重新写入签名偏移。
  
  3. 使用方法及效果
  本人没有可用证书,只能生成测试签名版本的acpi.sys,可在这里下载:
    ht tps://wwdk.lanzouu.com/itwmT383o09i
    密码:dyes
  打开测试模式,使用它替换C:\Windows\system32\drivers\下的原版acpi.sys(原版务必备份好),重启,可以识别到CPU设备,系统根据C:\Windows\inf\cpu.inf自动安装intelppm.sys驱动。如果此时出现代码37,再重启一次电脑即可。
  B760m + i5-12490F运行良好,跑分正常,电压合理,效果:
  
  4. 说明
  (1) 本方法测试样本较少,有意测试的请先做好数据备份,责任自负
  (2) 修改了哪里,用文件比较工具即可判断出来。
  (3) 如果觉得好用,又有可用证书,请自行对其签名,免于开启测试模式。
  (4) 如果条件合适,考虑把前期测试的AC9560/ Wi-Fi 6 / Wi-Fi 6E无线网卡在Win 7中使用的相关原理公布出来。
  (5) 特别感谢Canon-控大佬和SMXDIY测试组前期的辛勤分析和技术分享。

评分

参与人数 4无忧币 +20 收起 理由
zjyangjian + 5 很给力!
2012andyle113 + 5 赞一个!
Allreal + 5 赞一个!
loseboy + 5 很给力!

查看全部评分

55#
发表于 昨天 14:28 | 只看该作者
精神支持
回复

使用道具 举报

54#
发表于 昨天 13:11 | 只看该作者
学习学习,感谢分享
回复

使用道具 举报

53#
发表于 前天 14:14 来自手机 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

52#
发表于 前天 08:38 | 只看该作者
厉害了,感谢分享
回复

使用道具 举报

51#
发表于 前天 08:34 来自手机 | 只看该作者
前排支持
回复

使用道具 举报

50#
发表于 前天 05:05 | 只看该作者
有点用,先保留
回复

使用道具 举报

49#
 楼主| 发表于 3 天前 | 只看该作者
test2333 发表于 2025-10-11 10:41
您好,我这边似乎看不到您在帖子首页里面的两张图,对应的位置是一片空白,用edge和IE均如此,如果您那边方 ...

帖子Word版和图片:
ht tps://wwdk.lanzouu.com/iO3h5385vvih
密码:9hwv
回复

使用道具 举报

48#
发表于 3 天前 | 只看该作者
自己尝试了一下,自签名测试模式下正常显示CPU。睿频也正常了。如果没改前12490F才只能2.9G
回复

使用道具 举报

47#
发表于 3 天前 | 只看该作者
感谢分享!
回复

使用道具 举报

46#
发表于 3 天前 | 只看该作者
思路很好
回复

使用道具 举报

45#
发表于 3 天前 | 只看该作者

学习了 赞一个!
回复

使用道具 举报

44#
发表于 3 天前 | 只看该作者
大佬nb,谢谢分享!
回复

使用道具 举报

43#
发表于 3 天前 | 只看该作者
干货技术文章,厉害了
回复

使用道具 举报

42#
发表于 3 天前 | 只看该作者
牛啊
回复

使用道具 举报

41#
发表于 3 天前 | 只看该作者
test2333 发表于 2025-10-11 10:41
您好,我这边似乎看不到您在帖子首页里面的两张图,对应的位置是一片空白,用edge和IE均如此,如果您那边方 ...

win7,百分浏览器,显示正常
回复

使用道具 举报

40#
 楼主| 发表于 3 天前 | 只看该作者
test2333 发表于 2025-10-11 10:41
您好,我这边似乎看不到您在帖子首页里面的两张图,对应的位置是一片空白,用edge和IE均如此,如果您那边方 ...

可以,晚上回去搞
回复

使用道具 举报

39#
发表于 3 天前 | 只看该作者
您好,我这边似乎看不到您在帖子首页里面的两张图,对应的位置是一片空白,用edge和IE均如此,如果您那边方便的话,可否将图片放到word文档中以附件或网盘形式上传呢?谢谢

点评

ctx
帖子Word版和图片: ht tps://wwdk.lanzouu.com/iO3h5385vvih 密码:9hwv  详情 回复 发表于 3 天前
win7,百分浏览器,显示正常  详情 回复 发表于 3 天前
ctx
可以,晚上回去搞  详情 回复 发表于 3 天前
回复

使用道具 举报

38#
发表于 3 天前 | 只看该作者
这个是真的🐂
回复

使用道具 举报

37#
发表于 3 天前 | 只看该作者
可以考虑装 win3.1 看看。
回复

使用道具 举报

36#
 楼主| 发表于 3 天前 | 只看该作者
wjqok 发表于 2025-10-11 00:29
学习一下,一直用win7,现在5800x不显示cpu

根据教程帖,AMD平台睿频由BIOS控制,不显示也无伤大雅。
回复

使用道具 举报

35#
 楼主| 发表于 3 天前 | 只看该作者
bobylinger04 发表于 2025-10-11 08:49
这是准备把win7当传家宝吗

xp64位下运行一些软件,还是可以的,浏览器,solidworks,微信等,都能行,速度快
回复

使用道具 举报

34#
 楼主| 发表于 3 天前 | 只看该作者
wxgwxg 发表于 2025-10-11 08:07
xp:扶我起来,我还能再战!

xp不用修改,已有人根据nt5src进行修补,我见到过12600K处理器安装xp的。
回复

使用道具 举报

33#
发表于 3 天前 | 只看该作者
666,又续上了。。。。
回复

使用道具 举报

32#
发表于 3 天前 | 只看该作者
因软件支持问题放弃win7很久了,感谢楼主分享经验!
回复

使用道具 举报

31#
发表于 3 天前 | 只看该作者
这个技术流操作可以
回复

使用道具 举报

30#
发表于 3 天前 | 只看该作者
厉害了,谢谢楼主
回复

使用道具 举报

29#
发表于 3 天前 | 只看该作者
大佬厉害
回复

使用道具 举报

28#
发表于 3 天前 | 只看该作者
廉颇虽老 尚能斗食 支持分享
回复

使用道具 举报

27#
发表于 3 天前 | 只看该作者
这是准备把win7当传家宝吗

点评

ctx
xp64位下运行一些软件,还是可以的,浏览器,solidworks,微信等,都能行,速度快  详情 回复 发表于 3 天前
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-10-14 03:37

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表