前提:本文只講進階分辨,唔重寫基礎
本文有一個明確前提:基礎檢查已經做晒,但凍結或者自動重啟仍然出現。所謂基礎檢查,包括重啟系統、檢查系統更新、掃描病毒、關閉不必要的開機程式、清理磁碟空間、檢查電源設定,以及確認散熱口沒有被完全堵塞。如果呢啲步驟未做,應該先做基礎檢查,因為進階分辨建基於「基礎已排除」呢個條件之上。基礎做完仍然出事,先至值得用分層方法追落去,否則好容易將一個簡單設定問題當成主板問題。
本文要處理的症狀有兩種,經常一齊出現,但機制並不相同。第一種係凍結:畫面停住、滑鼠同鍵盤無反應,有時要長按電源鍵先可以關機,有時凍一陣又自己恢復。第二種係自動重啟:無警告、無正常關機程序,直接黑畫面再重新開機。兩種症狀可以同源,亦可以分屬不同層次,必須分開判斷,唔好用同一個解法去處理晒。
本文唔係藍屏專文,唔係黑屏無顯示專文,唔係過熱清塵專文,亦唔係固態硬碟消失專文。藍屏、黑屏、過熱、硬碟消失只會在需要區分症狀時出現,用來幫讀者排除其他方向,文章焦點始終係凍結同重啟本身。
第零步永遠係備份:凍結同重啟有資料遺失風險
在講任何機制之前,必須先講資料安全。凍結同自動重啟的最大風險唔係「用唔到」,而係「未儲存的資料遺失」同「在寫入過程中斷電」。正常關機有系統程序去儲存狀態、完成寫入;凍結後長按電源鍵強制關機,或者無預警自動重啟,都可能打斷正在寫入的檔案,令檔案損毀,嚴重時甚至影響系統檔案。
因此,凡是出現反覆凍結或者自動重啟的筆電,第一步永遠係備份,而且要先備份最重要的檔案,分小批複製去另一隻實體裝置,複製完要驗證檔案開唔開得到。備份時要避免在同一部不穩定的機上反覆讀寫大檔案;如果機身已經頻繁死機,應該先以最穩定的方式,例如輕負載、插電穩定狀態,盡快複製最重要檔案,之後再做完整備份。
未備份之前,唔好反覆用重負載去「試下會唔會再死機」,因為每一次凍結或者重啟都係一次資料風險。診斷可以慢慢做,資料損失卻未必救得返。呢個次序唔可以調轉:備份行先,診斷行後,維修行最後。重裝系統、換件、改韌體設定等操作,全部要等備份完成先好做。
先分症狀類別,再選層:凍結唔係一個診斷
「死機」唔係一個診斷。同一句「無端端死機」背後至少有五種不同機制,證據同下一步完全不同。寫文章第一步,必須先教讀者分流,否則後面所有建議都會錯配。
| 讀者見到的現象 | 最可能的機制家族 | 第一手證據(未清紀錄前先抄低) | 最易誤判之處 |
|---|---|---|---|
| 滑鼠可動、部分視窗可動,但某程式或者整個桌面無反應,有時數秒後自己恢復 | 程式層凍結、延遲程序呼叫拖慢、顯示驅動超時恢復中 | 事件檢視器有否顯示驅動相關事件、當時是否只卡某一程式、音樂或者影片是否繼續播放 | 誤當成全機硬件故障,急於重裝系統或者換件 |
| 滑鼠、鍵盤、大小寫鎖定燈全無反應,畫面定格,連快捷鍵都無效,只能長按電源鍵 | 硬凍結:核心停頓、驅動死鎖、中斷風暴、硬件錯誤未及觸發錯誤檢查 | 重啟後核心電源事件的錯誤檢查碼是否為零、事發前有否硬件錯誤紀錄、是否可重現於特定負載 | 誤以為無藍屏就等於無錯誤紀錄;其實無錯誤檢查本身就是一條線索 |
| 畫面一閃黑、驅動提示恢復,或者短暫黑屏後回到桌面 | 顯示驅動超時恢復成功 | 顯示驅動事件、事發時是否正在轉換電源狀態或者負載 | 誤當成螢幕或者排線故障 |
| 無預警直接黑屏重啟,回到登入畫面或者桌面,好似被人按了重啟 | 自動重啟:系統失敗時自動重啟設定已開啟,把錯誤檢查藏起;或者硬件看門狗、機器檢查、電源中斷觸發重啟 | 關閉自動重啟後下一次是否停在藍屏並露出停止碼;核心電源事件細節欄位 | 只看核心電源事件就斷定是電源問題;該事件本身只是上次無正常關機的結果紀錄,唔係成因 |
| 凍結後硬碟燈長著或者全無活動,數十秒至數分鐘後先恢復或者被迫重啟 | 系統碟輸入輸出卡死:固態硬碟控制器停頓、連結重訓、佇列未完成 | 健康紀錄、事發時是否伴隨磁碟活動停頓、是否只在喚醒或者閒置後出現 | 健康紀錄全部正常就排除固態硬碟;健康紀錄係歷史計數,唔係即時存活證明 |
凍結同自動重啟:機制分別
程式層凍結:程式卡住,但核心仍在運作
程式層凍結的特徵係局部失能:系統核心同其他程式可能仍在跑,只係負責畫面或者輸入的路徑被拖住。關鍵機制係中斷服務同延遲程序呼叫。硬件發出中斷時,驅動的中斷服務先做最少量的即時工作,再把較重的工作排入延遲程序呼叫佇列,稍後執行。延遲程序呼叫執行期間,同一處理器上的一般執行緒要等佢完成先可以繼續。拖得越長,用家感受到的卡頓、音訊斷續、滑鼠遲滯就越明顯。如果某驅動的延遲程序呼叫長時間不返回,或者佇列不斷被新中斷塞滿,介面就會表現為凍結,但系統未必會即時觸發錯誤檢查。
微軟對延遲程序呼叫看門狗違規的說明,正正把呢條線畫出來:看門狗會在單一延遲程序呼叫超出時限,或者在高優先級別累積停留過久時觸發錯誤檢查。日常感受到的卡頓遠早於看門狗出手,兩者唔可以混為一談。量度工具得出的延遲數值屬於次級診斷參考,唔係微軟的合格或者不合格分界線。文章只可以寫量度期間某驅動持續佔據前列,值得優先隔離測試,唔可以寫超過某數值即等於故障。
另一個機制係驅動死鎖:兩個或者以上核心元件互相等待對方釋放的鎖或者資源,結果邊個都走唔下去。典型外觀係某程式或者整個桌面定格,但音樂可能仍在播、滑鼠可能仍可動,因為未被鎖死的路徑仍在跑。死鎖同硬凍結的分別在於範圍:死鎖可以只鎖死一條路徑;硬凍結係連核心調度本身都停頓或者失控。
硬凍結:核心停頓,連求救訊號都發唔出
硬凍結的特徵係全面失能:滑鼠不動、鍵盤無反應、畫面定格、大小寫鎖定燈唔隨按鍵切換、快捷鍵無效。機制上有三條主線,必須分開講,唔可以混成一句死機。
第一係核心停頓:核心執行緒因為等待永不完成的輸入輸出、鎖死或者硬件回應而停住,調度器無法推進用家程式。由於錯誤檢查本身都需要核心同相關路徑配合執行,太深的停頓可以令系統連藍屏都出唔到,呢個正正係凍結後無藍屏、無傾印檔的一種合理解釋,唔係無證據。診斷上,硬凍結後重啟的核心電源事件經常出現錯誤檢查碼為零,即重啟時無留下錯誤檢查碼,呢一點要同有錯誤檢查碼的重啟分開解讀。
第二係硬件看門狗同計時器觸發:看門狗的原理係定時要收到訊號,逾時未收到就認定系統已失控,強制重啟。佢可以係晶片組或者嵌入式控制器層的計時器,亦可以係系統內部的延遲程序呼叫看門狗呢類軟件看門狗。兩者目的相同、層次不同:軟件看門狗觸發時通常仍能產生錯誤檢查同傾印檔;硬件看門狗觸發時往往直接重啟,留下的只有核心電源事件呢類無正常關機紀錄。筆電的嵌入式控制器負責電源時序、風扇、鍵盤、電池等底層控制;嵌入式控制器韌體出問題或者電源時序異常,都可以表現為凍結或者重啟,但嵌入式控制器本身的診斷資訊一般唔直接暴露畀事件檢視器,只能靠排除法同廠方韌體更新說明佐證,唔可以憑空斷定一定係嵌入式控制器。
第三係非可遮罩中斷同機器檢查:嚴重硬件錯誤會以非可遮罩中斷或者機器檢查例外通知處理器。處理器機器檢查架構以一組暫存器記錄錯誤,每個組對應某個子系統,狀態暫存器中的位元表示資料是否有效、是否未經處理器自動修正、能否恢復。實務分流要分清楚:已修正錯誤代表處理器已自行修正,只留下紀錄,單一已修正錯誤唔代表即時故障;但同一來源反覆出現、頻率上升,就係硬件邊緣化的警號。未修正或者致命錯誤代表處理器無法安全繼續,系統經硬件錯誤架構轉為錯誤檢查。寫文章要避免的誤寫係唔可以把所有硬件錯誤事件都寫成處理器壞咗。硬件錯誤架構只說明硬件層向作業系統報告了錯誤,錯誤來源可以係處理器核心、快取、記憶體、傳輸裝置或者電源傳遞,必須看事件內的元件、錯誤來源、主要裝置名稱欄位分流。
自動重啟:三種重啟要分開
系統失敗時自動重啟係系統預設行為:發生錯誤檢查後,依照啟動及修復設定自動重啟,藍屏一閃即過。看門狗或者硬件層強制重啟係軟件或者硬件看門狗逾時、機器檢查致命錯誤、電源中斷觸發,無預警黑屏重啟,可能完全無藍屏。排程、更新或者電源設定引發的重啟則多在閒置、關機、喚醒等特定時刻出現,較有規律,要對照更新紀錄、電源設定、休眠同快速啟動開關測試。
重點結論係核心電源事件唔係成因,係結果。微軟文件原文明確指出,該事件係在下一次開機時,系統檢查到上次並非正常關機而記錄的事件,成因可以係系統停止回應、當機或者意外斷電。因此文章的正確寫法係見到該事件,先唔好下結論;看細節欄位,再向前追蹤事發前數分鐘的事件。錯誤寫法係該事件即等於電源供應器故障或者主板故障。
事件檢視器點睇:先看重啟事件,再向前追蹤
閱讀位置係事件檢視器裡面系統紀錄。凍結或者重啟調查的正確次序係先看重啟事件,再向前追蹤事發前數分鐘的警告同錯誤,而唔係只看重啟嗰一條。
核心電源事件的細節欄位點睇:錯誤檢查碼係十進制錯誤檢查碼,轉為十六進制後可以對照停止碼。如果為零,代表重啟時無留下錯誤檢查碼,常見於硬凍結、硬件看門狗重啟、電源中斷,或者傾印檔寫入失敗。錯誤檢查參數要配合停止碼解讀。睡眠進行中欄位表示是否處於睡眠或者休眠過程中,有助區分喚醒路徑同正常使用中兩類重啟。電源按鈕時間戳非零代表曾經長按電源鍵強制關機;全零唔代表無人按過電源鍵,只代表無留下該時間戳,未可以單憑此排除人為強制關機。
錯誤檢查事件的含義係系統曾經發生錯誤檢查,並記錄停止碼同參數。要同核心電源事件配對閱讀:核心電源事件講無正常關機,錯誤檢查事件講當時係邊個停止碼。如果有錯誤檢查事件但無對應傾印檔,要檢查分頁檔同傾印檔設定同磁碟區管理相關事件,而唔係直接斷定無藍屏。如果只有核心電源事件、無錯誤檢查事件、無傾印檔,診斷方向應該偏向硬凍結、看門狗、電源中斷或者傾印檔寫入失敗,而唔係直接套用某個停止碼的解法。
硬件錯誤紀錄事件要按編號分流:已修正硬件錯誤警告常見來源為傳輸根端口的進階錯誤報告,即傳輸層已修正的錯誤,單一出現未必即時致命,同一裝置反覆出現就指向連結、裝置或者電源狀態問題。致命硬件錯誤代表硬件層報告了無法忽視的錯誤,必須配合傾印檔同元件欄位分流,唔可以只看標題。已修正機器檢查警告來源常為處理器核心,單一已修正錯誤可以只作監察,同一核心或者同一錯誤類型頻率上升就代表邊緣化,需要進一步測試。閱讀要點係唔好只看元件一行,要看錯誤來源、錯誤類型、主要裝置名稱、處理器編號等欄位,先可以把處理器同傳輸裝置同記憶體分開。頻率比單次重要:一次已修正錯誤同一小時內數十次同一錯誤,診斷意義完全不同。
驅動框架事件指向某個由驅動框架管理的裝置或者驅動在生命週期上出問題,常見於外置裝置、打印機、讀卡器、生物辨識等周邊驅動。佢本身唔係主板壞咗的證據,亦唔係顯示卡壞咗的證據,必須看事件內的裝置名稱同驅動檔名,再配合拔除隔離測試。唔可以把驅動框架事件同硬件錯誤事件混為一談,前者係驅動框架層,後者係硬件錯誤架構層,兩者來源、級別、處理路徑都不同。
其他可以一併對照的事件包括意外關機時間紀錄,可以同核心電源事件互相核對時間點;磁碟區管理事件同傾印檔寫入有關,如果傾印檔寫入失敗,會影響事後分析,但唔等於凍結成因。診斷性質的一步係揭示被藏起的藍屏:在系統內容進階啟動及修復設定取消自動重新啟動,令下一次系統失敗時停在藍屏,抄低停止碼之後再手動重啟。呢個只係診斷手段,唔係修復;如果之後凍結屬於硬凍結而無藍屏,呢一步唔會產生新資訊,應該轉向其他層。
驅動同韌體層:顯示驅動超時、延遲程序呼叫、版本次序
顯示卡驅動超時恢復:點解畫面會黑一下又返嚟
超時偵測同恢復係圖形堆疊的保護機制,唔係顯示卡本身的自我修復開關。微軟文件所述的三段流程係:第一,超時偵測,圖形核心子系統內的圖形排程器發現圖形處理器執行某任務超過許可時間,便嘗試搶佔該任務,搶佔操作本身有一個等待超時,即真正的超時門檻,預設為兩秒。如果圖形處理器在時限內既不能完成亦不能搶佔該任務,作業系統便判定圖形處理器已凍結。第二,恢復準備,圖形排程器通知顯示驅動已偵測到超時,驅動必須重新初始化並重置圖形處理器,同時停止存取記憶體同硬件。第三,桌面恢復,作業系統重置圖形堆疊狀態,清除影像記憶體配置,重置圖形處理器硬件狀態,圖形堆疊最後把桌面恢復至可回應狀態。能夠正確處理裝置移除的應用可以繼續運作,較舊或者處理不當的應用可能仍顯示黑畫面,需要重啟該應用。
較新的系統支援按引擎超時恢復,驅動可以只重置個別實體引擎組,而唔係整個顯示卡。診斷要點同禁區必須講清楚:超時恢復成功唔等於顯示卡無問題,佢只證明圖形處理器曾經在門檻內無回應,系統成功把它重置。反覆超時恢復仍然指向驅動、電源狀態轉換、硬件邊緣化或者負載模式其中之一,需要繼續分流。調高超時門檻或者停用偵測唔係修復。調高門檻只係畀圖形處理器更多時間,未解決驅動死鎖或者硬件不穩;停用偵測會令真正停頓的圖形處理器無法被重置,結果由黑一下恢復惡化為硬凍結,只能長按電源鍵。文章必須寫明呢一點,唔可以把改登錄機碼包裝成解法。事件對照方面,不同品牌驅動的事件名稱不同,唔可以把某一個品牌的事件編號套用到所有品牌。超時恢復成功而畫面返嚟,同黑屏後無畫面係不同症狀;超時失敗而變成錯誤檢查,則屬於藍屏範疇,本篇只在機制上提及,唔展開為藍屏專文。
延遲程序呼叫量度:點量度、點解讀、點隔離
量度思路唔依賴單一數值作判決。第一,在可以重現凍結的條件下量度,例如開某程式、播某媒體、接某外置裝置時,記錄佔用前列的驅動檔名,例如顯示驅動、網絡驅動、儲存驅動、驅動框架檔等。第二,逐一隔離:停用或者拔除可疑裝置、回退該驅動版本、改用廠方原裝驅動而非系統更新通用驅動、關閉該裝置的進階電源管理功能,再看凍結是否跟著消失。第三,如果隔離後凍結消失,證據鏈先算完整;如果只係量度數值下降但凍結依舊,代表量度到的延遲可能只係伴隨現象,唔係主因。常見誤區係把音訊爆音或者遊戲微卡頓的延遲數值,直接等同於全機凍結的成因,兩者共享機制,但嚴重程度同觸發路徑不同;亦唔可以在系統閒置時量度一次就下結論,間歇凍結往往只在特定電源狀態轉換或者負載突變時出現,閒置量度捉唔到。
驅動版本回退同乾淨安裝:次序比版本新舊重要
原則係新唔等於好,舊唔等於穩,只有在呢部機上可以重現或者唔可以重現先係證據。建議的診斷次序適用於顯示、晶片組、儲存控制器、網絡驅動:第一,先記錄現有版本同事發時間線,凍結是否始於某次驅動或者系統更新之後,如果係,回退該驅動係第一個低成本隔離步驟。第二,裝置管理員回退,適用於剛更新不久、系統仍保留舊驅動的情況。第三,廠方乾淨安裝,廠方安裝程式內的清理路徑同一般覆蓋安裝不同,會清除舊設定同殘留組件,要按品牌分開寫,唔可以寫成所有品牌都有同一個按鈕名稱。第四,第三方顯示驅動清理工具作深度清理,微軟問答中亦有引用呢類流程:先下載好新驅動但未安裝、進入安全模式執行清理、選顯示卡品牌後選清理並重啟、重啟後在正常模式安裝已下載的驅動。關鍵細節係執行清理前先斷開網絡,避免系統更新在清理後立即自動裝回另一個驅動版本,令乾淨安裝失效。雙顯示卡筆電的次序係先清獨立顯示卡驅動,重啟後再入安全模式清內顯驅動,最後在正常模式安裝兩者;次序顛倒可能令畫面輸出路徑混亂,寫文章時要提醒讀者先確認自己機種的顯示輸出由邊個圖形處理器負責。呢類工具唔係廠方工具,文章要標明其第三方性質,並提醒先備份重要資料、建立還原點,唔可以把它寫成微軟官方工具。第五,一次只換一個驅動,同時換顯示、晶片組同網絡驅動,之後好轉都無法歸因。何時唔應該再追驅動:如果已經試過廠方最新版、上一穩定版、系統更新版三個版本,凍結模式完全不變,而且事件紀錄指向硬件層,就應該轉向記憶體、儲存層,唔應該無限循環換驅動版本。
韌體:何時更新、何時唔更新、點樣先算安全
韌體更新的定位係修正已知問題的手段,唔係有新版就更新的例行保養。應該考慮更新的時機包括廠方更新說明明確提及修正凍結、重啟、電源管理、記憶體相容性、傳輸、顯示、儲存控制器相關問題;處理器微碼或者平台韌體更新修正了同現有處理器、記憶體組合相關的穩定性問題;已經排除驅動、記憶體、儲存三層,事件紀錄仍然指向韌體、電源時序層,而且廠方有對應修正;新安裝的處理器、記憶體、固態硬碟需要較新韌體先可以正常識別或者穩定運作。
唔應該貿然更新的情況包括機器目前穩定,更新說明只提及安全性或者新增功能,同凍結症狀無關;未能確認檔案是否對應正確機種或者子型號,筆電同一系列不同子型號的韌體檔案可以不同,錯檔後果嚴重;電源不穩、電池異常、更新途中可能斷電的環境。
風險機制必須寫明,唔可以輕描淡寫:韌體更新係把新韌體寫入主板快閃記憶體,寫入途中斷電或者中斷,可能令韌體不完整,機器無法完成開機程序。部分機種有雙韌體或者韌體救援機制可以再寫入,但筆電唔一定具備,唔可以假設所有機都有後路。更新後韌體設定可能回復預設,包括超頻設定回到標準、開機順序、電源管理選項等。更新後必須重新核對設定,否則會誤以為更新後變慢或者不穩係新韌體本身的問題。嵌入式控制器韌體更新往往同主板韌體更新綑綁或者分開發布,視廠方而定;文章唔可以把主板韌體同嵌入式控制器寫成同一檔案,必須提醒讀者依機種支援頁的指示,分辨兩者是否需要分別更新。
安全更新清單可以作檢查表:備份重要資料;接上原裝充電器並確保電池有足夠電量,更新途中唔拔電源、唔合蓋、唔按電源鍵;只從筆電品牌官方支援頁下載對應完整型號的檔案,核對檔案雜湊值如果廠方有提供;優先使用韌體內建更新工具或者廠方指定的系統更新工具,依廠方指示操作,唔中途開啟其他程式;更新完成並多次重啟後,重新核對韌體設定,再進行凍結重現測試;如果更新後出現新問題,先記錄新舊版本號同設定差異,再考慮是否按廠方指示回退,部分廠方唔支援韌體回退,事前要查明。
記憶體層:點解記憶體錯唔一定藍屏
讀者直覺係記憶體壞就應該藍屏,但實際上記憶體錯誤的表現取決於錯喺邊度、錯成點、當時邊個在用嗰段記憶體。分流模型如下:未被使用的空閒頁或者已可以捨棄的快取頁出錯,可能無症狀,或者只有輕微效能異常,因為錯誤內容從未被讀取或者可以重新產生。應用程式自己的資料頁出錯,該程式可能當機、檔案損毀、運算結果錯誤,但核心未必需要錯誤檢查。驅動程式的緩衝區、核心資料結構、頁表、核心程式碼頁出錯,可能令全機凍結、驅動死鎖、間歇重啟,因為核心依賴的資料已經錯,但錯誤未觸發任何受保護的檢查點,系統繼續用錯的資料運作,直至某個關鍵路徑停頓或者失控;由於錯誤檢查本身都需要核心配合,太深的損毀可以令藍屏出唔到。受保護的結構、被完整性檢查覆蓋的頁出錯,錯誤被檢查機制捉到,系統主動錯誤檢查以防進一步損毀。
補充機制有三點:第一,消費級筆電大多無錯誤修正碼記憶體,單位元翻轉如果無修正,會原樣傳畀讀取者,多位元錯誤更可能令資料無法挽回;伺服器或者工作站的錯誤修正碼可以修正單位元錯誤並記錄,表現同消費級筆電不同,文章唔可以把錯誤修正碼機制的結論套用到無錯誤修正碼的筆電。第二,某些架構會把無法修正的錯誤標記為有毒資料,延遲至被真正取用時先處理,取用點不同,表現可以係程式當機、凍結或者錯誤檢查,時間上同錯誤發生點脫節,呢個解釋咗點解昨日記憶體錯、今日先凍結並非不可能。第三,間歇性係常態,唔係例外:溫度、電壓、時序邊緣、特定存取模式都可以令邊緣化的記憶體在某些條件下先出錯,在其他條件下完全正常,呢個正正係多輪測試同交叉測試的原因。
開機記憶體測試同系統記憶體診斷的局限
開機記憶體測試工具唔經系統,直接從外置裝置開機執行,因此可以測試系統本身佔用的記憶體範圍,測試模式比在系統內執行的工具更全面。測試內容包括多種演算法,不同測試針對不同失效模式,單一測試通過唔代表全部通過。輪數的實務做法屬於實務共識,寫文章時要標明唔係廠方保證:快速篩查至少兩至四個完整輪數,間歇錯誤需要過夜或者更長時間、多輪數測試,有案例顯示錯誤在較後輪數先出現,因此跑一個輪數無錯唔可以寫成記憶體無問題。耗時視容量、速度、處理器核心數而定,容量越大、速度越慢,完整輪數越久,文章唔可以寫死每單位容量需要幾小時呢類未經官方文件證實的換算。判讀鐵律係任何非零錯誤都代表該記憶體組態在測試條件下不穩定,唔係少少錯誤可以接受。但錯誤地址本身唔等於該條記憶體一定壞,記憶體控制器、插槽、主板走線、韌體時序、電源都可以令同一地址出錯,必須做交叉測試。
系統內建記憶體診斷在重啟後於預開機環境執行,結果在重啟後於事件檢視器查看。佢的局限係測試模式較開機測試工具少,屬於快速初步篩查,唔係硬件認證級測試。實務上常見系統診斷通過、開機測試失敗的情況,因此系統診斷通過只可以寫成初步篩查未發現錯誤,唔可以寫成已經排除記憶體。正確分工係系統診斷作快速初步檢查,懷疑間歇錯誤或者系統診斷通過但凍結依舊時,轉用開機測試工具作更深入測試。
兩者共同的局限必須寫明:測試條件唔等於實際使用條件,測試時的溫度、電壓、負載模式同日常使用不同,邊緣化記憶體可以在測試中通過、在實際負載下出錯,反之亦然。測試只可以證明在測試期間出錯或者未出錯,唔可以證明永遠唔會出錯。錯誤可以來自非記憶體本身:處理器內建記憶體控制器、主板插槽氧化或者接觸不良、韌體時序過緊、電源不穩,都可以在記憶體測試中表現為記憶體錯誤。只換記憶體而唔檢查呢啲環節,可能換完仍然凍結。
單條同插槽交叉測試:點做先算有結論
交叉測試的邏輯係一張二維表,缺一格都未算完成:兩條一齊原組態出錯,要記錄錯誤地址同測試編號,進入單條測試;只留第一條插槽一出錯,懷疑第一條或者插槽一,換插槽再測;只留第一條插槽二仍然出錯,錯誤跟著第一條走;只留第二條插槽一同對照,判斷是否單條問題;只留第二條插槽二如果在兩插槽都出錯,第二條嫌疑最大。判讀規則係錯誤跟著記憶體條走,換插槽仍然在同一條上出現,該條嫌疑最大;錯誤跟著插槽走,換條後同一插槽仍然出錯,插槽、主板走線、記憶體控制器路徑嫌疑最大;單條各自通過、雙條一齊出錯,懷疑雙通道組態、時序、電壓、混用不同批次或者不同顆粒、韌體記憶體訓練問題,先回到標準預設再測。插槽氧化或者接觸不良方面,重插、清潔接點後再測,係低成本排除步驟;但筆電插槽拆裝有靜電同排線風險,文章要提醒非熟手者交由檢測處理,價錢寫以檢測後書面報價為準。
超頻設定不穩:超頻組態本身就是變量
機制要點係標準速度係保證,超頻設定檔係廠方設定檔。記憶體模組出廠時,內存同時存有標準速度同超頻設定檔;主板預設以標準速度開機,啟用超頻設定先會套用較高頻率、較緊時序同較高電壓。超頻超出標準,代表記憶體控制器都在超頻。頻率越高,對處理器內建記憶體控制器、主板走線、電壓穩定性的要求越高;同一套超頻組態在不同處理器個體、不同主板、不同韌體版本上的穩定性可以不同。時序唔係單一數字,多個時序互相牽制;只看頻率唔看時序,或者只抄別人的時序套用到自己機上,都可能令邊緣化組態在日常使用中間歇出錯。混用風險方面,兩條標示相同速度但不同批次、不同顆粒的記憶體,時序同電壓特性可以不同;主板以較保守或者較進取的一方統一設定時,另一方可能處於邊緣狀態。診斷基線係懷疑記憶體不穩時,第一步係關閉超頻設定、回到標準預設,再跑開機測試同日常重現測試。如果標準下穩定、超頻下出錯,問題就鎖定在超頻組態本身,或者該組態同現有處理器、主板的配合,而唔係記憶體一定壞;此時可以考慮降頻、放寬時序或者更換為廠方相容清單上的組態,具體數值必須按機種同記憶體廠方規格核對,唔可以憑空寫一組時序叫讀者照抄。筆電的特別提醒係唔少輕薄筆電的記憶體時序同電壓由韌體鎖定或者選項極少,讀者未必可以在韌體找到超頻開關;此時回到預設的操作可能係載入韌體預設值或者更新韌體後的記憶體再訓練,文章要按機種區分,唔可以假設所有筆電都有超頻選項。
焊死記憶體點算:無得換條,就要換思路
焊死記憶體指記憶體顆粒直接焊在主板上,無插槽可以換條。輕薄筆電、部分超薄機普遍採用呢種設計,以節省空間同功耗。對診斷的影響有幾點:第一,交叉測試失效,無得換條試,單條同插槽矩陣無法執行;只可以靠開機測試錯誤模式、韌體設定基線、混合組態測試來縮窄範圍,如果機種同時有焊死記憶體加一條插槽,可以試拔除插槽記憶體後只用焊死部分,或者反向測試。第二,開機測試仍然有價值,可以確認焊死部分在測試條件下是否出錯,並記錄錯誤地址範圍同測試模式,供主板級檢測參考;但錯誤地址無法直接對應到可以換的條,只可以對應到顆粒群組或者控制器路徑。第三,處理路徑只剩主板級,確認為焊死記憶體本體或者其供電、走線問題後,處理方式係主板級維修或者更換主板,視機種、損壞範圍、零件供應而定,價錢一律寫以檢測後書面報價為準,唔可以為焊死記憶體定價。第四,新興例外要提及但唔可以誇大:壓接式低功耗記憶體模組標準令部分新機種的記憶體可以更換,但並非所有筆電都有,舊機種亦無法改裝,文章唔可以寫成焊死記憶體都可以升級。第五,決策建議寫法係焊死記憶體出錯時,文章應該教讀者先做資料備份,因為主板級維修有資料風險,再記錄開機測試報告同事件紀錄、送檢評估主板級維修同換機的取捨,唔可以教讀者自行加熱、重焊或者拆顆粒。
儲存層:系統碟卡死點解全機凍結
讀者常問固態硬碟慢,最多咪程式載入慢,點會全機凍結。答案在於系統碟唔係普通資料碟:系統核心、登錄、驅動、虛擬記憶體分頁檔、系統服務的資料交換,全部依賴系統碟輸入輸出。當系統碟的輸入輸出佇列停頓,等待該輸入輸出的核心執行緒同用家執行緒會一併停住;如果停住的係負責畫面、輸入或者檔案系統的核心路徑,整個桌面就會表現為凍結,即使處理器本身並未滿載。硬分頁錯誤放大效應亦值得講:當程式需要的記憶體頁已經被換出至分頁檔,系統必須從系統碟讀回該頁先可以繼續;系統碟卡死時,大量程式會同時卡在等輸入輸出的狀態,凍結範圍由單一程式擴散至全機。應用程式停頓通常只卡一個程式,其他程式仍可以操作;系統碟輸入輸出卡死則傾向令多個程式、檔案總管、開始功能表一併無反應,而且硬碟活動指示可能長著或者全無活動,視卡死層次而定。
固態硬碟控制器停頓同韌體問題
控制器停頓的機制鏈係:固態硬碟控制器內部進行錯誤恢復時,例如重試讀取邊緣儲存區塊、垃圾回收、磨損平衡搬移,暫停回應主機的輸入輸出命令。主機的儲存驅動在等待命令完成;如果等待超出驅動或者系統的容忍範圍,延遲程序呼叫看門狗或者儲存逾時機制便可能介入。如果控制器最終恢復,系統可能只表現為一次長時間凍結後恢復;如果控制器未能恢復,系統可能需要重啟,固態硬碟在重啟後可能暫時恢復正常,令問題表現為間歇性。
韌體係控制器內部的程式;特定電源狀態轉換、特定命令序列、特定容量或者溫度條件下的韌體缺陷,可以令控制器在某些條件下先停頓,在其他條件下完全正常。呢個解釋咗點解同一型號固態硬碟,有人有事、有人無事:韌體版本、主機平台、電源設定、使用模式都影響觸發條件。診斷含義係懷疑韌體問題時,要記錄固態硬碟型號、韌體版本、主機韌體版本、事發條件,再核對固態硬碟廠方的韌體更新說明;唔可以憑型號 alone 斷定韌體有問題,亦唔可以把某一型號在虛擬化環境下的已知問題,直接套用到所有筆電凍結個案。引用個別型號案例時必須保留適用範圍限制,唔可以誇大為該型號固態硬碟都會令筆電凍結。
連結重訓同電源狀態:連結層出問題,系統層跟著卡
連結層係主機同固態硬碟之間的實體同協定通道;連結不穩時,系統會嘗試重訓或者重設,以恢復通訊。高速傳輸連結方面,固態硬碟經高速傳輸連接,連結速度、寬度、電源狀態都由主機同裝置協商。如果協商失敗或者訊號完整性不足,連結可能降速、重訓或者短暫中斷;主機端可以表現為已修正硬件錯誤,或者儲存輸入輸出逾時。傳統傳輸連結方面,連結錯誤常以傳輸循環冗餘錯誤計數反映,指向介面、接頭、控制器層,而唔係儲存本體。筆電無外置傳輸排線時,呢個計數的解讀要轉向主板連接器同控制器路徑,唔可以照抄桌機的換線建議。重訓本身唔係故障證明:偶發重訓並成功恢復,屬於連結層的自我修正;反覆重訓、降速後仍然不穩、伴隨輸入輸出逾時同凍結,先構成需要處理的連結問題。
筆電特別容易在閒置之後喚醒或者低負載轉入突發負載時凍結,電源狀態轉換係其中一條重要線索。傳輸連結在閒置時可以進入低功耗狀態,退出延遲視子狀態同實作而定。固態硬碟裝置可以自主按閒置時間轉入較低功耗狀態,喚醒時需要時間恢復至可以回應狀態。凍結機制係如果某控制器或者主機平台在低功耗狀態喚醒、電源狀態喚醒或者連結重訓的延遲處理上有缺陷,突發輸入輸出到達時,裝置未能在主機預期時間內回應,主機的儲存佇列便會停頓,進而觸發延遲程序呼叫逾時或者全機凍結。閒置後第一次操作特別容易觸發,因為裝置正處於最深的省電狀態。診斷性隔離唔係永久解法:在電源選項中關閉傳輸連結狀態電源管理,或者在韌體、電源計劃中改用較保守的電源設定,觀察凍結是否消失;如果消失,證據指向電源狀態轉換層,之後應該尋找廠方驅動或者韌體修正,而唔係長期關閉所有省電功能了事。文章要寫明關閉省電作測試同長期關閉省電係兩回事,前者係診斷,後者係取捨,會影響耗電、發熱、電池續航。電源狀態問題唔等於過熱,喚醒延遲凍結同高負載過熱降頻係不同機制,唔可以混寫。
健康紀錄:邊啲屬性先同凍結有關
原則係健康紀錄係歷史計數,唔係即時存活證明;凍結時健康紀錄正常,唔等於固態硬碟無問題;健康紀錄異常,亦唔自動等於凍結成因。
| 欄位 | 健康時應見到的樣子 | 同凍結的關聯 |
|---|---|---|
| 嚴重警告 | 零 | 任何位元被設定都應該解碼,包括備用空間不足、溫度超標、可靠性下降、唯讀模式等;非零唔自動等於凍結成因,但必須跟進 |
| 可用備用空間 | 接近初始值,高於門檻 | 跌至或者低於門檻,代表控制器可以用於替換壞塊的備用空間已耗盡,錯誤恢復能力下降 |
| 已用百分比 | 低而且緩慢上升 | 接近或者超過廠方耐用度邊界時,儲存磨損相關的錯誤恢復會更頻繁,間接增加輸入輸出停頓機會;但單憑已用百分比高,唔可以斷定凍結由磨損引起 |
| 媒體同資料完整性錯誤 | 零 | 非零而且持續增加,代表有未被修正的資料完整性錯誤,同輸入輸出卡死高度相關,必須優先處理 |
| 錯誤資訊紀錄項目 | 零或者可以解釋的已知事件 | 持續增加時,應該查看錯誤紀錄內容,而唔係只看計數 |
| 不安全關機次數 | 低而且唔快速上升 | 快速上升而且伴隨錯誤,指向電源或者關機路徑問題;但不安全關機本身都可以係凍結後強制關機的結果,因果方向要看時間線 |
明確唔應該亂列為凍結證據的屬性包括開機時數,只反映使用時間,本身唔係故障診斷;開關次數,只反映開關次數,高次數配低時數可能反映不穩,但唔可以單憑此斷定固態硬碟有問題;寫入量本身,只反映寫入量,必須對照型號的額定寫入量同已用百分比一併看,單獨寫入量高唔代表故障;溫度單次讀數,必須看是否持續超出型號門檻、是否伴隨節流或者錯誤紀錄,單次讀數在規格內時,唔應該列為成因;廠方自訂、未公開定義的屬性,不同品牌對同一編號的定義可以不同,未核對型號定義前,唔可以把某編號的數值寫成通用診斷標準。
健康紀錄的三大局限必須寫明:控制器停頓時,健康紀錄可能完全正常,因為健康紀錄記錄的係歷史計數,控制器即時停頓唔回應輸入輸出時,唔一定會即時更新任何計數,事後重啟,健康紀錄可能仍然顯示健康。健康紀錄正常唔等於韌體無問題,韌體缺陷可以在健康計數上完全無痕跡,只在特定命令序列或者電源狀態下觸發。健康紀錄異常唔等於凍結成因已證明,例如已用百分比高的固態硬碟仍然可以長期穩定運作,必須有時間線配合,先可以把健康紀錄異常同凍結連結。
分頁檔同休眠檔:點解會凍結,點處理先安全
分頁檔係虛擬記憶體的後備儲存,系統的認可上限為實體記憶體加所有分頁檔之和。如果認可量達到上限,系統同程式可能凍結、當機或者運作異常。分頁檔頁損毀的訊號有案例顯示,記憶體管理員在執行分頁讀入時偵測到分頁檔頁損毀,讀回的資料同原先寫入的不符,並指出資料可能在儲存堆疊或者裝置硬件層被破壞,寫文章時只可以作可能訊號示例,唔可以寫成所有凍結都有此訊號。處理原則係唔好為節省空間而刪除分頁檔,分頁檔同時支援認可上限同當機傾印檔寫入;刪除後,記憶體壓力大的場景更容易凍結或者當機,而且完整傾印檔可能無法寫入,令事後診斷失去證據。一般情況下讓系統管理分頁檔大小,手動縮小或者移到其他磁碟屬於進階操作,需要確保仍然有足夠空間寫入傾印檔,而且目標磁碟本身穩定。懷疑分頁檔損毀時,先備份資料,再按官方指示重建分頁檔,唔可以在系統正常運作時直接刪除正在使用的分頁檔。
休眠檔同快速啟動方面,休眠時,系統把記憶體內容寫入休眠檔後完全斷電,恢復時再讀回。快速啟動亦使用同一檔案的部分機制。因此休眠檔損毀、休眠過程中外置儲存裝置被改動、休眠後硬件組態改變,都可能令恢復後出現資料不一致或者凍結。官方支援文件指出的一個具體情境係休眠後如果把儲存裝置接到另一部電腦改動,再接回原機恢復,可能導致資料損毀或者不一致。診斷性隔離係關閉休眠作測試,觀察凍結是否只在休眠或者快速啟動恢復後出現。如果關閉後凍結消失,證據指向休眠或者恢復路徑,之後可以考慮重建休眠檔、更新儲存或者晶片組驅動或者韌體,而唔係長期關閉休眠了事,除非用家本身唔需要休眠。休眠檔重建同分頁檔一樣,必須先備份,操作前後要記錄設定變化。傾印檔寫入失敗的連鎖影響值得講:如果分頁檔設定不當、系統碟空間不足或者系統碟本身在當機時已經無法寫入,傾印檔可能寫入失敗,事後只見核心電源事件而無錯誤檢查或者傾印檔,診斷鏈就會斷裂。因此,調查凍結或者重啟時,傾印檔設定本身就是檢查項目:確認啟動及修復中的寫入除錯資訊設定、分頁檔是否位於系統磁碟、磁碟可用空間是否足夠。文章要把呢一點寫成檢查表,而唔係事後先發現無傾印檔可以查。
供電層:最容易被誤判為系統問題的一層
系統需要的功率,可以大過充電器標示的功率
廠方文件明確記載了混合供電設計:部分高效能系列在極重負載下,系統可以同時由電池補充電源,以維持完整效能而不降頻;文件寫明電池在插電下仍然可以緩慢下降,而當電量低於某個水平時混合供電會停用,之後可能出現窒滯或者降頻。呢一點對文章至關重要,因為佢推翻了一個常見直覺:插住電就等於唔關電池事。事實上,在設計上,電池在重負載時本來就是供電路徑的一部分。由此可以推導:如果充電器功率不足,系統在輕負載時可能完全正常,一到重負載就由電池補電;電池本身如果再老化,補電能力一到極限,系統就可能凍結或者重啟。如果電池已經老化到補唔到電,症狀會表現為插電都照樣死機,容易被誤判為主板壞或者系統壞。文章寫法必須寫明混合供電係廠方文件針對上述系列的設計描述,唔可以寫成所有品牌都一定如此。其他品牌有沒有同類設計,要以該品牌該型號的官方文件為準,未查到就唔好代入。
充電器功率不足:唔係充得慢咁簡單
充電器標籤的輸出功率,係電壓乘電流的結果,例如二十伏特乘三點二五安培等於六十五瓦;讀標籤時要同時看電壓、電流同傳輸供電檔位,唔係只看盒面大字。功率不足的充電器,未必完全充唔到電;佢可能在輕負載時照常充電,一到重負載就無餘力同時供電加充電,甚至出現系統充電緩慢或者放電中的提示。文章要提醒讀者:見到充電圖示,唔等於充電器合乎該機在重負載下的需求。線材本身都係功率路徑的一部分:傳輸線的功率承載能力同傳輸速度係兩個獨立規格,未標示功率的線唔應該假設可以承載充電器的最大輸出;診斷時應該先用跟機線或者跟充電器線直插,排除經擴充座、集線器、螢幕供電再分流的情況。部分機種會用識別腳或者識別訊號去認充電器型號;認唔到時,系統可能調低效能以配合可用功率,或者出現未能確定充電器功率及類型的警告。文章唔可以把任何一個型號的警告字句寫成通用字句,只可以寫部分機種會有類似提示,以該機實際顯示為準。
電池內阻高:有電量,唔等於有供電能力
電池老化的關鍵唔只係容量下降,而係內阻上升。內阻的基本關係係:負載電流流經內阻時會在電池內部產生電壓降,終端電壓因此低於開路電壓;電流越大,電壓降越大;內阻越高,同一電流下的電壓降越大。原理示範數字說明:如果系統最低工作電壓同電池電壓之間只剩零點四伏特餘量,總電阻五十毫歐時理論上可以承受八安培,電阻升至一百毫歐時只剩四安培;電池的化學容量並無改變,改變的係供電路徑的壓降。文章引用此例時,必須標明呢個係原理示範數字,唔係任何一款筆電電池的實測值。
再進一步的機制係:電量高時,電池開路電壓較高,同一壓降之後仍然高於系統最低電壓,系統可以撐住。電量低時,開路電壓本身已經較低,再扣同一壓降,隨時跌穿最低電壓,系統就會在仍然有電量顯示的情況下突然關機或者重啟。對應到症狀:電量仲有三四成,一開重負載程式就死機,在機制上符合內阻加壓降的組合,但文章只可以寫符合,唔可以寫一定係電池;供電晶片、充電口、主板供電同樣可以造成類似壓降,必須用交叉測試分層。閒置無事,一跑程式就重啟,同樣要先問係供電、功耗牆定係散熱瓶頸,唔可以只憑一跑就死就換件。
充電口鬆動或者間歇斷電:最細微但最誤導的一層
充電口鬆動、線材插頭磨損、接口內部接觸不良,會造成供電在極短時間至秒級之間反覆中斷。系統層面會見到充電燈閃爍、充電狀態在充電中同使用電池之間跳動、輕微郁動機身或者充電線,症狀即時出現或者消失、只在某一角度、某一接口先穩定。文章要講明:間歇斷電唔一定每次都導致即時重啟。如果中斷時間極短,電池可以短暫頂住,系統只表現為一瞬窒滯;如果中斷時間較長或者電池本身已經老化,系統就可能凍結或者重啟。診斷上,充電口問題同充電器問題、電池問題的症狀高度重疊,必須用交叉測試分開,唔可以憑郁一郁就死就斷定係充電口。
主板供電:穩壓器同電源管理晶片老化
主板供電唔係一個充電器概念,而係由多組供電電路把輸入電壓轉換成處理器、圖形處理器、記憶體等各自需要的電壓。廠方文件指出,電流限制節流的常見原因包括處理器最大電流設定過低、主板穩壓器電流限制在韌體設定過低、主板本身未能為該處理器提供足夠電流。同一文件又指出,處理器有兩種熱保護模式:降頻同自動關機;當降頻仍然未能把溫度壓下來,例如散熱方案失效或者裝配不當,處理器會自動關機以防永久損壞。
文章的寫法要點係:穩壓器或者電源管理晶片老化、電容特性變化,會令供電在突發負載下不穩:電壓未必長期偏低,而係瞬間跌穿容許範圍,系統因此凍結或者重啟,但平時量度又可能顯示正常。呢一層同充電器、電池層的最大分別係:換了合規格充電器、拔走電池交叉測試後,症狀仍然存在,而且同負載同步,先較大機會指向主板供電層;未做交叉測試之前,唔可以直接跳到主板結論。嵌入式控制器供電邏輯屬於同一層的控制面:嵌入式控制器負責低層硬件功能,包括電源管理;如果嵌入式控制器對供電狀態的判斷或者切換出錯,系統可能在插電、電池切換、睡眠喚醒、充電狀態轉換時凍結或者重啟。
供電交叉測試:用換一件、隔一件分層,唔好一次換晒
以下測試的原則係每次只改變一個變量,而且全部係唔拆機、用家可以安全做的層面;凡涉及拆底蓋、拔內置電池、拆主板,一律歸入送檢,文章唔可以叫讀者自己做。
| 測試 | 做法(唔拆機層面) | 結果點解讀 |
|---|---|---|
| 換充電器加換線 | 用同型號合規格的原廠或者同功率檔位充電器加跟機線直插,唔經集線器或者擴充座 | 症狀消失,原充電器或者線材層嫌疑最大;症狀不變,問題唔在該充電器或者線材,繼續向下分層 |
| 換插座、換位置 | 換另一個已知正常的插座,排除拖板、鬆插座、供電不穩的外部變量 | 只在某插座出事,先處理外部供電;所有插座都出事,繼續分層 |
| 只用電池、只插電對照 | 在可以安全操作的情況下,對照插電同只用電池兩種狀態下症狀是否相同;部分機種內置電池唔可以由用家拆走,文章必須寫明只限可以拆電池機種或者送檢時由技師操作,唔可以叫讀者拆內置電池 | 只插電出事、只用電池無事,充電路徑嫌疑較大;只用電池出事、插電無事,電池層嫌疑較大;兩種都出事,問題較大機會在主板供電、散熱、功耗牆或者主板層 |
| 減負載對照 | 關閉重負載程式、拔走外置裝置,只做輕量文書,觀察症狀是否同步消失 | 只在重負載出現,供電餘量、功耗牆、穩壓器層嫌疑較大;輕負載都出現,供電間歇、嵌入式控制器、主板間歇層嫌疑較大 |
| 郁動對照 | 輕微郁動充電線、機身角度,唔拍打、唔壓機身,觀察症狀是否即時跟隨郁動 | 即時跟隨,接口、排線、接觸層嫌疑較大;同郁動無關,繼續向溫度、負載、嵌入式控制器方向分層 |
散熱同降頻層:處理器溫度正常,唔等於散熱或者供電無問題
坊間文章多數只講溫度高就降頻,本篇要講四面牆並存:溫度牆以最高結溫或者處理器過熱保護為代表的溫度上限;功耗牆以持續功率上限同短時間爆發功率上限為代表,爆發期過後要回落至持續上限;電流牆以最大電流、持續電流、峰值電流為代表的電流上限,廠方文件把穩壓器電流限制列為電流節流的原因之一;主板穩壓器牆以主板供電電路本身的溫度、電流上限為代表,有維修知識文章指出,如果主板有回報穩壓器溫度,就應該同時看該數值,唔可以只看處理器核心溫度。
文章要講明:四面牆之中任何一面先到頂,系統都會降頻;降頻本身係保護,唔係故障。但當降頻仍然未能穩住系統,例如供電本身不穩、穩壓器持續過熱、保護電路觸發,系統就可能由變慢升級為凍結或者重啟。文章唔可以寫溫度一到某度就一定凍結,因為觸發點因型號、韌體、供電設計而異;要寫溫度數字本身唔係診斷,溫度加功耗加電流加穩壓器狀態四個數字一齊看先係診斷。
點解過熱有時表現為凍結,而非關機,關鍵係廠方文件的兩段式保護邏輯:先降頻把溫度壓回設定點以下;如果降頻仍然壓唔住,例如散熱方案失效或者裝配不當,處理器會自動關機以防永久損壞。由此可以推導出中間狀態:輕微超限係降頻,表現為變慢、窒滯;持續超限但未觸發關機,系統在降頻同負載之間反覆拉扯,某些對時序敏感的程式、驅動、電源狀態切換可能在呢個不穩定區間停住,表現為凍結;供電保護觸發方面,供電電路的過流或者欠壓保護一旦觸發,系統可能直接重啟,而唔經過系統的正常關機程序,於是留下核心電源事件而且錯誤檢查碼為零的紀錄。
風扇或者散熱膏之外的散熱瓶頸值得指出,但本篇唔寫清塵換膏教學。穩壓器散熱瓶頸方面,穩壓器區域如果無足夠散熱片或者氣流,即使處理器溫度顯示正常,穩壓器仍然可以先到頂;維修知識文章提醒要看主板穩壓器溫度如果有回報,而唔係只看處理器溫度。機身內部氣流瓶頸方面,出風口被遮擋、長期放在軟面上面使用、機底貼近桌面散熱不良,都會令整機熱累積;文章只可以寫使用環境層面的提醒,唔可以寫成拆機教學。功耗牆瓶頸方面,即使散熱正常,如果韌體或者系統把持續功率同爆發功率設得較低,系統在持續負載下仍然會降頻;反過來,把功耗牆調高而不改善供電同散熱,只會令問題更早出現。文章唔可以教讀者自行改功率上限,理由係不同機種的韌體選項同風險不同,改錯可能令系統更不穩;正確寫法係送檢時技師會對照原廠設定去判斷功耗牆是否異常。
只睇溫度軟件就斷症,係本篇要點名糾正的陷阱。溫度軟件通常只顯示處理器或者圖形處理器核心溫度,未必顯示穩壓器、電源管理晶片、充電電路的溫度。溫度係取樣值,唔係連續波形;一次瞬間壓降、一次保護觸發,未必會在溫度曲線上留下痕跡。正確的記錄方法係同時記錄症狀時間、負載狀態、插電狀態、風扇狀態、事件檢視器紀錄,再交畀技師對照;單一溫度截圖唔可以斷症。
主板同嵌入式控制器層:時好時壞,往往係間歇性問題
嵌入式控制器係咩:唔係驅動程式,係低層控制器
廠方官方說明指出,嵌入式控制器係負責管理低層硬件功能的微控制器,包括按鍵輸入、電源管理等;重設嵌入式控制器可以清除並重新啟動呢啲硬件元件的狀態,處理暫時性的硬件失靈或者無反應。官方支援討論亦指出,嵌入式控制器逾時事件的訊息原文係嵌入式控制器在指定時限內未有回應,可能表示嵌入式控制器硬件或者韌體有錯誤,或者韌體存取嵌入式控制器的方式不正確,建議向電腦製造商查詢升級韌體;在某些情況下,此錯誤可能令電腦運作不正常。另一份廠方官方說明補充:如果嵌入式控制器逾時只在硬件監測軟件運行時出現,關閉監測軟件後不再出現,通常同監測軟件讀取嵌入式控制器感應數據有關,未必表示嵌入式控制器、韌體或者主板硬件有問題。
文章的寫法要點係:嵌入式控制器逾時出現,唔等於嵌入式控制器壞;要先分只在監測軟件開住時出現同平時使用都出現兩種情況。嵌入式控制器停頓的症狀可以係電源鍵無反應、充電狀態錯亂、風扇或者鍵盤失靈、睡眠喚醒失敗、系統在電源狀態轉換時凍結。文章要寫明呢啲症狀都可以由其他層引起,嵌入式控制器只係其中一個可能層,唔可以寫成有嵌入式控制器逾時就等於要換主板。嵌入式控制器重設的方法因品牌、型號而異:有廠方針對手提遊戲裝置的說明係拔走充電器、長按電源鍵一段指定時間至指示燈閃爍、再插回充電器開機;另一廠方支援討論提到的硬重設係關機、拔走交流電源、長按電源鍵一段指定時間。文章必須寫明方法以該品牌該型號的官方說明為準,唔可以把某一品牌的秒數套用到所有機,而且重設嵌入式控制器唔可以解決硬件損壞,只可以排除暫時性控制器狀態問題。
嵌入式控制器韌體停頓的歷史例證:用來講機制,唔用來斷症
歷史技術文件記載了一個歷史性的筆電嵌入式控制器韌體問題:進階電池查詢功能有缺陷,可以令嵌入式控制器行為異常甚至令整部筆電停住;部分型號在某韌體版本之後已經修復,部分型號則無修復。文章引用此例的目的只有一個:證明嵌入式控制器韌體缺陷確實可以在機制上令整機停住,而唔係證明今日所有凍結都係嵌入式控制器韌體問題。今日機種的嵌入式控制器韌體狀態,必須以該品牌該型號的韌體更新說明為準,未查到就唔好寫。
主板間歇短路或者虛焊:點解會時好時壞
冷焊的基本定義係焊料未完全熔化或者未能良好沾附,導致接點機械強度弱、電氣接觸不穩。其症狀包括間歇性開機或者供電不穩、訊號時有時無、受溫度變化影響而表現不同。冷焊指南進一步指出機制:冷焊接點在電路板受熱時,因為熱膨脹令電路板彎曲,可以令脆弱的接合短暫分離;接觸電阻高會產生局部熱損耗;震動亦可以令脆弱接點疲勞斷裂。另一份指南亦指出,冷焊接點可能在快速測試中表現正常,之後在發熱、震動、濕度或者溫度循環改變接觸電阻、電流負載增加時先失效。
對文章的意義係:早上開機無事,用到下午發熱先死機,熄一陣又無事,在機制上符合熱脹冷縮令虛焊接點時通時斷,但文章只可以寫符合,唔可以寫一定係虛焊;供電、穩壓器、嵌入式控制器同樣可以有溫度相關的表現。間歇短路一詞要小心使用:文章應該寫間歇性接觸不良或者間歇性短路嫌疑,而唔係斷定已經短路;真正短路往往伴隨無法開機、燒焦味、保護電路即時觸發等更嚴重的表現,同單純凍結或者重啟不同。排線或者接口間歇接觸不良的機制同虛焊類似:排線插座鬆動、氧化、受壓變形,會令訊號或者供電在某一角度、某一溫度下先中斷;系統對某些訊號中斷的反應可以係凍結,而唔係即時關機。
主板層點確診:最小系統、排除法、量度思路,只限技師
文章唔可以寫拆機量度教學,但可以寫送檢時的診斷邏輯,令讀者理解點解換記憶體、換固態硬碟、重裝系統未必等於確診。第一,最小系統:每次只保留開機所需的最小組合,逐件加回,觀察症狀是否跟隨某件出現。呢個係排除法的骨架,同供電交叉測試同一思路,只係範圍擴展到內部零件。第二,排除法:充電器、電池、記憶體、儲存裝置、外置裝置逐層排除後,症狀仍然存在而且同主板供電、嵌入式控制器、溫度相關,先較大機會指向主板層;未排除之前,唔可以跳到主板結論。第三,量度思路,只限技師:技師會用儀器觀察供電電壓在負載下的穩定性、檢查有無間歇壓降、對照原廠線路邏輯去判斷係供電晶片、嵌入式控制器定係接點問題。文章只可以寫到呢個抽象層次,唔可以寫具體量度點、電壓數值、示波器設定、拆焊步驟。第四,溫度或者震動對照,只限技師:技師在受控條件下觀察症狀是否跟隨溫度變化或者輕微受力而出現或者消失,作為間歇性接點問題的佐證;文章必須加警示:用家自行拍打、按壓、加熱機身,可能令裂紋擴大或者焊盤脫落,令可以修變成唔可以修,唔可以模仿。
症狀同層次對照:分層總表
| 層次 | 核心機制 | 最有指向性的線索 | 先做邊個隔離測試 |
|---|---|---|---|
| 驅動同韌體層 | 顯示驅動超時恢復、延遲程序呼叫拖慢、驅動死鎖、韌體已知問題 | 症狀始於某次更新之後;安全模式或者乾淨啟動下減輕;事件有驅動相關紀錄 | 回退或者乾淨安裝單一驅動;揭示被藏起的藍屏 |
| 記憶體層 | 記憶體錯誤落入核心路徑、時序邊緣、超頻組態不穩、焊死記憶體問題 | 開機測試有錯誤;錯誤跟著記憶體條或者插槽走;標準設定下穩定、超頻設定下出錯 | 關閉超頻設定回到標準;開機測試多輪數;單條同插槽交叉測試 |
| 儲存層 | 系統碟輸入輸出卡死、控制器停頓、連結重訓、電源狀態喚醒延遲、分頁檔或者休眠檔問題 | 多個程式一併停頓;閒置喚醒後先出現;健康紀錄有完整性錯誤或者錯誤紀錄上升 | 讀健康紀錄趨勢;關閉傳輸連結電源管理作診斷;關閉休眠或者快速啟動作隔離 |
| 供電層 | 充電器功率不足、電池內阻壓降、充電口間歇斷電、主板供電不穩 | 症狀同重負載同步;同插電或者電池狀態相關;郁動充電線即時有變化 | 換合規格充電器加跟機線直插;插電同電池對照;減負載對照;郁動對照 |
| 散熱同功耗牆層 | 溫度牆、功耗牆、電流牆、穩壓器牆其中一面先到頂;降頻後仍然不穩 | 持續負載後先出現;風扇全速仍然凍結;處理器溫度正常但症狀依舊 | 同時記錄溫度、功耗、電流、穩壓器狀態;對照原廠功耗設定 |
| 主板同嵌入式控制器層 | 嵌入式控制器停頓或者逾時、虛焊或者排線間歇接觸、供電晶片間歇問題 | 症狀同溫度變化或者輕微受力相關;電源狀態轉換時出事;其他層全部排除後仍然存在 | 送檢最小系統排除法;技師量度思路;溫度或者震動對照,只限技師 |
分層排除流程:由外到內,唔好跳層
| 步驟 | 做咩 | 排除邊一層 | 做到邊一步、見到邊個結果先算有結論 |
|---|---|---|---|
| 1. 備份 | 最重要檔案分小批複製去另一裝置並驗證 | 資料風險,唔係故障層,但行先 | 檔案可以正常開啟先算備份完成 |
| 2. 定性症狀 | 記錄凍結類別、重現條件、插電狀態、負載狀態、郁動有無影響 | 建立分層證據,避免憑印象判斷 | 可以講出邊類凍結、邊個條件先出現先算完成 |
| 3. 抄紀錄 | 事件檢視器抄低重啟時間點前後的事件,唔好先清紀錄 | 區分有錯誤檢查定係無錯誤檢查的重啟 | 抄到核心電源事件細節欄位同事發前事件先算完成 |
| 4. 揭示藍屏 | 取消自動重新啟動作診斷,抄低停止碼 | 被自動重啟藏起的錯誤檢查 | 下一次出事停在藍屏並抄到停止碼,或者確認屬於無藍屏的硬凍結 |
| 5. 驅動基線 | 逐一回退或者乾淨安裝可疑驅動,每次只改一個 | 驅動層 | 三個版本下模式完全不變,先可以轉向硬件層 |
| 6. 記憶體基線 | 關閉超頻設定回到標準,再跑開機測試多輪數,再做交叉測試 | 記憶體層 | 多輪數測試加交叉測試有完整結果先算完成 |
| 7. 儲存基線 | 讀健康紀錄趨勢、核對韌體版本、做電源狀態同休眠隔離、檢查分頁檔同傾印檔設定 | 儲存層 | 趨勢同隔離結果齊全先算完成 |
| 8. 供電交叉測試 | 換合規格充電器、換插座、插電同電池對照、減負載對照、郁動對照 | 供電層 | 每個測試只改一個變量,結果逐項記錄先算完成 |
| 9. 韌體,最後先動 | 只有廠方更新說明對應症狀,或者前幾步已經排除驅動、記憶體、儲存時,先按安全清單更新韌體 | 韌體層 | 更新後重新核對設定並做重現測試先算完成 |
| 10. 送檢資料包 | 凍結類別、重現條件、事件紀錄、開機測試報告、健康紀錄、驅動版本時間線、已試過的隔離步驟同結果 | 主板同嵌入式控制器層等需要專業工具的層次 | 資料包齊全,檢測先可以快速定位 |
香港情境:潮濕、通勤、溫差結露、副廠充電器功率問題
潮濕:接點氧化同間歇接觸不良的溫床
香港天文台一九七一至二零零零年的月平均數據顯示,香港全年平均相對濕度約七成八,五至八月的月平均相對濕度分別為八成四、八成二、八成一、八成二。文章引用時必須標明年份範圍同月平均性質,唔可以寫成今日濕度或者全港即時濕度。
潮濕對電路板的機制係:基板會吸濕,濕氣可以令介電特性退化;在有偏壓的情況下,濕氣可以令離子在導體之間移動,形成枝晶,最終造成短路。溫度急變造成的結露,會把水帶到板面;水同助焊劑或者焊膏殘留的離子結合,可以腐蝕線路同元件;有文章以化學式說明,二氧化硫遇水可以形成硫酸,腐蝕銅線路。
文章的寫法係:潮濕唔係入水的同義詞。長期高濕環境下,接點氧化、接觸電阻上升、間歇接觸不良的機會較高,但文章唔可以寫香港潮濕所以一定係氧化,必須寫潮濕係其中一個令間歇問題更易出現的背景因素,確診仍然要靠分層。
通勤震動或者擠壓:排線鬆、焊點疲勞的背景因素
冷焊指南指出,震動可以令脆弱接點疲勞斷裂,汽車或者航太應用尤其受震動影響;另一份指南亦把震動列為冷焊失效的觸發條件之一。對應到香港日常使用:每日背包通勤、港鐵擠壓、機身受壓、開合螢幕次數多,都屬於反覆輕微受力的背景;呢啲受力本身唔一定即時造成損壞,但對已經老化或者虛弱的接點、排線插座而言,可能係令間歇問題由偶爾變成經常的推手。文章要避免寫搭港鐵震壞主板呢種肯定句;正確寫法係長期震動或者擠壓係間歇問題的可能背景因素之一,症狀是否跟隨郁動而變化,先係診斷線索。
香港夏天高溫加冷氣房溫差結露
結露的物理條件係物件表面溫度低於周圍空氣的露點,空氣中的水汽就會在表面凝結。測試環境的故障案例指出,當試件表面溫度低於環境內空氣露點,升溫階段會出現明顯水滴,絕緣電阻可以由正常值大幅下降。文章引用此例時,必須標明呢個係測試環境案例,唔係筆電實測數據;用來講結露機制,唔用來斷症。
對應到日常情境:冷氣房低溫乾燥同室外高溫高濕之間來回,機身由冷變暖的過程中,表面同內部接口有機會短暫結露;如果機身隨即開機使用,潮濕接口的接觸狀態可能短暫不穩。文章的實用提醒只可以寫到由冷氣房帶到室外後,先讓機身回溫、抹乾表面水汽再開機呢類唔拆機的預防層面,唔可以寫結露一定會燒主板。
本地零件現實:原廠充電器同副廠功率問題
原廠充電器的價值唔在品牌,而在電壓、電流、傳輸供電檔位、識別訊號四者同該型號原廠規格一致;副廠充電器的風險唔在副廠二字,而在標示同實際輸出不符、檔位不齊、識別訊號不合,令系統在重負載下供電不足。文章唔可以寫任何副廠品牌的負面評價,唔可以寫副廠一定壞機;正確寫法係買充電器時要對照原廠規格的輸出標籤同傳輸供電檔位,標示不清、無檔位說明的產品唔應該視為同等替代。價錢寫法方面,充電器本身、充電口、電源管理晶片、嵌入式控制器、主板供電維修,全部寫以檢測後書面報價為準;只有電池、螢幕、主板晶片級、鍵盤四項可以用已確認價錢。
常見誤診同陷阱:最貴的錯誤
| 誤診 | 點解錯 | 正確做法 |
|---|---|---|
| 一味重裝系統 | 重裝可以掩蓋硬件問題;負載模式、驅動版本、電源設定改變後,症狀可能短暫消失,之後在同一負載或者同一溫度下再次出現;讀者會誤以為重裝修好又壞過,其實根本未修到層 | 重裝前先備份;重裝後症狀消失唔代表確診,要觀察症狀是否在同一觸發條件下重現,先算分層完成;乾淨啟動只係用來排除第三方軟件干擾的工具 |
| 亂換記憶體或者固態硬碟 | 記憶體、固態硬碟故障確實可以造成凍結或者重啟,但供電不穩、穩壓器不穩同樣可以令記憶體或者儲存裝置在讀寫時出錯,表現極似記憶體或者固態硬碟壞 | 未做交叉測試、未看核心電源事件的錯誤檢查碼、未對照負載同插電狀態之前就換件,換完症狀不變,就會浪費零件錢,而且可能把原本正常的零件換走,令後續診斷更難;換件係驗證手段,唔係診斷本身 |
| 將供電問題誤判為系統問題 | 典型誤判鏈係無錯誤畫面,以為系統壞,重裝,症狀重現,以為系統再壞,再重裝 | 打破誤判鏈的關鍵線索係核心電源事件而且錯誤檢查碼為零、症狀同重負載同步、症狀同插電或者電池狀態相關;系統問題通常有較一致的觸發條件,供電問題則較多同負載、溫度、郁動同步,兩者重疊時,要用交叉測試分開,唔可以憑單次症狀斷症 |
| 將驅動問題誤判為主板壞 | 驅動問題的特點係症狀往往在驅動更新、系統更新、接駁某裝置之後開始,而且在安全模式或者乾淨啟動下症狀減輕或者消失 | 主板層問題的特點係症狀同驅動版本無關,換系統、換驅動、乾淨啟動都無改善,而且同供電、溫度、郁動相關;兩者的分界唔係有無試過更新驅動,而係更新驅動、乾淨啟動、安全模式之後,症狀在同一觸發條件下有無重現 |
| 只睇溫度軟件就斷症 | 溫度軟件的取樣間隔、感應器位置、主板有無回報穩壓器溫度,都會影響結論 | 溫度唔高唔代表供電同功耗層無問題;處理器溫度唔高,唔代表供電同功耗層無問題;要同時記錄症狀時間、負載、插電、風扇、事件紀錄 |
| 見到核心電源事件就斷定電源壞 | 該事件只係上次無正常關機的結果紀錄,唔係成因 | 先看細節欄位,再向前追蹤事發前事件 |
| 健康紀錄正常就排除固態硬碟 | 健康紀錄係歷史計數,控制器停頓可以無痕跡 | 健康紀錄正常只代表計數上未見異常,要配合輸入輸出卡死重現同電源狀態隔離判斷 |
| 開機測試跑一次無錯就排除記憶體 | 間歇錯誤可以喺較後輪數先出現 | 至少多輪數,間歇錯誤要過夜,單次通過只屬於初步篩查 |
| 更新韌體就會好 | 韌體更新只修正已知問題,而且有寫入中斷風險 | 只有廠方更新說明對應症狀、而且已經排除其他層時,先按安全清單更新 |
| 關閉超時偵測或者改登錄機碼就唔會再黑屏 | 停用偵測會令停頓的圖形處理器變成硬凍結 | 調高門檻或者停用偵測唔係修復,只會掩蓋問題 |
| 硬件錯誤事件就等於處理器壞 | 硬件錯誤來源可以係處理器、快取、記憶體、傳輸裝置、電源傳遞 | 看元件、錯誤來源、裝置識別分流,唔可以單憑標題斷定 |
整、換、升級決策框架:機齡乘故障層乘維修成本乘資料價值
凍結或者重啟前先備份,必須放在決策之前,唔係之後
無預警凍結或者重啟的最大風險唔係用唔到,而係未儲存的資料遺失同在寫入過程中斷電。核心電源事件的定義本身就是未正常關機就重啟,即系統未及完成正常關機程序。文章必須在診斷章節之前、用顯眼位置寫明:一出現反覆凍結或者重啟,第一件事係備份重要資料,唔好等到試多幾次睇下會唔會自己好返。備份時要避免在同一部不穩定的機上反覆讀寫大檔案;如果機身已經頻繁死機,應該先以最穩定的方式盡快複製最重要檔案,之後再做完整備份。備份完成之前,唔好做重裝系統、換件、改韌體等可能令資料更難取回的操作。
四維決策表
| 維度 | 傾向整的信號 | 傾向換或者升級的信號 |
|---|---|---|
| 機齡同整機狀態 | 機齡較新、其他功能正常、電池同螢幕狀態尚可 | 機齡較舊、多處同時老化,電池、鍵盤、螢幕、接口同時出問題、已經多次維修同一層 |
| 故障層 | 充電器或者線材層、電池層、鍵盤層等外圍或者可以換件層 | 主板供電、嵌入式控制器、虛焊層,而且需要主板晶片級維修仍然未能穩定,或者間歇問題無法重現、無法確診 |
| 維修成本區間 | 已確認四項以內的範圍,而且維修後可以恢復穩定使用 | 除已確認四項外的一切維修,一律以檢測後書面報價為準;如果書面報價接近換機成本,或者需要多次返修同一層,就要認真比較換機 |
| 資料價值同轉移成本 | 資料已經備份、轉移容易、舊機仍然有特定軟件或者接口需求 | 資料未備份而且只在舊機內、轉移需時、舊機效能已經追唔上日常工作,換機同時解決效能同穩定兩個問題 |
價錢方面,本文只用已確認的價錢。電池更換 HK$580 起;螢幕更換 HK$1,280 起;主板晶片級維修 HK$880 起;鍵盤更換 HK$480 起。其他項目一律以檢測後書面報價為準。想了解收費範圍,可以睇返收費參考;想預約檢測,可以經免費初步檢測預約了解安排,檢測嗰陣亦可以順便問埋檢測安排同埋收費參考。如果分層之後仍然未有結論,建議帶齊症狀紀錄同充電器,經免費初步檢測預約送檢,檢測人員可以由正確的層次開始,唔使由頭估。
三條決策紅線
第一,資料未備份,唔好急住整:先備份,後診斷,後維修。第二,間歇問題未重現,唔好急住判死刑:間歇問題的特點就是時好時壞,一次檢測無事唔代表無問題;要以時間軸紀錄加交叉測試加送檢排除法三者一齊判斷。第三,同一層修完又再出現,唔好無限換件:如果充電器、電池、記憶體、系統都換過或者重裝過,症狀仍然在同一觸發條件下重現,就要停下來重新分層,而唔係繼續換下一件。
幾時應該即刻送檢
以下信號出現任何一個,應該停止自行測試,即刻送檢。第一,電池脹包,或者機殼被頂起,立即停用,唔好繼續充電,唔好自行拆解。第二,聞到發熱異常、化學氣味或者見到漏液。第三,系統完全認唔到電池。第四,換啱充電器、輕負載之下,關機規律完全不變。第五,凍結或者重啟伴隨燒焦味、異常聲響,或者機身局部異常發熱。送檢時帶齊四樣嘢:症狀日記,包括凍結類別、重現條件、百分比、負載、插電狀態、溫度、頻率;原裝或者同等瓦數的充電器;事件檢視器紀錄或者截圖;開機測試報告同健康紀錄,如果已經做過。檢測人員可以由正確的層次開始,唔使由頭估。想預約檢測,可以經免費初步檢測預約了解安排;想先了解收費範圍,可以睇返收費參考。
Laptop King 位於沙田石門達利廣場 1209 室,電話 +852 2186 8010,WhatsApp +852 6558 6806,營業時間 12:00–19:00。凍結同重啟的進階分辨,重點永遠唔係換邊個零件最快,而係先證明邊一層出事,再決定換邊個零件。備份行先,一次只改一個變量,抄低紀錄先改設定,咁先可以喺復發時追得返。
