无忧启动论坛
标题: 解决Windows 7无CSM卡logo的一种可能的方法——修改dxgkrnl.sys [打印本页]
作者: ctx 时间: 7 天前
标题: 解决Windows 7无CSM卡logo的一种可能的方法——修改dxgkrnl.sys
本帖最后由 ctx 于 2025-10-11 18:23 编辑
一、概述
Windows7在一些(如Intel 6代之后的)平台安装时,如果关闭CSM,即使已打入显卡驱动,仍可能出现卡在Windows旋转徽标而无法显示桌面的情况,如果是Administrator空密码自动登录,还能听到Windows启动声音。目前已有一些解决方法,如UEFISeven、FlashBoot、驱动总裁解决卡logo方案等,通过模拟CSM环境,使显卡驱动得以正常工作,顺利进入桌面并发挥特性。
通过远程桌面等方法分析,上述现象出现的一种典型原因,是显卡驱动通过dxgkrnl.sys(可以理解为dxgkrnl.sys强加)上报给操作系统所需的VGA内存和端口资源未能被pci.sys所分配,导致显卡在设备管理器出现代码12错误而无法运行。由于现代显卡运行并不需要这些资源,因此本方法的思路是去掉对这些资源的需求。
二、前提条件
1. 打上不早于KB5022338(2023年1月最终补丁)的月度补丁。
2. 使用UEFI模式启动。
3. 在启动操作系统前将显卡驱动注入。
4. 测试使用的dxgkrnl.sys版本号是6.1.7601.24562。
三、dxgkrnl.sys修改方法
使用IDA载入,找到DpiFdoHandleFilterResources函数的下列位置(见链接图),修改2条指令,重新签名。
ht测试tps://wwdk.lanzouu.c测试om/ifgRQ37srjfa
密码:bc45
四、文件替换方法(务必备份原dxgkrnl.sys)
方法一:进入PE替换。
方法二(属于废话,能开CSM就无需本方法,但是可以用于分析测试):假如有办法打开CSM,则安装网卡驱动,通过远程桌面替换,先将所有者修改为当前用户,再加入完全控制的权限,最后进行文件替换。
五、效果和不足
本人在下列3套设备进行简单测试:
1. 台式机,i7-10700 + Q470 + AMD HD7000亮机卡(原本不卡logo):显卡功能正常,但系统无法睡眠、休眠(powercfg -a命令可以看到是VgaSave禁止睡眠、休眠)。
2. 笔记本,i7-9850H + B365 + RTX2060(原本卡logo):显卡功能正常,睡眠正常。
3. 台式机,i5-12490f + B760 + AMD HD7000亮机卡(原本卡logo):显卡功能正常,睡眠正常。
设备3效果图:
ht测试tps://wwdk.lanzouu.c测试om/idpHK37suqgb
密码:91yf
不足:
1. 部分设备存在无法睡眠、休眠问题。
2. 部分AMD平台和800系列主板上测试存在问题(卡logo无法解决或Direct3D失效)。
3. 未模拟CSM环境,BIOS不提供VGA机制,安全模式无法进入,蓝屏不显示。
4. FlashBoot作者在他的帖子中提到的INT10失败或I/O端口无限等待这一类情形无法用本方法解决(见ht测试tps://forums.mydigitallife.n测试et/threads/installing-windows-7-on-the-pure-uefi-systems-without-csm.80876/)。
六、建议
1. 如果要测试,本人提供按上述修改方法做出一版带测试签名的,见下,要使用必须打开“测试模式”。由于本人没有可用证书,只能提供测试签名版本。
ht测试tps://wwdk.lanzouu.c测试om/iHDZL37srjhc
密码:fhma
2. 如果要测试,务必备份好重要数据,防止系统崩溃数据丢失。
3. 能开CSM尽可能开,能用UEFISeven、FlashBoot、驱动总裁解决卡logo方案尽可能用,除非无效再试用本方法(例如本人的设备3,使用FlashBoot无效)。
4. 32位Win7未进行研究,方法应该一样。
5. 如需分析问题,可查看显卡设备代码、资源、上级PCI桥资源、msinfo32信息、dxdiag信息和RW对显卡设备和上级PCI桥的PCI配置空间数据。
七、分析
(另行记录,略)
本文Word版:
ht测试tps://wwdk.lanzouu.c测试om/iK9Ui37svaid
密码:81jw
作者: 沐小然 时间: 7 天前
感谢分享
作者: downer001 时间: 6 天前
厉害,感谢分享。
作者: wjqok 时间: 6 天前
学习一下,一直win7,过年我也研究研究
作者: ctx 时间: 6 天前
补充说明一下,既然卡logo就难以改为测试模式。可以在PE环境用Pauly大神的BootICE进行设置。
作者: zjyangjian 时间: 6 天前
感谢分享!谢谢!有空去试试
作者: a66 时间: 6 天前
有空试试
作者: 蘭蘭 时间: 6 天前
谢谢分享!
作者: 小灰兔 时间: 6 天前
谢谢分享
作者: szwp 时间: 6 天前
支持原创,纯uefi注入驱动 novga+novesa下还没遇到这种情况
作者: 燕飞龙 时间: 6 天前
谢谢分享
作者: ILOVEQQ 时间: 6 天前
超專業的內容。
作者: wang1126 时间: 6 天前
谢谢楼主分享
作者: 2012andyle113 时间: 6 天前
懒得折腾了,BUG10都快过气的年代研究这个意义不大,各种软件都有硬要求了
作者: xianshui8888 时间: 6 天前
感谢分享,以前遇到过装WIN7卡LOGO,研究了半天找资料也不行,后来没办法还是虚拟机上装WIN7对付用了
作者: guong 时间: 6 天前
学习了
作者: wn168cn@163.com 时间: 6 天前
试一下
作者: dnine999 时间: 6 天前
感谢分享,马克下
作者: shui288 时间: 6 天前
远景win7区 有位大佬修改的文件 很好用
不足:启动logo 偏左
作者: promrhxq 时间: 6 天前
感谢分享好经验
作者: ctx 时间: 6 天前
本帖最后由 ctx 于 2025-10-7 11:58 编辑
那个在我的设备2上有效,但设备3无效,并且还会提示UEFI GOP protocol has unsupported pixel format Press Enter to continue
不过小logo偏左还挺可爱的
作者: shui288 时间: 6 天前
是这:
https有的要关://bbs.pcbeta.com/有的不关viewthread-2048859-1-1.html
俺是直接efi分区放ESU修改版
作者: 邪恶海盗 时间: 6 天前
围观一下,以后碰到了再研究...
二○二五年十月七日
作者: ctx 时间: 6 天前
这个帖子我知道,只是没用户打不开。其他大佬发我测试了一下,在我的设备2上确实管用,logo旋转时屏幕分辨率较小,偏左,进入桌面时正常。但是设备3无效,远程桌面用RW查看,PCI桥上的VGA标志没有被成功设置。
作者: hqhlwz 时间: 6 天前
期待一步到位 批处理完美方案 期待
作者: zjyangjian 时间: 6 天前
在B760主板上测试了一下,很好用,楼主NB!
作者: ctx 时间: 6 天前
没证书不好搞啊,得开测试模式,有一定风险。写这个帖子的主要目的还是提供个思路,大家共同研究。
作者: handsome_xiang 时间: 6 天前
感谢分享!
作者: fegr 时间: 6 天前
谢谢楼主分享
作者: 面条渣渣 时间: 5 天前
谢谢分享
作者: hzyry2046 时间: 前天 13:21
大佬nb,谢谢分享!
欢迎光临 无忧启动论坛 (http://wuyou.net/) |
Powered by Discuz! X3.3 |