西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁業(yè)內(nèi)動態(tài) 業(yè)內(nèi)資訊 → 英偉達顯卡更新新版本后開機卡在歡迎界面或黑屏怎么辦?

英偉達顯卡更新新版本后開機卡在歡迎界面或黑屏怎么辦?

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:西西整理時間:2016/9/23 16:15:02字體大。A-A+

  • 類型:顯卡驅(qū)動大小:212M語言:中文 評分:2.3
  • 標簽:
立即下載

英偉達顯卡更新信版本后開機卡在歡迎界面或黑屏怎么辦?很多用戶反應的問題,當英偉達顯卡驅(qū)動372.54及372.70版本后導致開機卡在歡迎界面或黑屏,這一直是困擾很多用戶的問題。小編在這里給大家統(tǒng)計了一些關(guān)于處理這個問題的方式,一起了解一下。

先拋出個結(jié)論,之后給分析結(jié)果,說明(文中的dllmain對應dll入口點,模塊的入口點函數(shù)名不一定名字都是dllmain)

結(jié)論:

Dwm.exe進程初始化LdrInitializeThunk內(nèi)部先映射dll,在一塊兒調(diào)用這些dll的dllmain,在調(diào)用user32的dllmain時,加載英偉達的nvinitx.dll這個模塊使用SHGetShellFolder,該函數(shù)使用了rpcrt4.dll中的一些數(shù)據(jù),但是鎖相關(guān)數(shù)據(jù)還沒有被初始化(因為按調(diào)用順序先后還沒有調(diào)用到rpcrt4.dl它的dllmain)就使用,之后導致異常,出現(xiàn)死鎖情況。最終導致黑屏或者卡在系統(tǒng)歡迎界面。

分析的簡要過程:

1.從卡時獲取的dump上看explorer卡在ConnectPort到dwm.exe的一個port。

2.查看dwm.exe中的線程,發(fā)現(xiàn)其中一個線程卡在調(diào)用SHGetShellFolder函數(shù)內(nèi)部。這個卡之后就導致explorer.exe工作異常,一直卡在鏈接dwm.exe中的port。

3. 查看鎖sechost!SddlSidLookupCritical的狀態(tài),發(fā)現(xiàn)此鎖被dwm.exe主線程占用,沒有釋放。 仔細分析發(fā)現(xiàn)主線程正常情況下不應該釋放不了這個臨界區(qū)。

4.猜測只可能出現(xiàn)什么異常導致沒有釋放這個臨界區(qū)。

(上雙機調(diào)試)調(diào)試發(fā)現(xiàn)dwm.exe的主線程中英偉達nvinitx.dll的dllmain會調(diào)用SHGetFoldPathW函數(shù),這個函數(shù)調(diào)用的時候,已經(jīng)占用了鎖SddlSidLookupCritical,這個時候在去調(diào)用RPCRT4.dll中相關(guān)函數(shù),卻在調(diào)用EnterCriticalSection獲取rpcrt4的臨界區(qū)GlobalMutex出現(xiàn)異常,跳出到shell32中的異常處理函數(shù)_GSHandlerCheck_EH,這個時候?qū)е聸]有釋放SddlSidLookupCritical鎖,SHGetFoldPathW就返回了。查看了下異常,發(fā)現(xiàn)rpcrt4中的臨界區(qū)該臨界區(qū)GlobalMutex沒有初始化,dllmain 內(nèi)部很多其它變量值也沒有初始化,可以確定是dllmain沒有被調(diào)用到。

5. ida分析可以知道GlobalMutex的初始化在rpcrt4.dll的dllmain內(nèi)部 。所以可以知道出問題的原因就是rpcrt4.dll的dllmain沒有調(diào)用到,那么為什么會導致這個dllmain沒有調(diào)用掉呢?

6. 分析發(fā)現(xiàn)這個SHGetFoldPathW的調(diào)用是在nvinitx.dll的dllmain中。

ntdll!LdrpInitializeProcess函數(shù)先映射導入表中的dll在調(diào)用這些dll中的dllmain函數(shù)。

這個出問題環(huán)境調(diào)試發(fā)現(xiàn)rpcr4.dll中dllmain并沒有調(diào)用到,這個時候gdi32的dllmain函數(shù)內(nèi)部調(diào)用loadlibrary加載nvinitx.dll,并調(diào)用nvinitx.dll的dllmain函數(shù),但是這個時候調(diào)用LdrpLoadDll加載rpcr4.dll的時候,(之前剛映射,這個時候LdrpLoadDll發(fā)現(xiàn)rpcr4.dll已經(jīng)被映射了,所以就不會調(diào)用這個rpcr4.dll的dllmain函數(shù))

Loadlibrary調(diào)用LdrpLoadDll(這個函數(shù)先檢查模塊rpcr4.dll是否映射,發(fā)現(xiàn)已經(jīng)映射就不會調(diào)用這個的dllmain,接下來調(diào)用其它函數(shù)使用臨界區(qū)GlobalMutex就出現(xiàn)異常崩潰)這個rpcr4.dll的dllmain會在接下來的ntdll!LdrpRunInitalizeroutines函數(shù)內(nèi)部調(diào)用 。

7.更新了英偉達顯卡驅(qū)動372.54及372.70版本后,開機啟動過程中,經(jīng)過上面一系列的異常調(diào)用,最終系統(tǒng)會被卡在歡迎界面或個別電腦出現(xiàn)黑屏的情況。

    nvidia
    (31)nvidia
    西西軟件園提供好用的nvidia顯卡驅(qū)動大全下載,一直以來就喜歡nvidia的顯卡,比起A卡來說更加強大,針對每個游戲都有相對應的驅(qū)動,而A卡卻沒有,每次都需要催化劑才能更新,比較麻煩。如果大家沒有在西西軟件園找到相對應的其驅(qū)動,可以到官網(wǎng)下載,可以自動匹配的哦。...更多>>
    顯卡驅(qū)動
    (105)顯卡驅(qū)動
    顯卡驅(qū)動程序是硬件廠商根據(jù)操作系統(tǒng)編寫的配置文件,可以說沒有驅(qū)動程序,計算機中的硬件就無法工作。操作系統(tǒng)不同,硬件的驅(qū)動程序也不同,各個硬件廠商為了保證硬件的兼容性及增強硬件的功能會不斷地升級驅(qū)動程序。顯卡驅(qū)動安裝:一般會在電腦配置的附件光盤中帶有顯卡的驅(qū)動程序,可以直接安裝。在沒有附件光盤的情況下安裝顯卡驅(qū)動,則先要確定顯卡的品牌與型號的,如果記不得了,就打開機箱看那個豎插在主板上的較大板子(一...更多>>
    萬能顯卡驅(qū)動
    (132)萬能顯卡驅(qū)動
    萬能顯卡驅(qū)動整合了目前市場上所有的主流臺式機和筆記本顯卡的驅(qū)動,完美支持Vista、Win7、Win8、XP32位和64位等系統(tǒng),智能識別顯示卡型號,完全自動化修復安裝顯卡驅(qū)動。萬能顯卡驅(qū)動下載x適用于英偉達(Nvidia)、AMD、英特爾(Intel)、華碩(ASUS)、技嘉(GigaByte)、微星(MSI)、藍寶石(Sapphire)、七彩虹(Colorful)、影馳(Galaxy)等主流顯卡品牌廠商發(fā)布的各種集成或獨立顯卡。驅(qū)動安裝步驟:1.下載下面列出的各個萬...更多>>

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)