无忧启动论坛

标题: 解决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 编辑
shui288 发表于 2025-10-7 11:48
远景win7区 有位大佬修改的文件 很好用
不足:启动logo 偏左

那个在我的设备2上有效,但设备3无效,并且还会提示UEFI GOP protocol has unsupported pixel format Press Enter to continue
不过小logo偏左还挺可爱的

作者: shui288    时间: 6 天前
ctx 发表于 2025-10-7 11:56
那个在我的设备2上有效,但设备3无效,并且还会提示UEFI GOP protocol has unsupported pixel format Pre ...

是这:
https有的要关://bbs.pcbeta.com/有的不关viewthread-2048859-1-1.html

俺是直接efi分区放ESU修改版


作者: 邪恶海盗    时间: 6 天前
围观一下,以后碰到了再研究...


二○二五年十月七日
作者: ctx    时间: 6 天前
shui288 发表于 2025-10-7 12:59
是这:
https有的要关://bbs.pcbeta.com/有的不关viewthread-2048859-1-1.html

这个帖子我知道,只是没用户打不开。其他大佬发我测试了一下,在我的设备2上确实管用,logo旋转时屏幕分辨率较小,偏左,进入桌面时正常。但是设备3无效,远程桌面用RW查看,PCI桥上的VGA标志没有被成功设置。
作者: hqhlwz    时间: 6 天前
期待一步到位 批处理完美方案 期待
作者: zjyangjian    时间: 6 天前
在B760主板上测试了一下,很好用,楼主NB!
作者: ctx    时间: 6 天前
hqhlwz 发表于 2025-10-7 13:11
期待一步到位 批处理完美方案 期待

没证书不好搞啊,得开测试模式,有一定风险。写这个帖子的主要目的还是提供个思路,大家共同研究。
作者: handsome_xiang    时间: 6 天前
感谢分享!
作者: fegr    时间: 6 天前
谢谢楼主分享
作者: 面条渣渣    时间: 5 天前
谢谢分享
作者: hzyry2046    时间: 前天 13:21
大佬nb,谢谢分享!




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3