錯誤碼0x00000001(360安全周報第44期:Windows Next系統預覽)
錯誤碼0x00000001文章列表:
- 1、360安全周報第44期:Windows Next系統預覽
- 2、電腦藍屏的解決方法
- 3、遠程教用戶改win7 32位系統,使用出現藍屏怎么解決?
- 4、C++|那些一看就很簡潔、優雅、經典的小代碼段
- 5、碰上這種 Wi-Fi,iPhone 秒崩
360安全周報第44期:Windows Next系統預覽
360安全周報第44期
(2021.06.11-2021.06.17)
“Windows Next”系統預覽
微軟定于本月24日為新的Windows系統召開發布會,目前國內外媒體普遍猜測,微軟的下一代系統,可能會被命名為 Windows 11。
本周,網絡上提供了疑似Windows 11的系統鏡像,從版本號上看,實際上針對的是Insider用戶的Dev版本,版本號為 10.0.21996.1。根據外媒報道,此版本有可能會被微軟當作是下一個 RTM 版本,即:“Windows Next”系統。我們在第一時間體驗了這個版本,下面讓我們一起來看一下這個疑似為“Windows 11”的下一代系統。
首先是安裝界面,系統Logo發生了明顯變化,變為了方形。
后面的安裝過程與之前的版本無異,進入引導流程后,界面UI及交互發生了較大改變。
可以看到引導界面一改之前的藍底白字風格,UI發生了顯著變化。流程上和Win10系統基本是一致的,首先是國家選擇 — 鍵盤布局 — 使用渠道 —— 賬戶登錄;然后是一個新引入的流程,針對微軟賬戶登錄可以選擇同步已有的電腦配置,或者設置為【新設備】;最后是隱私設置以及系統用途的選擇。
完成后進入桌面。如之前傳聞所言,新系統的交互和UI上引入了 Windows 10 X系統元素,任務欄圖標默認放在了中心,我們可以看到系統的關于菜單中顯示的版本號已更新為了Windows 11。
然后就是來自 Windows 10 X 系統的全新開始菜單,簡潔化布局,浮動彈窗,圓角邊框設計。
在之前發布的內容中我們有提到,資源管理器將采用新圖標,在一些交互菜單上,微軟也將交互按鈕設計為了圓角形式,驗證了之前外媒提到的猜測。
以上,就是這個疑似為“Windows Next”系統的體驗過程了。除了界面UI上的變化,據外媒報道,在正式發布的版本中還將直接支持安卓應用的安裝使用。作為Windows 10系統的用戶,你是否期待這個“Windows Next”新系統呢?歡迎在文章下方留言討論~
Windows 10 消費者版將在2025年結束支持
微軟將在本月24日為操作系統業務舉辦專門發布會,從目前已有消息來看,即將發布的下一代Windows系統可能會被稱為Windows 11。
日前微軟悄悄更新了有關生命周期的技術支持文檔,在文檔中微軟增加提示,稱Windows 10消費者版本(包括Windows 10家庭版、零售教育版、專業版和專業工作站版)有生命周期。
在最新的【生命周期文檔】中,微軟稱Windows 10 消費者版生命周期從2015年7月29日起到2025年10月14日結束支持。
按照微軟以往政策Windows 10屬于隨時更新的、因此永遠不會結束支持,但現在該系統要為下一代Windows讓路。至于新系統會被稱為Windows 11 還是Windows 太陽谷更新還不確定。有消息稱微軟可能會學習蘋果對操作系統的命名方式,即到時將在操作系統版本后面增加代號以示版本更新的重要性。
微軟發布 Win10 KB5004476 可選更新,解決XGP游戲無法安裝故障
本周,微軟為 Win10 21H1/20H2/2004 版本緊急發布了KB5004476可選更新,該更新主要是緊急解決了 Xbox Game Pass 用戶反饋的游戲無法安裝問題。
Xbox Game Pass 是微軟推出的一項游戲訂閱服務,玩家在訂閱期內可以暢玩該服務包含的數百款游戲,但除了部分微軟第一方游戲,其余游戲都有上架期限,當游戲被移出 Xbox Game Pass 服務后,玩家就不再能免費暢玩了,因此該服務更適用于游玩一次通關類型的游戲。
據網友反饋,在最近的 Windows 應用商店更新后,部分用戶在下載安裝 Xbox Game Pass 游戲時,會遇到錯誤代碼 0x80073D26 或 0x8007139F,接著用戶會被重定向到商店主頁,Xbox 應用也會出現錯誤代碼 0x00000001。目前大家可以在 Windows 更新中下載安裝該可選更新。
谷歌發布Chrome新版修復0day漏洞
谷歌于本周發布了 Chrome 瀏覽器 91.0.4472.101 正式版,同時為 MacOS、Windows、Linux 推送。根據外媒消息,這一版本提供了 14 項安全修復,其中包含一個嚴重的 0 day 漏洞,代號為 CVE-2021-30551。
谷歌威脅分析小組于 6 月 9 日表示,這個漏洞與微軟此前修復的 CVE-2021-33742 相關,此前確實存在于 Chrome 瀏覽器。在今年 4 月,有黑客利用一系列 Chrome 和微軟的 0 day 漏洞對多家公司進行了攻擊。截至目前,谷歌已經修復了另外 5 個被利用的 0 day 漏洞。
除此之外,谷歌還在更新日志中表明,Chrome 新版還解決了多個漏洞,其中 2 個為中等嚴重,7 個為高等嚴重。具體內容如圖所示。
電腦藍屏的解決方法
電腦藍屏代碼大全及解決辦法合集
代碼 含意
0 0x00000000 作業完成。
1 0x00000001 不正確的函數。
2 0x00000002 系統找不到指定的檔案。
3 0x00000003 系統找不到指定的路徑。
4 0x00000004 系統無法開啟檔案。
5 0x00000005 拒絕存取。
6 0x00000006 無效的代碼。
7 0x00000007 儲存體控制區塊已毀。
8 0x00000008 儲存體空間不足,無法處理這個指令。
9 0x00000009 儲存體控制區塊地址無效。
10 0x0000000A 環境不正確。
11 0x0000000B 嘗試加載一個格式錯誤的程序。
12 0x0000000C 存取碼錯誤。
13 0x0000000D 資料錯誤。
14 0x0000000E 儲存體空間不夠,無法完成這項作業。
15 0x0000000F 系統找不到指定的磁盤驅動器。
16 0x00000010 無法移除目錄。
16 0x00000010 無法移除目錄。
17 0x00000011 系統無法將檔案移到 其它的磁盤驅動器。
18 0x00000012 沒有任何檔案。
19 0x00000013 儲存媒體為寫保護狀態。
20 0x00000014 系統找不到指定的裝置。
21 0x00000015 裝置尚未就緒。
22 0x00000016 裝置無法識別指令。
23 0x00000017 資料錯誤 (cyclic redundancy check)
24 0x00000018 程序發出一個長度錯誤的指令。
25 0x00000019 磁盤驅動器在磁盤找不到 持定的扇區或磁道。
26 0x0000001A 指定的磁盤或磁盤無法存取。
27 0x0000001B 磁盤驅動器找不到要求的扇區。
28 0x0000001C 打印機沒有紙。
29 0x0000001D 系統無法將資料寫入指定的磁盤驅動器。
30 0x0000001E 系統無法讀取指定的裝置。
31 0x0000001F 連接到系統的某個裝置沒有作用。
32 0x00000020 文件被另一進程使用中不能訪問The process cannot access the file because it is being used by another process.
33 0x00000021 檔案的一部份被鎖定, 現在無法存取。
34 0x00000022 磁盤驅動器的磁盤不正確。 請將 %2 (Volume Serial Number: %3) 插入磁盤機%1。
36 0x00000024 開啟的分享檔案數量太多。
38 0x00000026 到達檔案結尾。
39 0x00000027 磁盤已滿。
50 0x00000032 不支持這種網絡要求。
51 0x00000033 遠程計算機無法使用。
52 0x00000034 網絡名稱重復。
53 0x00000035 網絡路徑找不到。
54 0x00000036 網絡忙碌中。
55 0x00000037 特殊的網絡資源或設備不可再使用The specified network resource or device is no longer available.
56 0x00000038 網絡BIOS命令已達到限制The network BIOS command limit has been reached.
57 0x00000039 網絡配接卡發生問題。
58 0x0000003A 指定的服務器無法執行要求的作業。
59 0x0000003B 網絡發生意外錯誤。
60 0x0000003C 遠程配接卡不兼容。
61 0x0000003D 打印機隊列已滿。
62 0x0000003E 服務器的空間無法儲存等候打印的檔案。
63 0x0000003F 等候打印的檔案已經刪除。
64 0x00000040 指定的網絡名稱無法使用。
65 0x00000041 拒絕存取網絡。
65 0x00000041 拒絕存取網絡。
66 0x00000042 網絡資源類型錯誤。
67 0x00000043 網絡名稱找不到。
68 0x00000044 超過區域計算機網絡配接卡的名稱限制。
69 0x00000045 超過網絡 BIOS 作業階段的限制。
70 0x00000046 遠程服務器已經暫停或者正在起始中。
71 0x00000047 由于聯機數目已達上限,此時無法再聯機到這臺遠程計算機。
72 0x00000048 指定的打印機或磁盤裝置已經暫停作用。
80 0x00000050 檔案已經存在。
82 0x00000052 無法建立目錄或檔案。
83 0x00000053 INT 2484 0x00000054 處理這項要求的儲存體無法使用。
85 0x00000055 近端裝置名稱已經在使用中。
86 0x00000056 指定的網絡密碼錯誤。
87 0x00000057 參數錯誤。
88 0x00000058 網絡發生資料寫入錯誤。
89 0x00000059 此時系統無法執行其它行程。
100 0x00000064 無法建立其它的系統 semaphore。
101 0x00000065 屬于其它行程專用的 semaphore.
102 0x00000066 semaphore 已經設定,而且無法關閉。
103 0x00000067 無法指定 semaphore 。
104 0x00000068 在岔斷時間無法要求專用的 semaphore 。
104 0x00000068 在岔斷時間無法要求專用的 semaphore 。
105 0x00000069 此 semaphore 先前的擁有權已經結束。
106 0x0000006A 請將磁盤插入 %1。
107 0x0000006B 因為代用的磁盤尚未插入,所以程序已經停止。
108 0x0000006C 磁盤正在使用中或被鎖定。
109 0x0000006D Pipe 已經中止。
110 0x0000006E 系統無法開啟指定的 裝置或檔案。
111 0x0000006F 檔名太長。
112 0x00000070 磁盤空間不足。
113 0x00000071 沒有可用的內部檔案標識符。
114 0x00000072 目標內部檔案標識符不正確。
117 0x00000075 由應用程序所執行的 IOCTL 呼叫 不正確。
118 0x00000076 寫入驗證參數值不正確。
119 0x00000077 系統不支持所要求的指令。
120 0x00000078 此項功能僅在 Win32 模式有效。
121 0x00000079 semaphore 超過逾時期間。
122 0x0000007A 傳到系統呼叫的資料區域 太小。
123 0x0000007B 文件名、目錄名稱或儲存體卷標語法錯誤。
124 0x0000007C 系統呼叫層次不正確。
125 0x0000007D 磁盤沒有設定卷標。
126 0x0000007E 找不到指定的模塊。
127 0x0000007F 找不到指定的程序。
128 0x00000080 沒有子行程可供等待。
128 0x00000080 沒有子行程可供等待。
129 0x00000081 %1 這個應用程序無法在 Win32 模式下執行。
130 0x00000082 Attempt to use a file handle to an open disk partition for an operation other than raw disk I/O.
131 0x00000083 嘗試將檔案指針移至檔案開頭之前。
132 0x00000084 無法在指定的裝置或檔案,設定檔案指針。
133 0x00000085 JOIN 或 SUBST 指令 無法用于 內含事先結合過的磁盤驅動器。
134 0x00000086 嘗試在已經結合的磁盤驅動器,使用 JOIN 或 SUBST 指令。
135 0x00000087 嘗試在已經替換的磁盤驅動器,使 用 JOIN 或 SUBST 指令。
136 0x00000088 系統嘗試刪除 未連結過的磁盤驅動器的連結關系。
138 0x0000008A 系統嘗試將磁盤驅動器結合到已經結合過之磁盤驅動器的目錄。
139 0x0000008B 系統嘗試將磁盤驅動器替換成已經替換過之磁盤驅動器的目錄。
140 0x0000008C 系統嘗試將磁盤驅動器替換成已經替換過之磁盤驅動器的目錄。
141 0x000000 系統嘗試將磁盤驅動器 SUBST 成已結合的磁盤驅動器 目錄。
142 0x0000008E 系統此刻無法執行 JOIN 或 SUBST。
143 0x0000008F 系統無法將磁盤驅動器結合或替換同一磁盤驅動器下目錄。
144 0x00000090 這個目錄不是根目錄的子目錄。
145 0x00000091 目錄仍有資料。
146 0x00000092 指定的路徑已經被替換過。
147 0x00000093 資源不足,無法處理這項 指令。
148 0x00000094 指定的路徑這時候無法使用。
148 0x00000094 指定的路徑這時候無法使用。
149 0x00000095 嘗試要結合或替換的磁盤驅動器目錄,是已經替換過的的目標。
150 0x00000096 CONFIG.SYS 文件未指定系統追蹤信息,或是追蹤功能被取消。
151 0x00000097 指定的 semaphore事件 DosMux0000SemWait 數目不正確。
152 0x00000098 DosMux0000SemWait 沒有執行;設定太多的 semaphore。
153 0x00000099 DosMux0000SemWait 清單不正確。
154 0x0000009A 您所輸入的儲存媒體標 元長度限制。
155 0x0000009B 無法建立其它的執行緒。
156 0x0000009C 接收行程拒絕接受信號。
157 0x0000009D 區段已經被舍棄,無法被鎖定。
158 0x0000009E 區段已經解除鎖定。
159 0x0000009F 執行緒識別碼的地址不正確。
160 0x000000A0 傳到 DosEx0000ecPgm 的自變量字符串不正確。
161 0x000000A1 指定的路徑不正確。
162 0x000000A2 信號等候處理。
164 0x000000A4 系統無法建立執行緒。
167 0x000000A7 無法鎖定檔案的部份范圍。
170 0x000000AA 所要求的資源正在使用中。
173 0x000000AD 取消范圍的鎖定要求不明顯。
174 0x000000AE 檔案系統不支持自動變更鎖定類型。
180 0x000000B4 系統發現不正確的區段號碼。
182 0x000000B6 操作系統無法執行 %1。
182 0x000000B6 操作系統無法執行 %1。
183 0x000000B7 檔案已存在,無法建立同一檔案。
186 0x000000BA 傳送的旗號錯誤。
187 0x000000BB 指定的系統旗號找不到。
188 0x000000BC 操作系統無法執行 %1。
189 0x000000BD 操作系統無法執行 %1。
190 0x000000BE 操作系統無法執行 %1。
191 0x000000BF 無法在 Win32 模式下執行 %1。
192 0x000000C0 操作系統無法執行 %1。
193 0x000000C1 %1 不是正確的 Win32 應用程序。
194 0x000000C2 操作系統無法執行 %1。
195 0x000000C3 操作系統無法執行 %1。
196 0x000000C4 操作系統無法執行 這個應用程序。
197 0x000000C5 操作系統目前無法執行 這個應用程序。
198 0x000000C6 操作系統無法執行 %1。
199 0x000000C7 操作系統無法執行 這個應用程序。
200 0x000000C8 程序代碼的區段不可以大于或等于 64KB。
201 0x000000C9 操作系統無法執行 %1。
202 0x000000CA 操作系統無法執行 %1。
203 0x000000CB 系統找不到輸入的環境選項。r
205 0x000000CD 在指令子目錄下,沒有任何行程有信號副處理程序。
206 0x000000CE 文件名稱或擴展名太長。
207 0x000000CF ring 2 堆棧使用中。
207 0x000000CF ring 2 堆棧使用中。
208 0x000000D0 輸入的通用檔名字元 * 或 ? 不正確, 或指定太多的通用檔名字元。
209 0x000000D1 所傳送的信號不正確。
210 0x000000D2 無法設定信號處理程序。
212 0x000000D4 區段被鎖定,而且無法重新配置。
214 0x000000D6 附加到此程序或動態連結模塊的動態連結模塊太多。
215 0x000000D7 Can’t nest calls to LoadModule.
230 0x000000E6 The pipe state is invalid.
231 0x000000E7 所有的 pipe instances 都在忙碌中。
232 0x000000E8 The pipe is being closed.
233 0x000000E9 No process is on the other end of the pipe.
234 0x000000EA 有更多可用的資料。
240 0x000000F0 作業階段被取消。
254 0x000000FE 指定的延伸屬性名稱無效。
255 0x000000FF 延伸的屬性不一致。
259 0x00000103 沒有可用的資料。
266 0x0000010A 無法使用 Copy API。
267 0x0000010B 目錄名稱錯誤。
275 0x00000113 延伸屬性不適用于緩沖區。
276 0x00000114 在外掛的檔案系統上的延伸屬性檔案已經毀損。
277 0x00000115 延伸屬性表格文件滿。
278 0x00000116 指定的延伸屬性代碼無效。
278 0x00000116 指定的延伸屬性代碼無效。
282 0x0000011A 外掛的這個檔案系統不支持延伸屬性。
288 0x00000120 意圖釋放不屬于叫用者的 mutex0000。
298 0x0000012A semaphore 傳送次數過多。
299 0x0000012B 只完成 Read/WriteProcessMemory 的部份要求。
317 0x0000013D 系統找不到位于訊息文件 %2 中編號為 0x0000%1 的訊息。
487 0x000001E7 嘗試存取無效的地址。
534 0x00000216 運算結果超過 32 位。
535 0x00000217 信道的另一端有一個行程在接送資料。
536 0x00000218 等候行程來開啟信道的另一端。
994 0x000003E2 存取延伸的屬性被拒。
995 0x000003E3 由于執行緒結束或應用程序要求,而異常終止 I/O 作業。
996 0x000003E4 重疊的 I/O 事件不是設定成通知狀態。
997 0x000003E5 正在處理重疊的 I/O 作業。
998 0x000003E6 對內存位置的無效存取。
999 0x000003E7 執行 inpage 作業發生錯誤。
1001 0x000003E9 遞歸太深,堆棧滿溢。
1002 0x000003EA 窗口無法用來傳送訊息。
1003 0x000003EB 無法完成這項功能。
1004 0x000003EC 旗號無效。
1005 0x000003ED 儲存媒體未含任何可辨識的檔案系統。 請確定以加載所需的系統驅動程序,而且該儲存媒體并未毀損。
1006 0x000003EE 儲存該檔案的外部媒體發出警告,表示該已開啟檔案已經無效。
1007 0x000003EF 所要求的作業無法在全屏幕模式下執行。
1008 0x000003F0 An attempt was made to reference a token that does not ex0000ist.
1009 0x000003F1 組態系統登錄數據庫毀損。
1010 0x000003F2 組態系統登錄機碼無效。
1011 0x000003F3 無法開啟組態系統登錄機碼。
1012 0x000003F4 無法讀取組態系統登錄機碼。
1013 0x000003F5 無法寫入組態系統登錄機碼。
1014 0x000003F6 系統登錄數據庫中的一個檔案必須使用記錄或其它備份還原。 已經還原成功。
1015 0x000003F7 系統登錄毀損。其中某個檔案毀損、或者該檔案的 系統映對內存內容毀損、會是檔案無法復原。
1016 0x000003F8 系統登錄起始的 I/O 作業發生無法復原的錯誤。 系統登錄無法讀入、寫出或更新,其中的一個檔案 內含系統登錄在內存中的內容。
1017 0x000003F9 系統嘗試將檔案加載系統登錄或將檔案還原到系統登錄中,但是,指定檔案的格式不是系統登錄文件的格式。
1018 0x000003FA 嘗試在標示為刪除的系統登錄機碼,執行不合法的操作。
1018 0x000003FA 嘗試在標示為刪除的系統登錄機碼,執行不合法的操作。
1019 0x000003FB 系統無法配置系統登錄記錄所需的空間。
1020 0x000003FC 無法在已經有子機碼或數值的系統登錄機碼建立符號連結。
1021 0x000003FD 無法在臨時機碼下建立永久的子機碼。
1022 0x000003FE 變更要求的通知完成,但信息 并未透過呼叫者的緩沖區傳回。呼叫者現在需要自行列舉檔案,找出變更的地方。
1051 0x0000041B 停止控制已經傳送給其它服務 所依峙的一個服務。
1052 0x0000041C 要求的控制對此服務無效
1016 0x000003F8 系統登錄起始的 I/O 作業發生無法復原的錯誤。 系統登錄無法讀入、寫出或更新,其中的一個檔案 內含系統登錄在內存中的內容。
1017 0x000003F9 系統嘗試將檔案加載系統登錄或將檔案還原到系統登錄中,但是,指定檔案的格式不是系統登錄文件的格式。
1018 0x000003FA 嘗試在標示為刪除的系統登錄機碼,執行不合法的操作。
1018 0x000003FA 嘗試在標示為刪除的系統登錄機碼,執行不合法的操作。
1019 0x000003FB 系統無法配置系統登錄記錄所需的空間。
1020 0x000003FC 無法在已經有子機碼或數值的系統登錄機碼建立符號連結。
1021 0x000003FD 無法在臨時機碼下建立永久的子機碼。
1022 0x000003FE 變更要求的通知完成,但信息 并未透過呼叫者的緩沖區傳回。呼叫者現在需要自行列舉檔案,找出變更的地方。
1051 0x0000041B 停止控制已經傳送給其它服務 所依峙的一個服務。
1052 0x0000041C 要求的控制對此服務無效
1052 0x0000041C 要求的控制對此服務無效
1053 0x0000041D The service did not respond to the start or control request in a timely fashion. 1054 0x0000041E 無法建立服務的執行緒。
1055 0x0000041F 服務數據庫被鎖定。
1056 0x00000420 這種服務已經在執行。
1057 0x00000421 帳戶名稱錯誤或者不存在。
1058 0x00000422 指定的服務暫停作用,無法激活。
1059 0x00000423 指定循環服務從屬關系。
1060 0x00000424 指定的服務不是安裝進來的服務。
1061 0x00000425 該服務項目此時無法接收控制訊息。
1062 0x00000426 服務尚未激活。
1063 0x00000427 無法聯機到服務控制程序。
1064 0x00000428 處理控制要求時,發生意外狀況。
1065 0x00000429 指定的數據庫不存在。
1066 0x0000042A 服務傳回專屬于服務的錯誤碼。
1067 0x0000042B The process terminated unex0000pectedly.
1068 0x0000042C 從屬服務或群組無法激活。
1069 0x0000042D 因為登入失敗,所以沒有激活服務。
1070 0x0000042E 在激活之后,服務在激活狀態時當機。
1071 0x0000042F 指定服務數據庫鎖定無效。
1072 0x00000430 指定的服務已經標示為刪除。
1073 0x00000431 指定的服務已經存在。
1074 0x00000432 系統目前正以上一次執行成功的組態執行。
1075 0x00000433 從屬服務不存在,或已經標示為刪除。
1076 0x00000434 目前的激活已經接受上一次執行成功的 控制設定。
1077 0x00000435 上一次激活之后,就沒有再激活服務。
1078 0x00000436 指定的名稱已經用于服務名稱或服務顯示 名稱。
1100 0x0000044C 已經到了磁帶的最后。
1101 0x0000044D 到了檔案標示。
1102 0x0000044E 遇到磁帶的開頭或分割區。
1100 0x0000044C 已經到了磁帶的最后。
1101 0x0000044D 到了檔案標示。
1102 0x0000044E 遇到磁帶的開頭或分割區。
1103 0x0000044F 到了檔案組的結尾。
1104 0x00000450 磁帶沒有任何資料。
1105 0x00000451 磁帶無法制作分割區。
1106 0x00000452 存取多重容體的新磁帶時,發現目前 區塊大小錯誤。
1107 0x00000453 加載磁帶時,找不到磁帶分割區信息。
1108 0x00000454 無法鎖住儲存媒體退帶功能。
1108 0x00000454 無法鎖住儲存媒體退帶功能。
1109 0x00000455 無法解除加載儲存媒體。
1110 0x00000456 磁盤驅動器中的儲存媒體已經變更。
1111 0x00000457 已經重設 I/O 總線。
1112 0x00000458 磁盤驅動器沒有任何儲存媒體。
1113 0x00000459 目標 multi-byte code page,沒有對應 Unicode 字符。
1114 0x0000045A 動態鏈接庫 (DLL) 起始例程失敗。
1115 0x0000045B 系統正在關機。
1116 0x0000045C 無法中止系統關機,因為沒有關機的動作在進行中。
1117 0x0000045D 因為 I/O 裝置發生錯誤,所以無法執行要求。
1118 0x0000045E 序列裝置起始失敗,會取消加載序列驅動程序。
1119 0x0000045F 無法開啟裝置。這個裝置與其它裝置共享岔斷要求 (IRQ)。至少已經有一個使用同一IRQ 的其它裝置已經開啟。
1120 0x00000460 A serial I/O operation was completed by another write to the serial port(The IOCTL_SERIAL_x0000OFF_COUNTER reached zero.)
1121 0x00000461 因為已經過了逾時時間,所以序列 I/O 作業完成。
(IOCTL_SERIAL_x0000OFF_COUNTER 不是零。)
1122 0x00000462 在磁盤找不到任何的 ID 地址標示。
1123 0x00000463 磁盤扇區 ID 字段與磁盤控制卡追蹤地址 不符。
1124 0x00000464 軟式磁盤驅動器控制卡回報了一個軟式磁盤驅動器驅動程序無法識別的錯誤。
1125 0x00000465 軟式磁盤驅動器控制卡傳回與緩存器中不一致的結果。
1126 0x00000466 存取硬盤失敗,重試后也無法作業。
1127 0x00000467 存取硬盤失敗,重試后也無法作業。
1128 0x00000468 存取硬盤時,必須重設磁盤控制卡,但是 連重設的動作也失敗。
1129 0x00000469 到了磁帶的最后。
1130 0x0000046A 可用服務器儲存空間不足,無法處理這項指令。
1131 0x0000046B 發現潛在的死鎖條件。
1132 0x0000046C 指定的基本地址或檔案位移沒有適當 對齊。
1140 0x00000474 嘗試變更系統電源狀態,但其它的應用程序或驅動程序拒絕。
1141 0x00000475 系統 BIOS 無法變更系統電源狀態。
1150 0x0000047E 指定的程序需要新的 Windows 版本。
1151 0x0000047F 指定的程序不是 Windows 或 MS-DOS 程序。
1152 0x00000480 指定的程序已經激活,無法再激活一次。
1153 0x00000481 指定的程序是為舊版的 Windows 所寫的。
1154 0x00000482 執行此應用程序所需的鏈接庫檔案之一毀損。
1155 0x00000483 沒有應用程序與此項作業的指定檔案建立關聯。
1156 0x00000484 傳送指令到應用程序發生錯誤。
1157 0x00000485 找不到執行此應用程序所需的鏈接庫檔案。
1200 0x000004B0 指定的裝置名稱無效。
1201 0x000004B1 裝置現在雖然未聯機,但是它是一個記憶聯機。
1202 0x000004B2 嘗試記憶已經記住的裝置。
1203 0x000004B3 提供的網絡路徑找不到任何網絡提供程序。
1203 0x000004B3 提供的網絡路徑找不到任何網絡提供程序。
1204 0x000004B4 指定的網絡提供程序名稱錯誤。
1205 0x000004B5 無法開啟網絡聯機設定文件。
1206 0x000004B6 網絡聯機設定文件壞掉。
1207 0x000004B7 無法列舉非容器。
1208 0x000004B8 發生延伸的錯誤。
1209 0x000004B9 指定的群組名稱錯誤。
1210 0x000004BA 指定的計算機名稱錯誤。
1211 0x000004BB 指定的事件名稱錯誤。
1212 0x000004BC 指定的網絡名稱錯誤。
1213 0x000004BD 指定的服務名稱錯誤。
1214 0x000004BE 指定的網絡名稱錯誤。
1215 0x000004BF 指定的資源共享名稱錯誤。
1216 0x000004C0 指定的密碼錯誤。
1217 0x000004C1 指定的訊息名稱錯誤。
1218 0x000004C2 指定的訊息目的地錯誤。
1219 0x000004C3 所提供的條件與現有的條件組發生沖突。
1220 0x000004C4 嘗試與網絡服務器聯機,但是 與該服務器的聯機已經太多。
1221 0x000004C5 其它網絡計算機已經在使用這個工作群組或網域名稱。
Windows 2K/XP藍屏信息非常多, 無法在一篇文章中全面講解, 但他們產生的原因往往集中在不兼容的硬件和驅動程序、有問題的軟件、病毒等, 因此首先為大家提供了一些常規的解決方案, 在遇到藍屏錯誤時, 應先對照這些方案進行排除.
1.重啟
有時只是某個程序或驅動程序一時犯錯, 重啟后他們會改過自新.(注意:此時參見7.查詢停機碼)
2.新硬件
首先, 應該檢查新硬件是否插牢, 這個被許多人忽視的問題往往會引發許多莫名其妙的故障. 如果確認沒有問題, 將其拔下, 然后換個插槽試試, 并安裝最新的驅動程序. 同時還應對照微軟網站的硬件兼容類別檢查一下硬件是否與操作系統兼容. 如果你的硬件沒有在表中, 那么就得到硬件廠商網站進行查詢, 或者撥打他們的咨詢電話.
3.新驅動和新服務
如果剛安裝完某個硬件的新驅動, 或安裝了某個軟件, 而它又在系統服務中添加了相應項目(比如:殺毒軟件、CPU降溫軟件、防火墻軟件等), 在重啟或使用中出現了藍屏故障, 請到安全模式來卸載或禁用它們.
4.檢查病毒
比如沖擊波和振蕩波等病毒有時會導致Windows藍屏死機, 因此查殺病毒必不可少. 同時一些木馬間諜軟件也會引發藍屏, 所以最好再用相關工具進行掃描檢查.
5.檢查BIOS和硬件兼容性
對于新裝的電腦經常出現藍屏問題, 應該檢查并升級BIOS到最新版本, 同時關閉其中的內存相關項, 比如:緩存和映射. 另外 還應該對照微軟的硬件兼容列表檢查自己的硬件. 還有就是, 如果主板BIOS無法支持大容量硬盤也會導致藍屏, 需要對其進行升級.
6、運行“sfc /scannow”來檢查系統文件是否被替換,然后用系統安裝盤來恢復.
小提示:
BIOS的緩存和映射項
Video BIOS Shadowing (視頻BIOS映射)
Shadowing address ranges(映射地址列)
System BIOS Cacheable(系統BIOS緩沖)
Video BIOS Cacheable(視頻BIOS緩沖)
Video RAM Cacheable(視頻內存緩沖)
7.檢查系統日志
在開始-->菜單中輸入:EventVwr.msc, 回車出現"事件查看器", 注意檢查其中的"系統日志"和"應用程序日志"中表明"錯誤"的項.
8.查詢停機碼
把藍屏中密密麻麻的E文記下來, 接著到其他電腦中上網, 進入微軟幫助與支持網站,在左上角的"搜索(知識庫)"中輸入停機碼, 如果搜索結果沒有適合信息, 可以選擇"英文知識庫"在搜索一遍. 一般情況下, 會在這里找到有用的解決案例. 另外, 在baidu、Google等搜索引擎中使用藍屏的停機碼或者后面的說明文字為關鍵詞搜索, 往往也會有收獲.
9.最后一次正確配置
一般情況下, 藍屏都是在硬件驅動或新加硬件并安裝驅動后, 這時Windows 2K/XP提供的"最后一次正確配置"就是解決藍屏的快捷方式. 重啟系統, 在出現啟動菜單時按下F8鍵就會出現高級啟動選項菜單, 接著選擇"最后一次正確配置".
10.安裝最新的系統補丁和Service Pack
有些藍屏是Windows本身存在缺陷造成的, 應此可通過安裝最新的系統補丁和Service Pack來解決.
藍屏代碼含義和解決方案
使用windows出現藍色屏幕是經常的事,而且每每因為不清楚錯誤的來源而頻繁重新安裝系統,勞神費時。下列收集了一些windows死機密碼,供大家參考。
1、0x0000000A:IRQL_NOT_LESS_OR_EQUAL
◆錯誤分析:主要是由問題的驅動程序、有缺陷或不兼容的硬件與軟件造成的. 從技術角度講. 表明在內核模式中有級別進程請求(IRQL)訪問其沒有權限訪問的內存地址.
◇解決方案:請用前面介紹的解決方案中的2、3、5、8、9方案嘗試排除.
2、0x00000012:TRAP_CAUSE_UNKNOWN
◆錯誤分析:如果遇到這個錯誤信息, 那么很不幸, 應為KeBudCheck分析的結果是錯誤原因
未知.
◇解決方案:既然微軟都幫不上忙, 就得靠自己了, 請仔細回想這個錯誤是什么時候出現的; 第一次發生時你對系統做了哪些操作; 發生時正在進行什么操作. 從這些信息中找出可能的原因, 從而選擇相應解決方案嘗試排除.
3、0x0000001A:MEMORY_MANAGEMENT
◆錯誤分析:這個內存管理錯誤往往是由硬件引起的, 比如: 新安裝的硬件、內存本身有問題等.
◇解決方案:如果是在安裝Windows時出現, 有可能是由于你的電腦達不到安裝Windows的最小內存和磁盤要求.
4、0x0000001E:KMODE_EXCEPTION_NOT_HANDLED
◆錯誤分析:Windows內核檢查到一個非法或者未知的進程指令,這個停機碼一般是由問題的內存或是與前面0x0000000A相似的原因造成的.
◇解決方案:
(1)硬件兼容有問題:請對照前面提到的最新硬件兼容性列表, 查看所有硬件是否包含在該列表中.
(2)有問題的設備驅動、系統服務或內存沖突和中斷沖突: 如果在藍屏信息中出現了驅動程序的名字, 請試著在安裝模式或者故障恢復控制臺中禁用或刪除驅動程序, 并禁用所有剛安裝的驅動和軟件. 如果錯誤出現在系統啟動過程中, 請進入安全模式, 將藍屏信息中所標明的文件重命名或者刪除.
(3)如果錯誤信息中明確指出Win32K.sys: 很有可能是第三方遠程控制軟件造成的, 需要從故障恢復控制臺中將對該軟件的服務關閉.
(4)在安裝Windows后第一次重啟時出現:最大嫌疑可能時系統分區的磁盤空間不足或BIOS兼容有問題.
(5)如果是在關閉某個軟件時出現的:很有可能時軟件本生存在設計缺陷, 請升級或卸載它.
5、0x00000023:FAT_FILE_SYSTEM
0x00000024:NTFS_FILE_SYSTEM
◆錯誤分析:0x00000023通常發生在讀寫FAT16或者FAT32文件系統的系統分區時, 而0x00000024則是由于NTFS.sys文件出現錯誤(這個驅動文件的作用是容許系統讀寫使用 .(NTFS文件系統的磁盤). 這兩個藍屏錯誤很有可能是磁盤本身存在物理損壞, 或是中斷要求封包(IRP)損壞而導致的. 其他原因還包括:硬盤磁盤碎片過多; 文件讀寫操作過于頻繁, 并且數據量非常大或者是由于一些磁盤鏡像軟件或殺毒軟件引起的.
◇解決方案:
第一步:首先打開命令行提示符, 運行"Chkdsk /r"(注:不是CHKDISK, 感覺象這個, 但是它們所指的內容是不一樣的)命令檢查并修復硬盤錯誤, 如果報告存在壞道(Bad Track), 請使用硬盤廠商提供的檢查工具進行檢查和修復.
第二步:接著禁用所有即使掃描文件的軟件, 比如:殺毒軟件、防火墻或備份工具.
第三步:右擊C:winntsystem32driversfastfat.sys文件并選擇"屬性", 查看其版本是否與當前系統所使用的Windows版本相符合.(注:如果是XP, 應該是C:windowssystem32driversfastfat.sys)
第四步:安裝最新的主板驅動程序, 特別IDE驅動. 如果你的光驅、可移動存儲器也提供有驅動程序, 最好將它們升級至最新版.
6、0x00000027:RDR_FILE_SYSTEM
◆錯誤分析:這個錯誤產生的原因很難判斷, 不過Windows內存管理出了問題很可能會導致這個停機碼的出現.
◇解決方案:如果是內存管理的緣故, 通常增加內存會解決問題.
7、0x0000002EATA_BUS_ERROR
◆錯誤分析:系統內存存儲器奇偶校驗產生錯誤, 通常是因為有缺陷的內存(包括物理內存、二級緩存或者顯卡顯存)時設備驅動程序訪問不存在的內存地址等原因引起的. 另外, 硬盤被病毒或者其他問題所損傷, 以出現這個停機碼.
◇解決方案:
(1)檢查病毒
(2)使用"chkdsk /r"命令檢查所有磁盤分區.
(3)用Memtest86等內存測試軟件檢查內存.
(4)檢查硬件是否正確安裝, 比如:是否牢固、金手指是否有污漬.
8、0x00000035:NO_MORE_IRP_STACK_LOCATIONS
◆錯誤分析:從字面上理解, 應該時驅動程序或某些軟件出現堆棧問題. 其實這個故障的真正原因應該時驅動程序本生存在問題, 或是內存有質量問題.
◇解決方案:請使用前面介紹的常規解決方案中與驅動程序和內存相關的方案進行排除.
9、0x0000003F:NO_MORE_SYSTEM_PTES
◆錯誤分析:一個與系統內存管理相關的錯誤, 比如:由于執行了大量的輸入/輸出操作, 造成內存管理出現問題: 有缺陷的驅動程序不正確地使用內存資源; 某個應用程序(比如:備份軟件)被分配了大量的內核內存等.
◇解決方案:卸載所有最新安裝的軟件(特別是哪些增強磁盤性能的應用程序和殺毒軟件)和驅動程序.
10、0x00000044:MULTIPLE_IRP_COMPLIETE_REQUESTS
◆錯誤分析:通常是由硬件驅動程序引起的.
◇解決方案:卸載最近安裝的驅動程序. 這個故障很少出現, 目前已經知道的是, 在使用 www.in-system.com/這家公司的某些軟件時會出現, 其中的罪魁就是Falstaff.sys文件.(作者難道不怕吃官司嘛, 把公司網址公布)
11、0x00000050: PAGE_FAULT_IN_NONPAGED AREA
◆錯誤分析:有問題的內存(包括物理內存、二級緩存、顯存)、不兼容的軟件(主要是遠程控制和殺毒軟件)、損壞的NTFS卷以及有問題的硬件(比如: PCI插卡本身已損壞)等都會引發這個錯誤.
◇解決方案:請使用前面介紹的常規解決方案中與內存、軟件、硬件、硬盤等相關的方案進行排除.
12、0x00000051:REGISTRY_ERROR
◆錯誤分析:這個停機碼說明注冊表或系統配置管理器出現錯誤, 由于硬盤本身有物理損壞或文件系統存在問題, 從而造成在讀取注冊文件時出現輸入/輸出錯誤.
◇解決方案:使用"chkdsk /r"檢查并修復磁盤錯誤.
13、0x00000058:FTDISK_INTERNAL_ERROR
◆錯誤分析:說明在容錯集的主驅動發生錯誤. ?
◇解決方案:首先嘗試重啟電腦看是否能解決問題, 如果不行, 則嘗試"最后一次正確配置"進行解決.
14、0x0000005E:CRITICAL_SERVICE_FAILED
◆錯誤分析:某個非常重要的系統服務啟動識別造成的.
◇解決方案:如果是在安裝了某個新硬件后出新的, 可以先移除該硬件, 并通過網上列表檢查它是否與Windows 2K/XP兼容, 接著啟動電腦, 如果藍屏還是出現, 請使用"最后一次正確配置"來啟動Windows, 如果這樣還是失敗, 建議進行修復安裝或是重裝.
15、0x0000006F:SESSION3_INITIALIZATION-FAILED
◆錯誤分析:這個錯誤通常出現在Windows啟動時, 一般是由有問題的驅動程序或損壞的系統文件引起的.
◇解決方案:建議使用Windows安裝光盤對系統進行修復安裝.
16、0x00000076ROCESS_HAS_LOCKED_PAGES
◆錯誤分析:通常是因為某個驅動程序在完成了一次輸入/輸出操作后, 沒有正確釋放所占有的內存
◇解決方案:
第一步:點擊開始-->運行:regedt32, 找到[HKLMSYSTEMCurrentcontrol setcontrolsession managermemory management], 在右側新建雙字節值"TrackLockedPages", 值為1. 這樣Windows便會在錯誤再次出現時跟蹤到是哪個驅動程序的問題.第二步:如果再次出現藍屏, 那么錯誤信息會變成:STOP:0x0000000CB(0xY,0xY,0xY,0xY)DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS其中第四個"0xY"會顯示為問題驅動程序的名字, 接著對其進行更新或刪除.第三步:進入注冊表, 刪除添加的"TrackLockedPages".
17、0x00000077:KERNEL_STACK_INPAGE_ERROR
◆錯誤分析:說明需要使用的內核數據沒有在虛擬內存或物理內存中找到. 這個錯誤常常是磁盤有問題, 相應數據損壞或受到病毒侵蝕.
◇解決方案:使用殺毒軟件掃描系統; 使用"chkdsk /r"命令檢查并修復磁盤錯誤, 如不行則使用磁盤廠商提供的工具檢查修復.
18、0x0000007A:KERNEL_DATA_INPAGE_ERROR
◆錯誤分析:這個錯誤往往是虛擬內存中的內核數據無法讀入內存造成的. 原因可能是虛擬內存頁面文件中存在壞簇病毒、磁盤控制器出錯、內存有問題.
◇解決方案:首先用升級為最新病毒庫殺毒軟件查殺病毒, 如果信息中還有0xC000009C或0xC000016A代碼, 那么表示是壞簇造成的, 并且系統的磁盤檢測工具無法自動修復, 這時要進入"故障恢復控制臺", 用"chkdsk /r"命令進行手動修復.
19、0x0000007B:INACESSIBLE_BOOT_DEVICE
◆錯誤分析:Windows在啟動過程中無法訪問系統分區或啟動卷. 一般發生在更換主板后第一次啟動時, 主要是因為新主板和舊主板的IDE控制器使用了不同芯片組造成的. 有時也可能是病毒或硬盤損傷所引起的.
◇解決方案:一般只要用安裝光盤啟動電腦, 然后執行修復安裝即可解決問題. 對于病毒則可使用DOS版的殺毒軟件進行查殺(有kv2005DOS版下載). 如果是硬盤本身存在問題, 請將其安裝到其他電腦中, 然后使用"chkdsk /r"來檢查并修復磁盤錯誤.
20、0x0000007E:SYSTEM_THREAD_EXCEPTION_NOT_HANDLED
◆錯誤分析:系統進程產生錯誤, 但Windows錯誤處理器無法捕獲. 其產生原因很多, 包括:硬件兼容性、有問題的驅動程序或系統服務、 或者是某些軟件.
◇解決方案:請使用"事件查看器"來獲取更多的信息, 從中發現錯誤根源.(發現好像不是解決哦, 看來這里大家要自力更生了!)
21、0x0000007F:UNEXPECTED_KERNEL_MOED_TRAP
◆錯誤分析:一般是由于有問題的硬件(比如:內存)或某些軟件引起的. 有時超頻也會產生這個錯誤.
◇解決方案:用檢測軟件(比如:Memtest86)檢查內存, 如果進行了超頻, 請取消超頻. 將PCI硬件插卡從主板插槽拔下來, 或更換插槽. 另外, 有些主板(比如:nForce2主板)在進行超頻后, 南橋芯片過熱也會導致藍屏, 此時為該芯片單獨增加散熱片往往可以有效解決問題.
22、0x00000080:NMI_HARDWARE_FAILURE
◆錯誤分析:通常是有硬件引起的.(似乎藍屏與硬件錯誤有不解之緣)
◇解決方案:如果最近安裝了新硬件, 請將其移除, 然后試試更換插槽和安裝最新的驅動程序, 如果升級了驅動程序, 請恢復后原來的版本; 檢查內存金手指是否有污染和損壞; 掃描病毒; 運行"chkdsk /r"檢查并修復磁盤錯誤; 檢查所有硬件插卡已經插牢. 如果以上嘗試都無效果, 就得找專業的電腦維修公司請求幫助了.
23、0x0000008E:KERNEL_MODE_EXCEPTION_NOT_HANDLED
◆錯誤分析:內核級應用程序產生了錯誤, 但Windows錯誤處理器沒有捕獲. 通常是硬件兼容性錯誤.
◇解決方案:升級驅動程序或升級BIOS.
24、0x0000009C:MACHINE_CHECK_EXCEPTION
◆錯誤分析:通常是硬件引起的. 一般是因為超頻或是硬件存在問題(內存、CPU、總線、電
源).
◇解決方案:如果進行了超頻, 請降下CPU原來頻率, 檢查硬件.
25、0x0000009FRIVER_POWER_STATE_FAILURE
◆錯誤分析:往往與電源有關系, 常常發生在與電源相關的操作, 比如:關機、待機或休睡.
◇解決方案:重裝系統, 如果不能解決, 請更換電源.
26、0x000000A5:ACPI_BIOS_ERROR
◆錯誤分析:通常是因為主板BIOS不能全面支持ACPI規范.
◇解決方案:如果沒有相應BIOS升級, 那么可在安裝Windows 2K/XP時, 當出現"press F6 if you need to install a third-party SCSI or RAID driver"提示時, 按下F7鍵, 這樣Windows便會自動禁止安裝ACPI HAL, 而安裝 Standard PC HAL.
27、0x000000B4:VIDEO_DRIVER_INIT_FAILURE
◆錯誤分析:這個停止信息表示Windows因為不能啟動顯卡驅動, 從而無法進入圖形界面. 通常是顯卡的問題, 或者是存在與顯卡的硬件沖突(比如:與并行或串行端口沖突).
◇解決方案:進入安全模式查看問題是否解決, 如果可以, 請升級最新的顯卡驅動程序, 如果還不行, 則很可能是顯卡與并行端口存在沖突, 需要在安全模式按下WIN break組合鍵打開"系統屬性", 在硬件-->設備管理器中找到并雙擊連接打印的LPT1端口的選項, 在"資源"選項卡中取消"使用自動配置"的勾選, 然后將"輸入/輸出范圍"的"03BC"改為"0378".
28、0x000000BE:ATTEMPTED_WRITE_TO_READONLY_MEMORY
◆錯誤分析:某個驅動程序試圖向只讀內存寫入數據造成的. 通常是在安裝了新的驅動程序, 系統服務或升級了設備的固件程序后.
◇解決方案:如果在錯誤信息中包含有驅動程序或者服務文件名稱, 請根據這個信息將新安裝的驅動程序或軟件卸載或禁用.
29、0x000000C2:BAD_POOL_CALLER
◆錯誤分析:一個內核層的進程或驅動程序錯誤地試圖進入內存操作. 通常是驅動程序或存在BUG的軟件造成的.
◇解決方案:請參考前面介紹的常規解決方案相關項目進行排除.
30、0x000000CERIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS
◆錯誤分析:通常是由有問題的驅動程序或系統服務造成的.
◇解決方案:請參考前面介紹的常規解決方案相關項目進行排除.
31、0x000000D1RIVER_IRQL_NOT_LESS_OR_EQUAL
◆錯誤分析:通常是由有問題的驅動程序引起的(比如羅技鼠標的Logitech MouseWare 9.10和9.24版驅動程序會引發這個故障). 同時,有缺陷的內存、 損壞的虛擬內存文件、 某些軟件(比如多媒體軟件、殺毒軟件、備份軟件、DVD播放軟件)等也會導致這個錯誤.
◇解決方案:檢查最新安裝或升級的驅動程序(如果藍屏中出現"acpi.sys"等類似文件名, 可以非常肯定是驅動程序問題)和軟件; 測試內存是否存在問題; 進入"故障恢復控制臺", 轉到虛擬內存頁面文件Pagefile.sys所在分區, 執行"del pagefile.sys"命令, 將頁面文件刪除; 然后在頁面文件所在分區執行"chkdsk /r"命令;進入Windows后重新設置虛擬內存.如果在上網時遇到這個藍屏, 而你恰恰又在進行大量的數據下載和上傳(比如:網絡游戲、BT下載), 那么應該是網卡驅動的問題, 需要升級其驅動程序.
32、0x000000EA:THREAD_STUCK_IN_DEVICE_DRIVER
◆錯誤分析:通常是由顯卡或顯卡驅動程序引發的.
◇解決方案:先升級最新的顯卡驅動, 如果不行, 則需要更換顯卡測試故障是否依然發生.
33、0x000000ED:UNMOUNTABLE_BOOT_VOLUME
◆錯誤分析:一般是由于磁盤存在錯誤導致的, 有時也建議檢查硬盤連線是否接觸不良, 或是沒有使用合乎該硬盤傳輸規格的連接線, 例如ATA-100仍使用ATA-33的連接線, 對低速硬盤無所謂, 但告訴硬盤(支持ATA-66以上)的要求較嚴格, 規格不對的連線有時也會引起這類沒辦法開機的故障. 如果在修復后, 還是經常出現這個錯誤, 很可能是硬盤損壞的前兆.
◇解決方案:一般情況下, 重啟會解決問題, 不管怎么樣都建議執行"chkdsk /r"命令來檢查修復硬盤
34、0x000000F2:HARDWARE)INTERRUPT_STORM
◆錯誤分析:內核層檢查到系統出現中斷風暴, 比如:某個設備在完成操作后沒有釋放所占用的中斷. 通常這是由缺陷的驅動程序造成的.
◇解決方案:升級或卸載最新安裝的硬件驅動程序.
35、0x00000135:UNABLE_TO_LOCATE_DLL
◆錯誤分析:通常表示某個文件丟失或已經損壞, 或者是注冊表出現錯誤.
◇解決方案:如果是文件丟失或損壞, 在藍屏信息中通常會顯示相應的文件名, 你可以通過網絡或是其他電腦找到相應的文件, 并將其復制到系統文件夾下的SYSTEM32子文件夾中. 如果沒有顯示文件名, 那就很有可能是注冊表損壞, 請利用系統還原或是以前的注冊表備份進行恢復.
36、0x0000021A:STATUS_SYSTEM_PROCESS_TERMINATED
◆錯誤分析:用戶模式子系統, 例如Winlogon或客服服務運行時子系統(CSRSS)已損壞, 所以無法再保證安全性, 導致系統無法啟動. 有時, 當系統管理員錯誤地修改了用戶帳號權限, 導致其無法訪問系統文件和文件夾.
◇解決方案:使用"最后一次正確的配置", 如果無效, 可使用安裝光盤進行修復安裝.
37、STOP 0xC0000221 or STATUS_IMAGE_CHECKSUM_MISMATCH
◆錯誤分析:通常是由于驅動程序或系統DLL文件損壞造成的. 一般情況下, 在藍屏中會出現
文件名稱
◇解決方案:
(1)使用Windows安裝光盤進行修復安裝;
(2)如果還能進入安全模式, 可以"開始-->運行": sfc /scannow
(3)還可以采用提取文件的方法來解決, 進入"故障恢復控制臺", 使用copy或expand命令從光盤中復制或解壓受損的文件. 不過, 藍屏一般都是驅動程序文件的問題, 所以expand命令會用的都一些, 比如:藍屏中提示tdi.sys文件, 因為驅動文件一般在i386driver壓縮包里, 所以使用: expand ?ROM:i386driver.cab f:tdi.sys c:winntsystemdrivers.(xp為expand ?ROM:i386driver.cab f:tdi.sys c:windownssystemdrivers)
38、如果啟動時出現這些藍屏停機碼
如果在Windows啟動時出現藍屏, 并出現附表一中的錯誤信息, 那么多半時硬件出現了問題, 請用硬件廠商提供的診斷工具來判斷硬件是否存在問題, 并到其網站查看是否有最新的BIOS或固件更新程序. 如果硬件沒有問題, 重裝Windows 2000 ~ XP
xp關機藍屏分析大全
1.Windows XP系統Bug導致關機藍屏
Windows XP有一個關機故障的Bug,如果你的計算機在關機過程中時常出現關機藍屏,而且該故障是間歇性的,按下“Ctrl Alt Delete”鍵也毫無反應,那么可以肯定你的系統還沒有打上相應的補丁。請下載SP1補丁包打上補丁,一般就可以了。
2.聲卡驅動導致關機藍屏
如果你使用的是創新聲卡,并且在關機過程中出現藍屏,錯誤碼是“0X0000000A”,那么,請進入設備管理器,將聲卡刪除,刷新后,手動安裝最新的帶有數字簽名的驅動程序。
3.羅技鼠標、鍵盤不完善導致關機藍屏
如果你使用的是羅技的網絡鍵盤,并且安裝了Key Commander軟件來驅動鍵盤相應的網絡功能,則有可能造成關機變成重啟故障。如果你的羅技鼠標的驅動程序是MouseWare8.6,則會造成關機藍屏故障,你只有卸載該驅動才能解決問題。>>藍屏代碼0x000000D1
4.Windows XP SP2漏洞藍屏
這個漏洞曾在2004年12月份報道過,它同時會影響到Windows Server 2003以及Windows XP Tablet PC Edition 2005。在某些情況下,安裝第三方殺毒軟件或防火墻時,Windows不能指定制作者或包裝商的標題,導致生成讀"Stop 0x05 (INVALID_PROCESS_ATTACH_ATTEMPT)" 錯誤,使到OS進入到藍屏狀態。下載微軟補丁可以解決。
北橋散熱不良導致藍屏
死機現象:一臺使用中的電腦,近期出現頻繁死機的現象。剛開始以為是感染病毒,經查殺后未發現任何病毒。又認為是硬盤碎片過多,導致系統不穩定。但整理硬盤碎片后仍然沒有解決問題。無奈之下,格式化系統盤,重新安裝了系 統,但問題仍舊沒有解決,嚴重影響了日常工作。
死機分析:重裝系統后故障未排除,看樣子是硬件出現了問題。剛開始懷疑內存故障。但更換內存條之后故障仍然沒有解決。那問題到底出現在哪兒呢?通過仔細分析,既然內存沒有問題,主板出現故障的可能性最大。
于是利用替換法,更換主板后,打開電腦進行測試,故障消失,看來問題的根源就出現在這塊主板上。這是一塊雜牌的865PE芯片組主板,主板的用料做工相當一般。仔細檢查,發現主板上的電容并沒有擊穿的現象,整個PCB板上也沒有留下燒過的痕跡,那么到底是主板哪個部位出現問題。于是重新將主板清理之后再次裝入電腦接入各種設備。開機后半個時又出現了死機的現象,這時用手觸摸主板北橋芯片上的散熱片,發現非常燙手,看來問題是出現這上面了。
于是購買了一塊帶有風扇的散熱器,經過一番折騰后,終于更換完畢,并將更換下來的北橋散熱片安裝在了南橋芯片上。(雜牌的主板南橋芯片完全裸露在外面,沒有安裝任何的散熱片。)開始后經過一番測試,故障完全排除,后通過仔細分析,才明白了這次故障的原因。原來機器是在冬季配的,溫度較低并沒有產生太大的影響,然后入夏后問題就暴露出來了。
問題總結:出現這類問題,一般情況下都會先去考慮內存條。然而由于主板Cache有問題或主板設計散熱不良引起也容易出現頻繁死機的現象。筆者在某品牌845PE主板上就曾發現因主板散熱不夠好而導致該故障。在死機后觸摸CPU周圍主板元件,發現其溫度非常高且燙手。更換大功率風扇后,死機故障得以解決。對于Cache有問題的故障,可以進入CMOS設置程序,將Cache禁止后即可順利解決問題,當然,Cache禁止后速度那就肯定會有影響了。
部分電腦安裝XP SP3藍屏的解決方案
XP SP3已經發布多時,但是,如果你打算使用具有AMD CPU的HP/Compaq電腦安裝XP SP3的話,當心遭遇藍屏死機(BSoD,blue screen of death),然而,解決的辦法似乎就是不停的重啟。
HP于近日公布了一個解決方法,很簡單,只要更改一個文件名即可,簡而言之就是4步:
1. 啟動計算機時,按F8鍵,進入安全模式;
2. 找到這個位置:C:WindowsSystem32Drivers,定位到intelppm.sys文件;
3. 將其重命名,如:XXXintelppm.syx;
4. 重啟。
你看下你電腦藍屏的時候是什么代碼,找到相應的解決方案就行。建議換內存。
藍屏含義
電腦藍屏,又叫藍屏死機(Blue Screen of Death,縮寫為:BSoD),指的是微軟Windows操作系統在無法從一個系統錯誤中恢復過來時所顯示的屏幕圖像。
1、故障檢查信息
***STOP 0x0000001E(0xC0000005,0xFDE38AF9,0x0000001,0x7E8B0EB4)
KMODE_EXCEPTION_NOT_HANDLED ***其中錯誤的第一部分是停機碼(Stop Code)也就是STOP 0x0000001E, 用于識別已發生錯誤的類型, 錯誤第二部分是被括號括起來的四個數字集, 表示隨機的開發人員定義的參數(這個參數對于普通用戶根本無法理解, 只有驅動程序編寫者或者微軟操作系統的開發人員才懂). 第三部分是錯誤名. 信息第一行通常用來識別生產錯誤的驅動程序或者設備. 這種信息多數很簡潔, 但停機碼可以作為搜索項在微軟知識庫和其他技術資料中使用
2.推薦操作
藍屏第二部分是推薦用戶進行的操作信息. 有時, 推薦的操作僅僅是一般性的建議(比如: 到銷售商網站查找BIOS的更新等); 有時, 也就是顯示一條與當前問題相關的提示. 一般來說, 惟一的建議就是重啟.
3.調試端口告訴用戶內存轉儲映像是否寫到磁盤上了, 使用內存轉儲映像可以確定發生問題的性質, 還會告訴用戶調試信息是否被傳到另一臺電腦上, 以及使用了什么端口完成這次通訊. 不過, 這里的信息對于普通用戶來說, 沒有什么意義.有時保衛科可以順利的查到是哪個生產小組的問題, 會在第一部分明確報告是哪個文件犯的錯, 但常常它也只能查個大概范圍, 而無法明確指明問題所在. 由于工廠全面被迫停止, 只有重新整頓開工, 有時, 那個生產小組會意識到錯誤 , 不再重犯. 但有時仍然會試圖哄搶零件, 于是廠領導不得不重復停工決定(不能啟動并顯示藍屏信息, 或在進行相同操作時再次出現藍屏).
藍屏的處理方法
Windows 2K/XP藍屏信息非常多, 無法在一篇文章中全面講解, 但他們產生的原因往往集中在不兼容的硬件和驅動程序、有問題的軟件、病毒等, 因此首先為大家提供了一些常規的解決方案, 在遇到藍屏錯誤時, 應先對照這些方案進行排除.
1.重啟
有時只是某個程序或驅動程序一時犯錯, 重啟后他們會改過自新.(注意:此時參見8.查詢停機碼)
2.新硬件
首先, 應該檢查新硬件是否插牢, 這個被許多人忽視的問題往往會引發許多莫名其妙的故障. 如果確認沒有問題, 將其拔下, 然后換個插槽試試, 并安裝最新的驅動程序. 同時還應對照微軟網站的硬件兼容類別檢查一下硬件是否與操作系統兼容. 如果你的硬件沒有在表中, 那么就得到硬件廠商網站進行查詢, 或者撥打他們的咨詢電話.
3.新驅動和新服務
如果剛安裝完某個硬件的新驅動, 或安裝了某個軟件, 而它又在系統服務中添加了相應項目(比如:殺毒軟件、CPU降溫軟件、防火墻軟件等), 在重啟或使用中出現了藍屏故障, 請到安全模式來卸載或禁用它們.
4.檢查病毒
比如沖擊波和振蕩波等病毒有時會導致Windows藍屏死機, 因此查殺病毒必不可少. 同時一些木馬間諜軟件也會引發藍屏, 所以最好再用相關工具進行掃描檢查.
5.檢查BIOS和硬件兼容性
對于新裝的電腦經常出現藍屏問題, 應該檢查并升級BIOS到最新版本, 同時關閉其中的內存相關項, 比如:緩存和映射. 另外 還應該對照微軟的硬件兼容列表檢查自己的硬件. 還有就是, 如果主板BIOS無法支持大容量硬盤也會導致藍屏, 需要對其進行升級.
6、運行“sfc /scannow”來檢查系統文件是否被替換,然后用系統安裝盤來恢復.
小提示:
BIOS的緩存和映射項
Video BIOS Shadowing (視頻BIOS映射)
Shadowing address ranges(映射地址列)
System BIOS Cacheable(系統BIOS緩沖)
Video BIOS Cacheable(視頻BIOS緩沖)
Video RAM Cacheable(視頻內存緩沖)
7.檢查系統日志
在開始-->菜單中輸入:EventVwr.msc, 回車出現"事件查看器", 注意檢查其中的"系統日志"和"應用程序日志"中表明"錯誤"的項.
8.查詢停機碼
把藍屏中密密麻麻的E文記下來, 接著到其他電腦中上網, 進入微軟幫助與支持網站http://support.microsoft.com?, 在左上角的"搜索(知識庫)"中輸入停機碼, 如果搜索結果沒有適合信息, 可以選擇"英文知識庫"在搜索一遍. 一般情況下, 會在這里找到有用的解決案例. 另外, 在baidu、Google等搜索引擎中使用藍屏的停機碼或者后面的說明文字為關鍵詞搜索, 往往也會有收獲.
9.最后一次正確配置
一般情況下, 藍屏都是在硬件驅動或新加硬件并安裝驅動后, 這時Windows 2K/XP提供的"最后一次正確配置"就是解決藍屏的快捷方式. 重啟系統, 在出現啟動菜單時按下F8鍵就會出現高級啟動選項菜單, 接著選擇"最后一次正確配置".
10.安裝最新的系統補丁和Service Pack
有些藍屏是Windows本身存在缺陷造成的, 應此可通過安裝最新的系統補丁和Service Pack來解決.
藍屏代碼含義和解決方案
使用windows出現藍色屏幕是經常的事,而且每每因為不清楚錯誤的來源而頻繁重新安裝系統,勞神費時。下列收集了一些windows死機密碼,供大家參考。
1、0x0000000A:IRQL_NOT_LESS_OR_EQUAL
◆錯誤分析:主要是由問題的驅動程序、有缺陷或不兼容的硬件與軟件造成的. 從技術角度講. 表明在內核模式中有級別進程請求(IRQL)訪問其沒有權限訪問的內存地址.
◇解決方案:請用前面介紹的解決方案中的2、3、5、8、9方案嘗試排除.
2、0x00000012:TRAP_CAUSE_UNKNOWN
◆錯誤分析:如果遇到這個錯誤信息, 那么很不幸, 應為KeBudCheck分析的結果是錯誤原因
未知.
◇解決方案:既然微軟都幫不上忙, 就得靠自己了, 請仔細回想這個錯誤是什么時候出現的; 第一次發生時你對系統做了哪些操作; 發生時正在進行什么操作. 從這些信息中找出可能的原因, 從而選擇相應解決方案嘗試排除.
3、0x0000001A:MEMORY_MANAGEMENT
◆錯誤分析:這個內存管理錯誤往往是由硬件引起的, 比如: 新安裝的硬件、內存本身有問題等.
◇解決方案:如果是在安裝Windows時出現, 有可能是由于你的電腦達不到安裝Windows的最小內存和磁盤要求.
4、0x0000001E:KMODE_EXCEPTION_NOT_HANDLED
◆錯誤分析:Windows內核檢查到一個非法或者未知的進程指令,這個停機碼一般是由問題的內存或是與前面0x0000000A相似的原因造成的.
◇解決方案:
(1)硬件兼容有問題:請對照前面提到的最新硬件兼容性列表, 查看所有硬件是否包含在該列表中.
(2)有問題的設備驅動、系統服務或內存沖突和中斷沖突: 如果在藍屏信息中出現了驅動程序的名字, 請試著在安裝模式或者故障恢復控制臺中禁用或刪除驅動程序, 并禁用所有剛安裝的驅動和軟件. 如果錯誤出現在系統啟動過程中, 請進入安全模式, 將藍屏信息中所標明的文件重命名或者刪除.
(3)如果錯誤信息中明確指出Win32K.sys: 很有可能是第三方遠程控制軟件造成的, 需要從故障恢復控制臺中將對該軟件的服務關閉.
(4)在安裝Windows后第一次重啟時出現:最大嫌疑可能時系統分區的磁盤空間不足或BIOS兼容有問題.
(5)如果是在關閉某個軟件時出現的:很有可能時軟件本生存在設計缺陷, 請升級或卸載它.
5、0x00000023:FAT_FILE_SYSTEM
0x00000024:NTFS_FILE_SYSTEM
◆錯誤分析:0x00000023通常發生在讀寫FAT16或者FAT32文件系統的系統分區時, 而0x00000024則是由于NTFS.sys文件出現錯誤(這個驅動文件的作用是容許系統讀寫使用 .(NTFS文件系統的磁盤). 這兩個藍屏錯誤很有可能是磁盤本身存在物理損壞, 或是中斷要求封包(IRP)損壞而導致的. 其他原因還包括:硬盤磁盤碎片過多; 文件讀寫操作過于頻繁, 并且數據量非常大或者是由于一些磁盤鏡像軟件或殺毒軟件引起的.
◇解決方案:
第一步:首先打開命令行提示符, 運行"Chkdsk /r"(注:不是CHKDISK, 感覺象這個, 但是它們所指的內容是不一樣的)命令檢查并修復硬盤錯誤, 如果報告存在壞道(Bad Track), 請使用硬盤廠商提供的檢查工具進行檢查和修復.
第二步:接著禁用所有即使掃描文件的軟件, 比如:殺毒軟件、防火墻或備份工具.
第三步:右擊C:winntsystem32driversfastfat.sys文件并選擇"屬性", 查看其版本是否與當前系統所使用的Windows版本相符合.(注:如果是XP, 應該是C:windowssystem32driversfastfat.sys)
第四步:安裝最新的主板驅動程序, 特別IDE驅動. 如果你的光驅、可移動存儲器也提供有驅動程序, 最好將它們升級至最新版.
6、0x00000027:RDR_FILE_SYSTEM
◆錯誤分析:這個錯誤產生的原因很難判斷, 不過Windows內存管理出了問題很可能會導致這個停機碼的出現.
◇解決方案:如果是內存管理的緣故, 通常增加內存會解決問題.
7、0x0000002EATA_BUS_ERROR
◆錯誤分析:系統內存存儲器奇偶校驗產生錯誤, 通常是因為有缺陷的內存(包括物理內存、二級緩存或者顯卡顯存)時設備驅動程序訪問不存在的內存地址等原因引起的. 另外, 硬盤被病毒或者其他問題所損傷, 以出現這個停機碼.
◇解決方案:
(1)檢查病毒
(2)使用"chkdsk /r"命令檢查所有磁盤分區.
(3)用Memtest86等內存測試軟件檢查內存.
(4)檢查硬件是否正確安裝, 比如:是否牢固、金手指是否有污漬.
8、0x00000035:NO_MORE_IRP_STACK_LOCATIONS
◆錯誤分析:從字面上理解, 應該時驅動程序或某些軟件出現堆棧問題. 其實這個故障的真正原因應該時驅動程序本生存在問題, 或是內存有質量問題.
◇解決方案:請使用前面介紹的常規解決方案中與驅動程序和內存相關的方案進行排除.
9、0x0000003F:NO_MORE_SYSTEM_PTES
◆錯誤分析:一個與系統內存管理相關的錯誤, 比如:由于執行了大量的輸入/輸出操作, 造成內存管理出現問題: 有缺陷的驅動程序不正確地使用內存資源; 某個應用程序(比如:備份軟件)被分配了大量的內核內存等.
◇解決方案:卸載所有最新安裝的軟件(特別是哪些增強磁盤性能的應用程序和殺毒軟件)和驅動程序.
10、0x00000044:MULTIPLE_IRP_COMPLIETE_REQUESTS
◆錯誤分析:通常是由硬件驅動程序引起的.
◇解決方案:卸載最近安裝的驅動程序. 這個故障很少出現, 目前已經知道的是, 在使用 www.in-system.com/這家公司的某些軟件時會出現, 其中的罪魁就是Falstaff.sys文件.(作者難道不怕吃官司嘛, 把公司網址公布)
11、0x00000050: PAGE_FAULT_IN_NONPAGED AREA
◆錯誤分析:有問題的內存(包括物理內存、二級緩存、顯存)、不兼容的軟件(主要是遠程控制和殺毒軟件)、損壞的NTFS卷以及有問題的硬件(比如: PCI插卡本身已損壞)等都會引發這個錯誤.
◇解決方案:請使用前面介紹的常規解決方案中與內存、軟件、硬件、硬盤等相關的方案進行排除.
12、0x00000051:REGISTRY_ERROR
◆錯誤分析:這個停機碼說明注冊表或系統配置管理器出現錯誤, 由于硬盤本身有物理損壞或文件系統存在問題, 從而造成在讀取注冊文件時出現輸入/輸出錯誤.
◇解決方案:使用"chkdsk /r"檢查并修復磁盤錯誤.
13、0x00000058:FTDISK_INTERNAL_ERROR
◆錯誤分析:說明在容錯集的主驅動發生錯誤. ?
◇解決方案:首先嘗試重啟電腦看是否能解決問題, 如果不行, 則嘗試"最后一次正確配置"進行解決.
14、0x0000005E:CRITICAL_SERVICE_FAILED
◆錯誤分析:某個非常重要的系統服務啟動識別造成的.
◇解決方案:如果是在安裝了某個新硬件后出新的, 可以先移除該硬件, 并通過網上列表檢查它是否與Windows 2K/XP兼容, 接著啟動電腦, 如果藍屏還是出現, 請使用"最后一次正確配置"來啟動Windows, 如果這樣還是失敗, 建議進行修復安裝或是重裝.
15、0x0000006F:SESSION3_INITIALIZATION-FAILED
◆錯誤分析:這個錯誤通常出現在Windows啟動時, 一般是由有問題的驅動程序或損壞的系統文件引起的.
◇解決方案:建議使用Windows安裝光盤對系統進行修復安裝.
16、0x00000076ROCESS_HAS_LOCKED_PAGES
◆錯誤分析:通常是因為某個驅動程序在完成了一次輸入/輸出操作后, 沒有正確釋放所占有的內存
◇解決方案:
第一步:點擊開始-->運行:regedt32, 找到[HKLMSYSTEMCurrentcontrol setcontrolsession managermemory management], 在右側新建雙字節值"TrackLockedPages", 值為1. 這樣Windows便會在錯誤再次出現時跟蹤到是哪個驅動程序的問題.第二步:如果再次出現藍屏, 那么錯誤信息會變成:STOP:0x0000000CB(0xY,0xY,0xY,0xY)DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS其中第四個"0xY"會顯示為問題驅動程序的名字, 接著對其進行更新或刪除.第三步:進入注冊表, 刪除添加的"TrackLockedPages".
17、0x00000077:KERNEL_STACK_INPAGE_ERROR
◆錯誤分析:說明需要使用的內核數據沒有在虛擬內存或物理內存中找到. 這個錯誤常常是磁盤有問題, 相應數據損壞或受到病毒侵蝕.
◇解決方案:使用殺毒軟件掃描系統; 使用"chkdsk /r"命令檢查并修復磁盤錯誤, 如不行則使用磁盤廠商提供的工具檢查修復.
18、0x0000007A:KERNEL_DATA_INPAGE_ERROR
◆錯誤分析:這個錯誤往往是虛擬內存中的內核數據無法讀入內存造成的. 原因可能是虛擬內存頁面文件中存在壞簇病毒、磁盤控制器出錯、內存有問題.
◇解決方案:首先用升級為最新病毒庫殺毒軟件查殺病毒, 如果信息中還有0xC000009C或0xC000016A代碼, 那么表示是壞簇造成的, 并且系統的磁盤檢測工具無法自動修復, 這時要進入"故障恢復控制臺", 用"chkdsk /r"命令進行手動修復.
19、0x0000007B:INACESSIBLE_BOOT_DEVICE
◆錯誤分析:Windows在啟動過程中無法訪問系統分區或啟動卷. 一般發生在更換主板后第一次啟動時, 主要是因為新主板和舊主板的IDE控制器使用了不同芯片組造成的. 有時也可能是病毒或硬盤損傷所引起的.
◇解決方案:一般只要用安裝光盤啟動電腦, 然后執行修復安裝即可解決問題. 對于病毒則可使用DOS版的殺毒軟件進行查殺(有kv2005DOS版下載). 如果是硬盤本身存在問題, 請將其安裝到其他電腦中, 然后使用"chkdsk /r"來檢查并修復磁盤錯誤.
20、0x0000007E:SYSTEM_THREAD_EXCEPTION_NOT_HANDLED
◆錯誤分析:系統進程產生錯誤, 但Windows錯誤處理器無法捕獲. 其產生原因很多, 包括:硬件兼容性、有問題的驅動程序或系統服務、 或者是某些軟件.
◇解決方案:請使用"事件查看器"來獲取更多的信息, 從中發現錯誤根源.(發現好像不是解決哦, 看來這里大家要自力更生了!)
21、0x0000007F:UNEXPECTED_KERNEL_MOED_TRAP
◆錯誤分析:一般是由于有問題的硬件(比如:內存)或某些軟件引起的. 有時超頻也會產生這個錯誤.
◇解決方案:用檢測軟件(比如:Memtest86)檢查內存, 如果進行了超頻, 請取消超頻. 將PCI硬件插卡從主板插槽拔下來, 或更換插槽. 另外, 有些主板(比如:nForce2主板)在進行超頻后, 南橋芯片過熱也會導致藍屏, 此時為該芯片單獨增加散熱片往往可以有效解決問題.
22、0x00000080:NMI_HARDWARE_FAILURE
◆錯誤分析:通常是有硬件引起的.(似乎藍屏與硬件錯誤有不解之緣)
◇解決方案:如果最近安裝了新硬件, 請將其移除, 然后試試更換插槽和安裝最新的驅動程序, 如果升級了驅動程序, 請恢復后原來的版本; 檢查內存金手指是否有污染和損壞; 掃描病毒; 運行"chkdsk /r"檢查并修復磁盤錯誤; 檢查所有硬件插卡已經插牢. 如果以上嘗試都無效果, 就得找專業的電腦維修公司請求幫助了.
23、0x0000008E:KERNEL_MODE_EXCEPTION_NOT_HANDLED
◆錯誤分析:內核級應用程序產生了錯誤, 但Windows錯誤處理器沒有捕獲. 通常是硬件兼容性錯誤.
◇解決方案:升級驅動程序或升級BIOS.
24、0x0000009C:MACHINE_CHECK_EXCEPTION
◆錯誤分析:通常是硬件引起的. 一般是因為超頻或是硬件存在問題(內存、CPU、總線、電
源).
◇解決方案:如果進行了超頻, 請降下CPU原來頻率, 檢查硬件.
25、0x0000009FRIVER_POWER_STATE_FAILURE
◆錯誤分析:往往與電源有關系, 常常發生在與電源相關的操作, 比如:關機、待機或休睡.
◇解決方案:重裝系統, 如果不能解決, 請更換電源.
26、0x000000A5:ACPI_BIOS_ERROR
◆錯誤分析:通常是因為主板BIOS不能全面支持ACPI規范.
◇解決方案:如果沒有相應BIOS升級, 那么可在安裝Windows 2K/XP時, 當出現"press F6 if you need to install a third-party SCSI or RAID driver"提示時, 按下F7鍵, 這樣Windows便會自動禁止安裝ACPI HAL, 而安裝 Standard PC HAL.
27、0x000000B4:VIDEO_DRIVER_INIT_FAILURE
◆錯誤分析:這個停止信息表示Windows因為不能啟動顯卡驅動, 從而無法進入圖形界面. 通常是顯卡的問題, 或者是存在與顯卡的硬件沖突(比如:與并行或串行端口沖突).
◇解決方案:進入安全模式查看問題是否解決, 如果可以, 請升級最新的顯卡驅動程序, 如果還不行, 則很可能是顯卡與并行端口存在沖突, 需要在安全模式按下WIN break組合鍵打開"系統屬性", 在硬件-->設備管理器中找到并雙擊連接打印的LPT1端口的選項, 在"資源"選項卡中取消"使用自動配置"的勾選, 然后將"輸入/輸出范圍"的"03BC"改為"0378".
28、0x000000BE:ATTEMPTED_WRITE_TO_READONLY_MEMORY
◆錯誤分析:某個驅動程序試圖向只讀內存寫入數據造成的. 通常是在安裝了新的驅動程序, 系統服務或升級了設備的固件程序后.
◇解決方案:如果在錯誤信息中包含有驅動程序或者服務文件名稱, 請根據這個信息將新安裝的驅動程序或軟件卸載或禁用.
29、0x000000C2:BAD_POOL_CALLER
◆錯誤分析:一個內核層的進程或驅動程序錯誤地試圖進入內存操作. 通常是驅動程序或存在BUG的軟件造成的.
◇解決方案:請參考前面介紹的常規解決方案相關項目進行排除.
30、0x000000CERIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS
◆錯誤分析:通常是由有問題的驅動程序或系統服務造成的.
◇解決方案:請參考前面介紹的常規解決方案相關項目進行排除.
31、0x000000D1RIVER_IRQL_NOT_LESS_OR_EQUAL
◆錯誤分析:通常是由有問題的驅動程序引起的(比如羅技鼠標的Logitech MouseWare 9.10和9.24版驅動程序會引發這個故障). 同時,有缺陷的內存、 損壞的虛擬內存文件、 某些軟件(比如多媒體軟件、殺毒軟件、備份軟件、DVD播放軟件)等也會導致這個錯誤.
◇解決方案:檢查最新安裝或升級的驅動程序(如果藍屏中出現"acpi.sys"等類似文件名, 可以非常肯定是驅動程序問題)和軟件; 測試內存是否存在問題; 進入"故障恢復控制臺", 轉到虛擬內存頁面文件Pagefile.sys所在分區, 執行"del pagefile.sys"命令, 將頁面文件刪除; 然后在頁面文件所在分區執行"chkdsk /r"命令;進入Windows后重新設置虛擬內存.如果在上網時遇到這個藍屏, 而你恰恰又在進行大量的數據下載和上傳(比如:網絡游戲、BT下載), 那么應該是網卡驅動的問題, 需要升級其驅動程序.
32、0x000000EA:THREAD_STUCK_IN_DEVICE_DRIVER
◆錯誤分析:通常是由顯卡或顯卡驅動程序引發的.
◇解決方案:先升級最新的顯卡驅動, 如果不行, 則需要更換顯卡測試故障是否依然發生.
33、0x000000ED:UNMOUNTABLE_BOOT_VOLUME
◆錯誤分析:一般是由于磁盤存在錯誤導致的, 有時也建議檢查硬盤連線是否接觸不良, 或是沒有使用合乎該硬盤傳輸規格的連接線, 例如ATA-100仍使用ATA-33的連接線, 對低速硬盤無所謂, 但告訴硬盤(支持ATA-66以上)的要求較嚴格, 規格不對的連線有時也會引起這類沒辦法開機的故障. 如果在修復后, 還是經常出現這個錯誤, 很可能是硬盤損壞的前兆.
◇解決方案:一般情況下, 重啟會解決問題, 不管怎么樣都建議執行"chkdsk /r"命令來檢查修復硬盤
34、0x000000F2:HARDWARE)INTERRUPT_STORM
◆錯誤分析:內核層檢查到系統出現中斷風暴, 比如:某個設備在完成操作后沒有釋放所占用的中斷. 通常這是由缺陷的驅動程序造成的.
◇解決方案:升級或卸載最新安裝的硬件驅動程序.
35、0x00000135:UNABLE_TO_LOCATE_DLL
◆錯誤分析:通常表示某個文件丟失或已經損壞, 或者是注冊表出現錯誤.
◇解決方案:如果是文件丟失或損壞, 在藍屏信息中通常會顯示相應的文件名, 你可以通過網絡或是其他電腦找到相應的文件, 并將其復制到系統文件夾下的SYSTEM32子文件夾中. 如果沒有顯示文件名, 那就很有可能是注冊表損壞, 請利用系統還原或是以前的注冊表備份進行恢復.
36、0x0000021A:STATUS_SYSTEM_PROCESS_TERMINATED
◆錯誤分析:用戶模式子系統, 例如Winlogon或客服服務運行時子系統(CSRSS)已損壞, 所以無法再保證安全性, 導致系統無法啟動. 有時, 當系統管理員錯誤地修改了用戶帳號權限, 導致其無法訪問系統文件和文件夾.
◇解決方案:使用"最后一次正確的配置", 如果無效, 可使用安裝光盤進行修復安裝.
37、STOP 0xC0000221 or STATUS_IMAGE_CHECKSUM_MISMATCH
◆錯誤分析:通常是由于驅動程序或系統DLL文件損壞造成的. 一般情況下, 在藍屏中會出現
文件名稱
.sys文件;
3. 將其重命名,如:XXXintelppm.sys;
4. 重啟。[5]
-----------------------------------------------
人有的時候都會鬧情緒,更何況是機器呢。Windows有時候也會跟我們鬧鬧情緒,小則是“應用程序遇到問題需要關閉”,搞不好還可能給您臉色看看。但是,這臉色可不是紅的白的,而是一張“藍臉”,您見過嗎?首先,我們介紹以下三個重要的問題:
一、到底什么是“藍臉”?
這里指的就是大家經常稱之為“藍屏”、“系統崩潰”之類的東西,外國人又叫它BSOD(Blue Screen of Death)。從專業的角度講,這一術語被定義為“是指當Microsoft Windows崩潰或停止執行(由于災難性的錯誤或者內部條件阻止系統繼續運行下去)時所顯示的藍色屏幕”。而我們平常所說的“系統崩潰(system crash)”或者“內核錯誤(kernel error)”抑或“停止錯誤(Stop error)”的專業術語為“程序錯誤檢查(Bug Check)”。
二、為什么一定要給您“藍臉”?
一旦遇上系統藍屏崩潰,大多數的人都會以為Windows不行了所以就癱瘓了,有點罪魁禍首是Windows或者Windows不夠強悍、不夠穩定的意思。可是,Windows在默默地喊冤您知道嗎?要知道,每當有內核模式設備驅動程序或者子系統引發了一個非法異常,Windows就會面臨這個艱難的抉擇,雖然Windows最終還是選擇了崩潰,但是這并不代表它就不能夠忽略該異常,讓設備驅動程序或者子系統繼續往下執行。Windows之所以要選擇“亡我”,是因為它不知道該錯誤是否能被隔離出來從而不傷害系統的其它程序與數據,或者該組件將來是否能夠恢復正常,而且,Windows深知,這個異常更有可能來源于更深層的問題,比如由于內存的常規破壞(General Corruption),或者由于硬件設備不能正常工作。允許系統繼續運行可能導致更多的異常,而且,存儲在磁盤或其他外設中的數據可能也會遭受破壞。Windows意識到,這樣做的風險太大了,為了您的程序、數據安全與完整,為了將您的損失在第一時間減小至最低,Windows于是忍痛做出了自我犧牲……
三、怎樣給出“藍臉”?
當系統檢測到引發崩潰的致命錯誤時,Windows自己執行崩潰函數“KeBugCheckEx”。該函數接受一個停止代碼(STOP Code,也稱為錯誤檢查碼“Bug Check Code”),以及四個根據停止代碼來解釋的參數(下文中會有圖例)。在調用KeBugCheckEx之后,首先該系統所有處理器上的所有中斷將被屏蔽,然后系統將顯示器切換到低分辨率的VGA圖形模式(因為這是所有Windows平臺顯卡均支持的通用模式),繪制一個藍色背景,然后顯示此停止代碼,并且后面緊跟一些對用戶診斷錯誤有幫助的關鍵信息。最后,KeBugCheckEx調用所有已注冊的設備驅動程序錯誤檢查回調函數(這種回調函數通過調用KeRegisterBugCheckCallback函數來注冊),從而讓這些驅動程序停止運行它們所支配的設備(有系統數據結構已經被破壞得太嚴重以至于藍屏都顯示不出來的可能性)。
以下情況會引發系統藍屏崩潰:
l 1、運行在內核模式下的設備驅動程序或者操作系統函數引發了一個未被處理的異常,比如內存訪問違例(由于企圖寫一個只讀頁面或者企圖讀一個當前未被映射的內存地址(即無效地址)而引起)。
l 2、調用一個內核支持例程導致了重新調度,比如當中斷請求級別(IRQL)為DPC/Dispatch級別或更高級別時等待一個標記為需要等待的調度對象。
l 3、在DPC/Dispatch級別或更高的IRQL級別時由于數據存在于頁面文件或內存映射文件中而發生了頁面錯誤(Page Fault)。(這將要求內存管理器必須等待一個I/O操作發生。但正如上面一項所說,在DPC/Dispatch級別或更高IRQL級別上不能夠進行等待,因為那將要求一次重新調度)。
l 4、當檢測到一個內部狀態表明數據已遭受破壞或者在保證數據不被破壞的情況下系統無法繼續執行時,設備驅動程序或操作系統函數明確地要求系統崩潰(通過調用系統函數KeBugCheckEx)。
5、發生硬件錯誤,比如處理器的計算機檢查異常功能(Machinel Check)報告有異常或者發生不可屏蔽中斷(NMI)。
在了解以上三點知識之后,相信您對Windows的大無畏犧牲精神會有所贊賞,也會原諒它的“藍臉”了。其實,在絕大多數情況下均是第三方設備驅動程序導致了Windows的崩潰。對于Windows XP用戶提交給微軟在線崩潰分析(Microsoft OCA, Microsoft Online Crash Analysis)站點的內存轉儲文件,微軟對引起崩潰的原因進行了統計分類,如下圖所示:(數據于2004年4月份生成)。
既然Windows向我們露出了無奈的“藍臉”,我們就應該打破沙鍋問到底,盡早將引發系統崩潰的罪魁禍首緝拿歸案,讓我們的系統早日康復。下面,我們來看看Windows想通過這張“藍臉”告訴我們些什么。
如上圖所示,這是一張顯示了所有參數的藍屏圖像。當然,我們所遇到的藍屏圖像與之可能存在差異,比如少了一些信息等,但是大致是相同的,我們就以它為例進行全面地闡述。
首先,我們看看圖中用數字1標注的區域,這里列出了傳遞給KeBugCheckEx函數的停止代碼和四個參數。此圖中的停止代碼為0x000000D1,四個參數為后面括號內的用逗號分隔的四段16進制數字;接下來,我們來看看圖中用數字2標注的區域,這里顯示的是該停止代碼0x000000D1對應的英文解釋;最后,我們看看圖中用數字3標注的區域,這個區域當且僅當停止代碼的四個參數中的一個參數包含了操作系統或設備驅動程序代碼的地址時才會顯示,顯示的內容為、該地址所處模塊的基地址以及日期戳。如此例中,該設備驅動程序的文件名為“myfault.sys”。
這些信息對我們排錯有何作用呢?如果上圖中的區域3出現了,那是最好的結果了,因為您直接就看到了罪魁禍首——“myfault.sys”文件。但是,區域3往往是不出現的,那么我們就要在Microsoft的在線幫助和支持(http://support.microsoft.com)中查找該停止代碼等信息或者使用我們的利器——WinDbg進行手動分析了。筆者推薦后者,因為同一個停止代碼可能由各種各樣的驅動程序錯誤造成,得到了停止代碼并不等于得到了問題文件名稱,另外,微軟的在線幫助和支持中不是所有的錯誤都能夠搜索到,而WinDbg正好克服了這兩個弱點,直接能夠抓出罪魁禍首文件,讓您痛快將其斬首。
WinDbg是免費軟件,其微軟官方下載地址是http://www.microsoft.com/whdc/devtools/debugging/default.mspx,具體項目為Install Debugging Tools for Windows 32/64-bit Version。
使用WinDbg分析崩潰時的內存轉儲文件的前提是您要讓系統在崩潰時自動生成一個內存轉儲文件,做法如下:
1、單擊開始,然后單擊運行。
2、鍵入 control sysdm.cpl
復制代碼
,然后單擊確定。您將會打開系統屬性,請切換到高級選項卡。結果如下圖所示:
3、在高級選項卡上,在啟動和故障恢復部分中單擊設置。這將打開啟動和故障恢復對話框,如下圖所示:
4、在寫入調試信息列表中,選擇“小內存轉儲(64 KB)”或“核心內存轉儲”,這樣系統在崩潰時將會自動生成對應的內存轉儲文件。如果您不想讓藍屏只閃爍一下,而是想看清楚它直到您手動重新啟動計算機,請清除系統失敗部分中自動重新啟動(R)項目前的復選框。然后單擊確定。
5、在啟動和故障恢復對話框中,單擊確定。
6、單擊確定關閉系統屬性對話框。
7、在系統設置更改對話框中,如果要立即重新啟動計算機,則單擊是;如果要稍后重新啟動計算機,則單擊否。
l 注:
l 對于原版操作系統,以上設置是默認的(除了禁止自動重新啟動)。l Vista用戶請類似操作。 對于第4點中的寫入調試信息列表內容,現給出以下參照釋義:
(以上三種轉儲文件的大小依次增大,關于三者的比較不在本文討論范圍之內,筆者僅推薦設置為“小內存轉儲”或者“核心內存轉儲”,一般性錯誤“小內存轉儲”就足夠了,如不能完好分析請選擇“核心內存轉儲”。為了數據的豐富性,您也可以直接選擇“核心內存轉儲”,但筆者強烈不推薦完全內存轉儲。)
值得注意的是,為了確保崩潰時自動生成內存轉儲文件,您可能還須啟用虛擬內存頁面文件。特別地,當您選擇記錄核心內存轉儲時,您必須啟用虛擬內存頁面文件,而且由于核心內存轉儲文件的大小取決于該機器上操作系統和所有活動驅動程序已經分配的內核模式內存的數量,因此沒有很好的辦法來預測內核內存轉儲的大小。下表僅給出該情況下的參考虛擬內存大小設置值:
另外,除了頁面文件占用的磁盤空間,內存轉儲文件(*.DMP)的生成位置所在的磁盤還要有足夠的空閑空間來提取這個轉儲文件,否則一樣會“生成不了”(實際上是丟失了)。
設置好這些之后,一旦您的系統發生藍屏崩潰,系統就會在以上設置中選中的相應內存轉儲文件類型下對應的目錄處生成轉儲文件。您所要做的就是立刻拿出利器——啟動WinDbg進行分析。
筆者在此將結合一個實例進行詳細說明,過程中包含了WinDbg調試藍屏用到的一些命令,這些命令將不再額外整理,請于閱讀過程中注意識記。
首先,您要配置WinDbg將要使用的調試符號文件(Symbol File)的位置。什么是調試符號文件呢?符號文件隨DLL文件或者EXE文件建立時產生,提供包含在可執行文件和動態鏈接庫 (DLL) 中的函數的占位空間。此外,符號文件還可以表示達到失敗點的函數調用路線圖。當我們使用各種Microsoft工具調試應用程序時,必須擁有符號信息,這樣才能正確分析出問題根源。那我們該如何設置調試符號文件的位置呢?我們既可以從微軟官網下載完整的符號文件包(同位于WinDbg下載頁面),也可以使用微軟的符號文件服務器(Microsoft Symbol Server)。筆者推薦后者,因為一次分析所要用到的符號文件局限于有限的幾個而已,使用后者可以讓程序自動下載,既節省時間,又可以確保符號文件是最新的并且是正確的。在WinDbg中點擊“File”菜單,選擇“Symbol File Path …”,在打開的對話框中輸入
SRV*DownstreamStore*http://msdl.microsoft.com/download/symbols
復制代碼
后點擊“OK”按鈕即可。當然,還有一步就是再次點擊“File”菜單,選擇“Save Workspace”來保存當前的設置。
設置了符號文件之后,您就可以進行內存轉儲文件的分析了。同樣點擊“File”菜單,這次要選擇“Open Crash Dump …”,然后通過文件打開對話框打開生成的待分析的內存轉儲文件。本例中設置的是核心內存轉儲類型,于是應該定位至“%SystemRoot%”(即系統盤Windows文件夾下),打開MEMORY.DMP文件。但是筆者已經事先將其轉移至“E:Memory DumpMEMORY.DMP”,因此在后續的圖片中,您看到的是這個地址。此時WinDbg會滾動顯示一些信息并且會稍有掛起的感覺,直到從微軟符號文件服務器下載完分析這個崩潰文件所需要的所有符號文件。
在上圖中,我們看到就是這個打開的調試器命令窗口(Debugger Command Window)(已經將符號文件加載完畢,待命),我們先看看位于底部的區域6,這個小的長方條就是WinDbg的命令輸入處(Command Entry),它又分為兩個區域,左邊顯示“0: kd>”的是提示區,右邊空白區是命令輸入區。當剛打開這個窗口而符號文件尚未下載/加載完畢時,提示區域會什么都不顯示,而命令輸入區域將顯示“Debuggee not connected”。直到符號加載完畢,窗口中顯示出最后一行“Followup: MachineOwner”才會變為空閑狀態。在空閑狀態時,它將顯示為與上圖中類似的模樣。為什么說類似呢?因為這個空閑待命提示根據調試類型、計算機處理器硬件配置不同,比如此例中,進行的是內核調試,于是顯示“kd>”(kernel debug),系統為多(核)處理器,因此在“kd>”之前還顯示一個“0:”,表明當前位于編號為0的處理器。在執行了某個命令之后,如果命令需要處理的任務較多(如“!analyze -v”),提示區域將顯示為忙碌狀態的“*BUSY*”,一旦顯示為這個狀態,您不論輸入什么命令都不會立即執行,而是等待變為空閑狀態時延緩執行。
如上圖所示,圖中區域1處將顯示打開的這個內存轉儲文件的物理路經;區域2處顯示的則是當前加載的符號文件的位置,本例中表明是從微軟服務器下載;區域3共有三行,顯示的為系統信息,第一行表明了系統為Windows XP,內核版本為2600(SP3),多處理器(2顆),32位,第二行表明了系統類型為NT系統,客戶端系統,第三行表明系統的詳細版本標識;區域4共兩行,第一行表明該內存轉儲文件生成的時間,也就是系統崩潰的具體時間,本例中(這是去年12月得到的一個崩潰轉儲文件,現用作本例進行說明)為星期六(Sat),12月(Dec)27日,22:56:31.062,2008年,格林尼治標準時間東八區(GMT 8),第二行顯示的是崩潰時自系統啟動以來,系統共運行了0天4小時5分15.797秒。區域5是很關鍵的錯誤信息,它的第一行僅在加載符號文件遇到錯誤時顯示,此例中,它告訴我們“對于BaseTDI.SYS文件,模塊已經加載完畢但卻不能夠為其加載符號文件”,如果之前配置了正確的符號文件路徑,這就告訴我們BaseTDI.SYS不是微軟公司的文件,而是第三方驅動程序文件,這很可能是引起錯誤的原因,值得關注但須進一步分析。區域5的第二行是WinDbg自動分析的結果,它告訴我們,引起崩潰的原因(Probably caused by:)很可能是HookUrl.sys文件。一般情況下,這就是引起錯誤的罪魁禍首了,但是也有不少的例外,最典型的就是顯示一個微軟自己的文件在此處,您可要注意了,為了避免枉殺無辜,最好進一步分析來看看都有哪些模塊牽扯在崩潰的最后一刻,這樣就能夠保證審判無誤了!進一步分析的命令可以從“!analyze -v”開始。
我們既可以在命令輸入區域手動鍵入命令
!analyze -v
復制代碼
,也可以在上圖中的區域7所示位置單擊藍色的這個命令。之后,提示區域將顯示為“*BUSY*”,WinDbg將分析一段時間直到將結果顯示完畢并再次轉為空閑狀態。下面我們根據一張例圖闡釋執行“!analyze -v”后顯示的各種結果:
WinDbg經過自動的分析,可能會顯示上圖中區域1處所示第一行的錯誤檢查說明(Bug Check Interpretation),而第二行則給出了詳細的解釋,從圖中信息看得出,此例錯誤由于“驅動程序在隊列工作項目完成之前卸載”造成的。這個“DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS”就應該是顯示在藍屏上方的錯誤說明字樣,后面的Arguments1~4就是藍屏時停止代碼后面的四個參數。圖中區域2所示的BUGCHECK_STR是WinDbg中分了類別的錯誤檢查(Bug Check)的一項,此例中為0xCE,也是停止代碼的分類簡寫,我們在命令輸入區執行
.bugcheck
復制代碼
命令,可以得到停止代碼及其參數,這和上圖的區域1、藍屏上的信息是一致的。本例中可以得到如下結果:
0: kd> .bugcheck
Bugcheck code 000000CE
Arguments bacb0a4e 00000008 bacb0a4e 00000000
我們在Bugcheck code值前補上“0x”就可以得到藍屏上的信息“***STOP: 0x000000CE (bacb0a4e, 00000008, bacb0a4e, 00000000)”。當然,關于這個錯誤如果您想了解更多,一個是可以在微軟在線幫助和支持網站上搜索字符串“0x000000CE”,再就是可以利用上圖中區域2的BUGCHECK_STR值“0xCE”執行
.hh bug check 0xCE
復制代碼
命令,在打開的窗口左欄右下角點擊“Display”按鈕。如果要在WinDbg中顯示一個停止代碼或者錯誤檢查類的詳細說明(以此錯誤為例),鍵入命令
!analyze -show 0x000000CE
復制代碼
或者
!analyze -show 000000CE
復制代碼
,也可以是
!analyze -show 0xCE
復制代碼
。區域3中顯示的就是二審判決的重要信息——線程堆棧信息。特別注意紅色框內的部分,第一行是“WARNING: Frame IP not in any known module. Following frames may be wrong.”意思就是“警告:堆棧幀IP(InstructionPtr,僅x86處理器,用于決定幀的堆棧回朔的指令指針)不存在于任何已知的模塊中,下面的幀可能出現錯誤”。這個意思的解釋已超出本文討論范圍,筆者僅告訴大家,這行文字下面的一行右側的模塊是系統藍屏崩潰時刻使用的最后一個模塊(除了Windows內核最后調用KeBugCheckEx犧牲自己,就是警告文字上方的三行),往往就是它引起了崩潰!我們來細看。大家如果了解了堆棧的數據結構或是Windows內存分配機制就應該知道,Windows為線程分配額外內存時是從高地指向低地址進行的,就是說,藍色區域3中的堆棧信息我們得倒過來由下往上看,這樣才是系統崩潰之前的一刻內核態函數的調用和傳遞情況,比如此例,系統內核執行體(nt!,即Ntoskrnl.exe)通過函數IopfCallDriver調用了BaseTDI,然后BaseTDI又調用了HookUrl.sys(Unloaded_字樣表示未加載),再然后就藍屏了。那么在這最后一刻就涉及到了兩個非Windows內核的模塊——BaseTDI以及HookUrl.sys。之所以要進行這個“二審判決”,就是要避免一種情況——萬一HookUrl.sys與BaseTDI是來自兩個公司或者兩個軟件的模塊,而最后加載的HookUrl.sys是沒有問題的,出錯是因為BaseTDI給HookUrl.sys傳遞了格式錯誤或者已被破壞的、或者非法的參數信息,HookUrl.sys接受此無效數據而引發了崩潰。如果我們不看線程棧,就根據之前的“Probably Cause by:HookUrl.sys”進行判決,我們很有可能枉殺無辜而讓兇手逍遙法外。只有通過線程棧我們才能發現另一個驅動程序BaseTDI也被牽連進來。(在應用程序崩潰不致系統崩潰的調試分析中,由于處于用戶態,WinDbg自動分析結果中的“Probably Cause by:”幾乎都是錯誤的。在這種情況下,使用!thread命令是不能顯示出任何信息的,因為這個命令僅對內核態的崩潰調試有效,然而kb命令也顯示不出有用的信息,只有用“~*kb”來顯示詳細的全部線程棧才可能發現問題根源,有的時候還需配合其他命令,本文不作討論)
當然,如果您熟練以后,覺得沒有必要使用“!analyze -v”命令的話,可以直接使用
!thread
復制代碼
或者
kb
復制代碼
命令顯示出核心的線程棧信息來二審判決。現在好了,犯罪嫌疑人目標鎖定在BaseTDI和HookUrl.sys身上。現在,我們來看看它們究竟是什么、是哪個公司、哪個程序的模塊。(從之前不能夠自動從微軟服務器為他們加載符號文件就可以知道,它們一定都是第三方驅動程序)
使用命令
lm kv m Basetdi*
復制代碼
(使用lm(列出模塊)命令和內核k選項、詳細v選項以及參數m,配合包含通配符*的字符串BaseTDI,來列出當時已加載于內核模式的包含字符BaseTDI的所有驅動文件詳細信息。使用通配符來取代完整的文件名后綴可以避免信息的局限性,借此也許可以發現多個相關的模塊以提供更多診斷線索),我們得到下圖結果:
從圖中藍色框選部分,我們可以看出,當時內核態下只有一個叫BaseTDI.SYS的文件,這個文件的路徑位于System32Drivers下,屬于名稱為“瑞星個人防火墻”(ProductName: Rising PFW, PFW=Personal Firewall)的程序組件,軟件公司注冊商標為“瑞星”(LegalTrademarks: RISING)。文件的這些英文描述信息如果您不知道,可以百度一下。當然,沒有被筆者高亮顯示的信息(如文件時間戳、版本、校驗和等等)也是非常有用的,比如百度一下文件版本,也許您會發現該軟件已經提供了更新的解決此問題的文件。同樣,我們使用
lm kv m hookurl*
復制代碼
來顯示當時內核態下包含HookUrl的文件及其詳細信息。結果如下:
圖示是一個不令人滿意的結果,因為如高亮部分所示,這個模塊未被加載,因此沒有信息被記錄。不過我們有百度,不用急,百度一下你就知道。在搜索完HookUrl.sys之后,發現這個也是瑞星個人防火墻的文件。其實這個案例就是著名的“瑞星個人防火墻跨版本升級到2009版時引發藍屏”事件。您可以通過關鍵字“瑞星防火墻2009升級造成藍屏”進行百度搜索。到目前為止,瑞星官方都沒有任何針對此事件的正式答復,雖然不是每個用戶都出現此問題,但是非常多的用戶都報告了此問題,瑞星也不承認這個是軟件缺陷,只有官方卡卡論壇上有一個不知道是不是工作人員的人發帖要求大家遇到藍屏就上傳內存轉儲文件。說到這里,我對瑞星又要失望了,但是通過這個可見藍屏內存轉儲文件的分析是多么的有用!
在這里,我還要給出兩個要得到更多信息時可能會使用到的命令,一個是
!process 0 0
復制代碼
,它可以列出當時運行著的所有進程的技術信息;另一個則是
!vm
復制代碼
,它能夠顯示出當時的虛擬內存使用情況,這對于分析系統是否耗盡了虛擬內存、換頁內存池或非換頁內存池,并結合進程列表找到可能的內存泄漏錯誤非常有用,不過已超出了本文的討論范圍。
最后,我們來看看以下的兩種特殊情況該如何使用WinDbg進行調試分析:
第一種情況是系統掛起,也就是“死機”、“系統沒有響應”,在這種情況下,系統是根本無法自動生成內存轉儲文件的,而且您也不可能操作本地軟件來查明是什么掛起了系統,這個時候我們需要手動讓系統崩潰,以生成內存轉儲文件。具體做法為,在系統掛起之前,打開注冊表編輯器并定位至
HKEY_LOCAL_MACHINE SystemCurrentControlSetServicesi8042prtParameters
復制代碼
,在該項下面建立一個名為
CrashOnCtrlScroll
復制代碼
的DWORD類型鍵值(注意大小寫),并將其設置為1,然后重新啟動應用此更改。一旦系統掛起,就可以通過按住右邊Ctrl鍵的同時擊ScrollLock鍵兩次來生成一個停止代碼為0x000000E2(MANUALLY_INITIATED_CRASH)的手動崩潰。得到內存轉儲文件以后按照上面的方法分析。注意,此方法對插入USB口的USB鍵盤無效。(筆記本計算機鍵盤很多都是通過PS/2接口連接的,因此有效)
第二種情況是進不了系統就自動崩潰,無法提取出內存轉儲文件。這種情形以及當有特定的需要時,我們都可以采取雙機調試的方法。我們將發生崩潰的機器稱為“目標機”,將用來連接到“目標機”進行調試的機器稱為“調試主機”,調試主機必須安裝有WinDbg。
首先,我們需要在兩臺機器間建立連接,在新版的WinDbg中,這里一共有三種方式連接到目標機。第一種方式為通過COM端口連接,使用零調制解調器線纜(Null-Modem),也就是COM對接線——兩個頭都是孔的RS232線;第二種是利用IEEE 1394線纜連接,但是這種連接要求兩臺機器運行相同版本的至少為Windows XP的系統;第三種方式是使用特制的USB 2.0調試線纜連接,這不是普通的USB連接線,是一種內置硬件芯片來支持調試的線纜,而且這種方式要求目標機運行的系統至少為Windows Vista。使用這三種連接方式進行雙機調試都需要在目標機上作出相應的設置調整,具體參見WinDbg幫助文件,這里僅討論第一種連接方式的設置,因為這是XP及以上系統默認支持的最簡單的方式。此時我們假設已經使用COM線纜連接好了兩臺機器。
其次,在調試主機上啟動WinDbg,配制好符號文件之后,我們展開“File”菜單,選擇“Kernal Debug…”,這將會打開如下的“Kernal Debugging”對話框:
默認打開的就是COM連接方式的配置頁面。這里的“Baud Rate(傳輸速率)”以及“Port(端口)”需要根據下一個步驟的操作方式來配置。
最后一步,我們可以啟動目標機,在引導Windows之前按下F8,在啟動菜單中選擇“調試模式”,這樣,傳輸速率被系統默認設為19200,端口也默認被設為COM2,因此上一步驟中應該照此設置后點擊“OK”。關于XP修改Boot.ini、Vista修改Bootcfg的方式啟用指定端口、傳輸速率的調試,請參見WinDbg幫助文件,在此不再贅述。目標機一起動Windows,位于調試主機的WinDbg就能夠有信息的顯示,然后按照本文介紹的方法進行調試。另外,對于上面提到的系統掛起的情況,也可以采用這種雙機調試,并且有新的命令
.crash
復制代碼
強迫目標機在它的本地硬盤驅動器中生成一個崩潰轉儲,當系統重新引導以后就可以提取此轉儲,當然,也可以使用
.dump /m COM.dmp
復制代碼
命令,在調試主機WinDbg所在目錄下生成一個名叫“COM.dmp”的小內存轉儲文件(命令中的文件名可以改成其它的)。
遠程教用戶改win7 32位系統,使用出現藍屏怎么解決?
一用戶從網上購買了一臺九成新聯想X240筆記本電腦,I5-4210U/8G內存/240G固態,自帶win7 64位系統。用戶由于工作需要,要求改win7 32位專業版系統。
聯想X240筆記本電腦
用戶U盤只有GHOST版本系統。我通過手機遠程視頻教他進BIOS調U盤啟動,進PE分區,安裝了win7 32位專業版系統,安裝驅動軟件。
他使用電腦工作途中出現藍屏,他也用手機錄下了,藍屏代碼小視頻, 錯誤代碼:stop:0x00000001; mouclass.sys藍屏
我幫他判斷分析藍屏故障原因:由于安裝精簡版GHOST win7系統有可能會導致丟失系統文件;驅動軟件安裝不兼容;腳本程序病毒引起此故障;內存松動、接觸不良;鼠標線沒插牢固。
我告訴他再出現藍屏的解決辦法:先查殺病毒,如果查殺病毒之后繼續出現藍屏故障。建議讓他下載安裝完整版win7 32位專業版;去聯想官網下載電腦的各項驅動軟件;安裝殺毒軟件防護電腦;再把筆記本內存條重新插拔一下;把鼠標插好。
這幾天沒給我打電話,應該使用正常了吧!
碰上這種 Wi-Fi,iPhone 秒崩
整理 | 蘇宓
出品 | CSDN(ID:CSDNnews)
路由器都拔了又拔,手機重啟 N 次......最終發現,手機以及部分設備還是連不上網。
這到底是怎么回事?
幾周前,來自國外 secret.club 的逆向工程師、創始人 @Carl Schou 在 Twitter 揭露一個 iOS 系統中的嚴重的漏洞。該安全研究人員指出,移動設備連不上 Wi-Fi 并非是路由器或者手機的問題,這時候需要檢查一下你的網絡名稱,如果你設置的 Wi-Fi 名稱中帶有百分比(%)字符時,如“%p%s%s%s%s%n”,那么它可能是禁用 iPhone 以及 iOS 設備上 Wi-Fi 的元兇。
近日,Carl Schou 再次發文表示,當使用 SSID“%secretclub%power”可以禁用 iOS 設備的 Wi-Fi 功能,即使重置網絡設置也無法恢復 Wi-Fi 的使用。
究竟是什么原因導致?
針對這一問題,不少研究人員認為,這個 Bug 因為屬于輸入解析的問題,其中百分比符號可能被 iOS 誤解為字符串格式化的操作符,即 % 符號后面的字符可能被視為變量或命令而不是純文本。
對此,有開發者@CodeColorist 對整個過程進行了快速解析(https://blog.chichou.me/2021/06/20/quick-analysis-wifid/)。在測試過程中,他也設置了一個與 Carl Schou 相同的 SSID 熱點并讓設備加入該網絡,結果發現 wifid 很快就崩了。崩潰報告如下(wifid-2021-06-20-xxxxxx.ips):
Thread 2 name: Dispatch queue: com.apple.wifid.managerQueue
Thread 2 Crashed:
0 libsystem_platform.dylib 0x00000001ebcb9724 _platform_strlen 4
1 CoreFoundation 0x00000001a381d84c __CFStringAppendFormatCore 8812
2 CoreFoundation 0x00000001a381efa8 _CFStringCreateWithFormatAndArgumentsReturningMetadata 160
3 WiFiPolicy 0x00000001d0895f8c -[WFLogger WFLog:message:] 192
4 ??? 0x000000010692c00c 0 4405248012
5 wifid 0x0000000100f58a74 0x100e40000 1149556
6 wifid 0x0000000100f58c74 0x100e40000 1150068
基于以上結果顯示,證實了網絡連接失敗以及 iPhone 上 Wi-Fi 無法正常使用屬于格式字符串 Bug!
通過反編譯 dyld_shared_cache 中的 -[WFLogger WFLog:message:] 函數。有兩個對 CFStringCreateWithFormatAndArguments 的引用:
v7 = j__CFStringCreateWithCString_107(0LL, a4, 0x8000100u); // the format string
if ( v7 || (v7 = j__CFStringCreateWithCString_107(0LL, a4, 0)) != 0LL )
{
if ( self->_destination == 2 )
{
v8 = j__CFStringCreateWithFormatAndArguments_26(0LL, 0LL, v7, v21);
v18[3] = (__int64)v8;
}
另一個:
if ( self->_destination != 2
&& (!self->_wflRunningOnWatchClassDevice || self->_wflEnableDualLoggingOnWatchClassDevice) )
{
*(_QWORD *)&v16.tm_sec = 0LL;
*(_QWORD *)&v16.tm_hour = &v16;
*(_QWORD *)&v16.tm_mon = 0x2020000000LL;
*(_QWORD *)&v16.tm_wday = 0LL;
v10 = j__CFStringCreateWithFormatAndArguments_26(0LL, 0LL, v7, v21); // <-- here
@CodeColorist 表示,利用 frida,并將它加到函數中,如:frida-trace -U wifid -m '-[WFLogger WFLog:message:]' ,稍微修改自動生成的腳本:
onEnter(log, args, state) {
const msg = '' args[3].readUTF8String;
log(`-[WFLogger WFLog:${args[2]} message:${msg}]`);
if (msg.indexOf('%p%s%s%s%s%n') > -1) {
for (let i = 3; i < 10; i ) {
log(args[i], JSON.stringify(Process.findRangeByAddress(args[i])));
}
log('called from:n'
Thread.backtrace(this.context, Backtracer.ACCURATE)
.map(DebugSymbol.fromAddress).join('n') 'n');
}
},
這是崩潰前的日志。
17863 ms -[WFLogger WFLog:0x3 message:Dequeuing command type: “%@” pending commands: %ld]
17863 ms -[WFLogger WFLog:0x3 message:{ASSOC } Attempting Apple80211AssociateAsync to %p%s%s%s%s%n]
根據回溯,以下是根本原因:
v27 = sub_1000A25D4(v21);
v28 = objc_msgSend(
&OBJC_CLASS___NSString,
"stringWithFormat:",
CFSTR("Attempting Apple80211AssociateAsync to %@"),
v27);
v29 = objc_msgSend(&OBJC_CLASS___NSString, "stringWithFormat:", CFSTR("{ %@ } %@"), CFSTR("ASSOC"), v28);
v30 = objc_autoreleasePoolPush;
v31 = (void *)qword_100251888;
if ( qword_100251888 )
{
v32 = objc_msgSend(v29, "UTF8String");
objc_msgSend(v31, "WFLog:message:", 3LL, v32);
}
objc_autoreleasePoolPop(v30);
蘋果:暫未回復
與此同時,外媒 9to5 Mac 也曾給出一個可能性的解釋:
"%[字符]"語法通在編程語言中較為常見,它的作用是對字符串進行格式化。在 C 中,"%n"標識符表示將寫入格式字符串中的字符數保存到傳遞到字符串格式函數的變量。Wi-Fi 子系統可能會將未經處理的 Wi-Fi 網絡名稱 (SSID) 傳遞給執行字符串格式的某個內部庫,這反過來又會導致緩沖器溢出。這將導致內存損壞,iOS 監視器將扼殺該過程,從而有效地禁用用戶的 Wi-Fi。
經過測試,這種情況僅在 iOS 設備中出現,其中 iOS 14.4.2 到 14.6 都有這樣的問題,而 Android 設備則可以毫無問題地直接連接。研究人員還就此事聯系了蘋果的設備安全團隊,但尚未收到任何回復。
通過不斷的嘗試,Carl Schou 最終給出了一個解決方案,即手動編輯 iPhone 備份并在已知的網絡中刪除惡意的 Wi-Fi 名,才可以恢復 iPhone 等 iOS 設備網絡的使用。
其實近幾年來,蘋果因為程序處理字符串帶來的 Bug 層出不窮,譬如,上一次,只因用戶姓 True,她的 iCloud 賬戶被蘋果封禁了半年之久。這一次關于 % 字符的問題不知何時才能根除,目前對于用戶可以做的就是不要去連接不熟悉以及名稱上帶有這種 % 等特殊字符的 Wi-Fi,避免一些可怕事情的發生。
參考:https://appleinsider.com/articles/21/07/04/new-malformed-wi-fi-name-bug-can-require-iphone-factory-reset-to-fix