番茄系统家园 - 免费重装系统!简单装系统,人人都是装机大师!
当前位置:首页>硬件问题 > 英伟达显卡更新新版本后开机卡在欢迎界面或黑屏的原因以及解决办法

英伟达显卡更新新版本后开机卡在欢迎界面或黑屏的原因以及解决办法

来源:番茄系统家园浏览:时间:2022-03-21 11:45:56

先抛出个结论,之后给分析结果,说明(文中的dllmain对应dll入口点,模块的入口点函数名不一定名字都是dllmain)

结论:

Dwm.exe进程初始化LdrInitializeThunk内部先映射dll,在一块儿调用这些dll的dllmain,在调用user32的dllmain时,加载英伟达的nvinitx.dll这个模块使用SHGetShellFolder,该函数使用了rpcrt4.dll中的一些数据,但是锁相关数据还没有被初始化(因为按调用顺序先后还没有调用到rpcrt4.dl它的dllmain)就使用,之后导致异常,出现死锁情况。最终导致黑屏或者卡在系统欢迎界面。

分析的简要过程:

1.从卡时获取的dump上看explorer卡在ConnectPort到dwm.exe的一个port。

英伟达显卡更新新版本后开机卡在欢迎界面或黑屏的原因以及解决办法

2.查看dwm.exe中的线程,发现其中一个线程卡在调用SHGetShellFolder函数内部。这个卡之后就导致explorer.exe工作异常,一直卡在链接dwm.exe中的port。

英伟达显卡更新新版本后开机卡在欢迎界面或黑屏的原因以及解决办法

3. 查看锁sechost!SddlSidLookupCritical的状态,发现此锁被dwm.exe主线程占用,没有释放。 仔细分析发现主线程正常情况下不应该释放不了这个临界区。

英伟达显卡更新新版本后开机卡在欢迎界面或黑屏的原因以及解决办法

4.猜测只可能出现什么异常导致没有释放这个临界区。

(上双机调试)调试发现dwm.exe的主线程中英伟达nvinitx.dll的dllmain会调用SHGetFoldPathW函数,这个函数调用的时候,已经占用了锁SddlSidLookupCritical,这个时候在去调用RPCRT4.dll中相关函数,却在调用EnterCriticalSection获取rpcrt4的临界区GlobalMutex出现异常,跳出到shell32中的异常处理函数_GSHandlerCheck_EH,这个时候导致没有释放SddlSidLookupCritical锁,SHGetFoldPathW就返回了。查看了下异常,发现rpcrt4中的临界区该临界区GlobalMutex没有初始化,dllmain 内部很多其它变量值也没有初始化,可以确定是dllmain没有被调用到。

英伟达显卡更新新版本后开机卡在欢迎界面或黑屏的原因以及解决办法

英伟达显卡更新新版本后开机卡在欢迎界面或黑屏的原因以及解决办法

5. ida分析可以知道GlobalMutex的初始化在rpcrt4.dll的dllmain内部 。所以可以知道出问题的原因就是rpcrt4.dll的dllmain没有调用到,那么为什么会导致这个dllmain没有调用掉呢?

6. 分析发现这个SHGetFoldPathW的调用是在nvinitx.dll的dllmain中。

ntdll!LdrpInitializeProcess函数先映射导入表中的dll在调用这些dll中的dllmain函数。

这个出问题环境调试发现rpcr4.dll中dllmain并没有调用到,这个时候gdi32的dllmain函数内部调用loadlibrary加载nvinitx.dll,并调用nvinitx.dll的dllmain函数,但是这个时候调用LdrpLoadDll加载rpcr4.dll的时候,(之前刚映射,这个时候LdrpLoadDll发现rpcr4.dll已经被映射了,所以就不会调用这个rpcr4.dll的dllmain函数)

Loadlibrary调用LdrpLoadDll(这个函数先检查模块rpcr4.dll是否映射,发现已经映射就不会调用这个的dllmain,接下来调用其它函数使用临界区GlobalMutex就出现异常崩溃)这个rpcr4.dll的dllmain会在接下来的ntdll!LdrpRunInitalizeroutines函数内部调用 。

英伟达显卡更新新版本后开机卡在欢迎界面或黑屏的原因以及解决办法

英伟达显卡更新新版本后开机卡在欢迎界面或黑屏的原因以及解决办法

7.更新了英伟达显卡驱动372.54及372.70版本后,开机启动过程中,经过上面一系列的异常调用,最终系统会被卡在欢迎界面或个别电脑出现黑屏的情况。

相关阅读:

推荐系统

  • 雨林木风 winxp下载 纯净版 永久激活 winxp ghost系统 sp3 系统下载

    雨林木风 winxp下载 纯净版 永久激活 winxp ghost系统 sp3 系统下载64位
    系统大小:0MB系统类型:WinXP

    雨林木风在系统方面技术积累雄厚深耕多年,打造了国内重装系统行业知名品牌,雨林木风WindowsXP其系统口碑得到许多人认可,积累了广大的用户群体,是一款稳定流畅的系统,雨林木风 winxp下载 纯净版 永久激活 winxp ghost系统 sp3 系统下载,有需要的朋友速度下载吧。

    系统等级:
    进入下载 >
  • 萝卜家园win7纯净版 ghost系统下载 x64 联想电脑专用

    萝卜家园win7纯净版 ghost系统下载 x64 联想电脑专用64位
    系统大小:0MB系统类型:Win7

    萝卜家园win7纯净版是款非常纯净的win7系统,此版本优化更新了大量的驱动,帮助用户们进行舒适的使用,更加的适合家庭办公的使用,方便用户,有需要的用户们快来下载安装吧。

    系统等级:
    进入下载 >
  • 雨林木风xp系统 xp系统纯净版 winXP ghost xp sp3 纯净版系统下载

    雨林木风xp系统 xp系统纯净版 winXP ghost xp sp3 纯净版系统下载64位
    系统大小:1.01GB系统类型:WinXP

    雨林木风xp系统 xp系统纯净版 winXP ghost xp sp3 纯净版系统下载,雨林木风WinXP系统技术积累雄厚深耕多年,采用了新的系统功能和硬件驱动,可以更好的发挥系统的性能,优化了系统、驱动对硬件的加速,加固了系统安全策略,运行环境安全可靠稳定。

    系统等级:
    进入下载 >
  • 萝卜家园win10企业版 免激活密钥 激活工具 V2023 X64位系统下载

    萝卜家园win10企业版 免激活密钥 激活工具 V2023 X64位系统下载64位
    系统大小:0MB系统类型:Win10

    萝卜家园在系统方面技术积累雄厚深耕多年,打造了国内重装系统行业的萝卜家园品牌,(win10企业版,win10 ghost,win10镜像),萝卜家园win10企业版 免激活密钥 激活工具 ghost镜像 X64位系统下载,其系统口碑得到许多人认可,积累了广大的用户群体,萝卜家园win10纯净版是一款稳定流畅的系统,一直以来都以用户为中心,是由萝卜家园win10团队推出的萝卜家园

    系统等级:
    进入下载 >
  • 萝卜家园windows10游戏版 win10游戏专业版 V2023 X64位系统下载

    萝卜家园windows10游戏版 win10游戏专业版 V2023 X64位系统下载64位
    系统大小:0MB系统类型:Win10

    萝卜家园windows10游戏版 win10游戏专业版 ghost X64位 系统下载,萝卜家园在系统方面技术积累雄厚深耕多年,打造了国内重装系统行业的萝卜家园品牌,其系统口碑得到许多人认可,积累了广大的用户群体,萝卜家园win10纯净版是一款稳定流畅的系统,一直以来都以用户为中心,是由萝卜家园win10团队推出的萝卜家园win10国内镜像版,基于国内用户的习惯,做

    系统等级:
    进入下载 >
  • windows11下载 萝卜家园win11专业版 X64位 V2023官网下载

    windows11下载 萝卜家园win11专业版 X64位 V2023官网下载64位
    系统大小:0MB系统类型:Win11

    萝卜家园在系统方面技术积累雄厚深耕多年,windows11下载 萝卜家园win11专业版 X64位 官网正式版可以更好的发挥系统的性能,优化了系统、驱动对硬件的加速,使得软件在WINDOWS11系统中运行得更加流畅,加固了系统安全策略,WINDOWS11系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。

    系统等级:
    进入下载 >