工程師思路系列・事出必有因
八年的電腦,與工程師的停損點
版本二|完整脈絡版(含系統紀錄附註)
起點:八年似乎是電腦的壽命上限
這兩天處理了兩台出廠、售出八年多的電腦:ASUS ESC500 G4 工作站,與 ASRock DeskMini 110 迷你電腦。
ESC500 G4 全板固態電容,卻徹底不開機,無過電反應。DeskMini 110 開機無畫面,修整後換了好幾種 USB Live Linux,結果都一樣:不定期當機,而 CPU 與主機板溫度感應器的數值看起來都正常。
為什麼溫度正常,機器還是會死
這兩台我當年都做過熱處理:ESC500 G4 售出時為 PCH 加裝直吹的 8 公分風扇;DeskMini 110 拆下散熱器重塗散熱膏,把溫度壓在 40~60°C。熱的變因幾乎被排除,機器仍然走到終點。八年的瓶頸不全在溫度,而在材料與時間本身:
一般經驗是:消費級與入門商用機約 6~8 年進入故障率上升期,工作站與伺服器級在環境良好時可以更久。這兩台剛好落在這個區間。
找同期主機板,沒有意義
換上去的是另一塊同樣老化八年的板子,焊點、電容、SPI Flash 的風險條件幾乎相同;再加上找料、運送、驗證與停機成本,總價逼近新機,而且修好後沒有保固。當年 NT$25,000~30,000 買的機器已服務八年,每年約三千多元,投資早已充分回收,現在不開機是材料老化的自然結果。
真正的代價是我的時間
我的企業服務費率是 NT$2,500/hr,一整天驗證約兩萬元;但電腦客戶心中的價位是「零件加工資」,這次基本檢測我只收 NT$300。資安閘道器的售前與建置,客戶買的是風險降低與責任承擔,費率與價值才對得上。年輕時通宵還能撐,現在不行。
最危險的時刻,是「好像救回來了」
傍晚電話沒打通客戶,我順著手感繼續測,一度以為救回來了,後來硬體不穩定才浮現,前功盡棄,也失去報價進階服務的機會。三個失誤:沒設停損、沒有客戶授權就延伸、把「看起來好了」當成「修好了」。
現場案例:看起來好了,隔天又發作(DeskMini 110)
這個案例把前面所有論點串在一起:我已經做了散熱、清潔、換 CPU、更新 BIOS,機器恢復流暢,準備通知客戶的那個早上,它卻只能停在自檢畫面、進不了 Windows,之後又自行恢復。
確認的事實
| 項目 | 紀錄 |
|---|---|
| 機型與環境 | ASRock DeskMini 110(H110 STX),Pentium G4600(內顯 HD Graphics 630),使用約八年半;Windows 10 22H2 與 Linux Live USB |
| 已做的處置 | BIOS 由 7.2 更新至 7.9;清潔記憶體金手指;調整 C-State;更換同型號備品 CPU 交叉測試;散熱膏重塗 |
| 溫度 | CPU 約 41~57°C,排除過熱 |
| 電壓(靜態) | 變壓器輸出 19.16V;BIOS 內 12V/5V/3.3V 讀值正常 |
| 較易觸發的操作 | 播放 YouTube 即當機(Windows 與 Linux 皆然);在工作管理員切換到 GPU 頁籤,也會瞬間死當 |
| 最新事件 | 隔日早上只能到自檢畫面、進不了 Windows,之後自行恢復正常 |
能證明的,與不能證明的
穩定性觀察:平放後的多輪測試(2026/10/2)
機器改為平放後,在同一天連續做了三輪開機測試,目的是替「看起來好了嗎」找證據,不是找故障零件。
| 輪次 | 測試內容 | 結果與數據 |
|---|---|---|
| 第一輪 | CPU 滿載算圖(SilverBench,約 4 分鐘) | 全程 3.6 GHz,核心最高約 64~65°C,與 TjMAX 差距約 36°C;各項降頻與功耗限制旗標皆為「否」;Vcore 約 1.07 V,VR 電流峰值約 17.3 A;算圖完成、出現結果後,機器當機。滿載後核心溫度回到約 46~50°C |
| 第二輪 | Speedometer 2.0、MotionMark 1.3.2 | 兩項都跑完(MotionMark 約 716 分、60 fps);此時 GPU 0 使用率約 52%,確認內顯有在工作;連續運作約 17 分鐘後當機 |
| 第三輪 | Speedometer 2.0(173 ± 28)、另一網頁基準測試(Beta 版、未校準)、MotionMark 1.2 | 前兩項跑完;MotionMark 1.2 在輕負載(CPU 約 7%、GPU 約 2%)的文字排版項目途中當機 |
給客戶看的結果表(日常情境版)
客戶不關心分數,只關心「平常的事能不能做」。把測試翻成日常語言,不展示任何分數:
| 客戶的日常 | 結果 |
|---|---|
| 打文件、開試算表 | 跑完 |
| 上網、翻頁 | 跑完 |
| 網頁動畫 | 一次跑完,一次中途當機 |
| 看影片 | 容易當機 |
| 做完事、放著不動 | 自己當過機 |
這張表的說服力在於:同一件事,一次能做、一次不能做。 客戶不需要懂供電或韌體,就能理解「不可靠」是什麼意思。說法上用「目前觀察到可以做」,不說「文書沒問題」,也不主動拿出分數,免得客戶誤以為「分數不錯,應該還行」。
處置與對客戶的說法
這個案例的教訓
根源在接案那一刻
兩位客戶送修前一定都有前兆:不定期當機、BSOD、偶爾不開機。我沒追問,因為工程師本能一被啟動就直奔機器。如果當時問出這些症狀,我就不會堅持搶救。真正該設停損的地方,在接案問診,而不在檢測桌上。
接案問診(任一題答「是」即停手)
當機之後,軟體層才是真正的災難
軟體端也在淘汰老硬體:驅動與電源管理
前面談的都是硬體在老化,但還有另一半:OS 與驅動廠商為了新硬體的功能,會逐漸放棄老硬體的相容性。兩邊同時夾擊,老機的處境才完整。
實務做法
雙重縮圈:存活區是兩圈的交集
Windows 的支援範圍像遊戲裡不斷收縮的安全圈,硬體本身也在縮圈。客戶實際能安全使用的,只是兩圈重疊的那一塊。
| 硬體圈 | 軟體圈 | |
|---|---|---|
| 縮的原因 | 焊點疲勞、電容衰退、韌體資料衰退,是物理老化 | OS 支援週期結束、驅動不再為老硬體驗證、瀏覽器與應用程式放棄舊 OS |
| 縮的速度 | 緩慢、不可預測,個體差異大 | 由廠商決定,有明確日期 |
| 能不能延長 | 只能靠環境與運氣,無法修復 | 可以換 OS 來延長 |
| 這次案例 | ESC500 G4 不開機、DeskMini 不穩 | Windows 10 生命週期、第 7 代處理器無法升級 Windows 11 |
毒圈與你的專業:資安隔離
遊戲裡待在圈外會持續扣血,老機也是:沒有安全更新的 Windows 連上網路,風險不是「用起來不穩」,而是「被入侵」。
關於換 Linux
多數客戶不會換,原因通常是應用程式只有 Windows 版,或是操作習慣。還有一個值得寫進去的觀察:換 Linux 只能延長軟體圈,延長不了硬體圈。 DeskMini 在 Linux Live 同樣當機就是證據。它只適合硬體還穩、用途單純的情況,不是萬靈丹,也不該被用來替「繼續搶救」找理由。
對客戶的白話說法
設備老化,很像三高
會送修八年電腦的客戶,通常也有些歲數,三高與血管硬化是他們熟悉的語言。這個比喻補上了「老房子」缺的一塊:慢性、無症狀、累積,然後突然發作。 老房子漏水看得見,三高和老硬體一樣,平常都「能用」,出事時是急性發作。
| 人體 | 老硬體 |
|---|---|
| 血管硬化、管壁變窄 | 焊點微裂、金手指氧化、接觸電阻變大,導通路徑變差 |
| 膽固醇斑塊堆積 | 積塵、氧化層、電解電容乾涸,慢慢堆出的「阻力」 |
| 高血壓:心臟要用更大的力才推得動 | 供電電路為維持輸出,長期承受更大負擔 |
| 心臟不能無上限加壓 | 電源供應器與 VRM 有額定上限,不能靠加大功率補償老化 |
| 高血糖、高血脂:長年悄悄傷害微血管 | 長期高溫高負載的微小損傷累積,平時不顯症狀 |
| 心肌梗塞、中風:突然發作 | 突然不開機、無過電反應、開不進系統 |
| 平常沒感覺,檢查才知道 | SMART、事件檢視器、SFC/DISM 紀錄 |
| 支架、繞道手術 | 換電容、reflow、換硬碟,延長一段時間 |
| 心臟移植 | 整機汰換 |
這個比喻還能多說三件事
有數位授權、能重灌,也不等於沒事
授權只解決「合法」的問題,不解決「時間」與「相容」的問題:
怎麼讓客戶「死心」:症狀對得上、說法聽得懂、口吻要堅定
家用客戶捨不得的往往不是機器,而是「花過錢的東西就這樣報廢」的感覺。你的猶豫會被當成還有希望,所以要先講症狀,再講原因,最後講結論,結論前不加「可能」「也許」。
核心比喻:電腦像一棟八年的房子
症狀對照表
| 客戶描述的症狀 | 背後的老化原因(白話版) |
|---|---|
| 不定期當機、藍畫面 | 供電元件(電容、電感)老化,電流一有變化就撐不住,跟軟體無關 |
| 開機要按好幾次才成功 | 晶片底下的焊點出現細微裂痕,冷熱一變化接觸就時好時壞 |
| 開機完全沒反應、沒有燈 | 電源供應器或主機板供電電路已失效 |
| 有燈有風扇但沒畫面 | 記憶體插槽接觸不良、記憶體老化,或主機板晶片失效 |
| 重灌後還是不穩 | 問題在硬體,換什麼系統都一樣 |
| 溫度看起來正常卻還是當機 | 溫度感應器只量一個點;老化的是焊點與電容,和溫度無關 |
| 電腦變慢、偶爾卡死 | 硬碟或記憶體老化,資料讀取開始出錯 |
三句堅定的話
對「捨不得」的回應
| 客戶說 | 回法 |
|---|---|
| 可是它當年很貴 | 當年的價格買到的是這八年的使用,它已經完成任務,每年成本算下來並不高。 |
| 能不能再試試看? | 可以試,但先講清楚:即使這次修好,下次不穩還是會出現,而且沒有保固。你要的是穩定,不是再賭一次。 |
| 只是換個零件而已吧? | 問題不是一個零件,是整塊板子的壽命。 |
| 有授權,重灌就好吧? | 重灌不是按一下就好:舊版安裝檔要更新很久,更新時最怕當機,您這台正好就會當機,特殊零件還要另找驅動。 |
| 資料會不會不見? | 資料在硬碟,不在主機板。我先幫你完整備份,這是最重要的。 |
適用範圍:前備分級與企業例外
真正的分水嶺不是機齡,也不只是業務衝擊,而是前備工作有沒有做。我能在災害當下接手、或預先更換老硬碟,靠的是事前做好的整套設計:NAS、防火牆、外接硬碟、異地備份。有這層防護網,搶救才有退路,BMR 失敗還有其他備份可轉。那兩台老電腦的客戶什麼都沒有,所以只能事後硬救,成功率與報酬都最低。
| 等級 | 條件 | 處置 |
|---|---|---|
| 一、已佈建客戶 | 備份、防護(NAS、防火牆、外接硬碟)、異地備援都已設計到位,平常有定期照顧 | 主動預警、預先更換老硬碟、災害當下全力接手;費用以萬元計 |
| 二、部分佈建 | 至少有可還原的備份 | 先驗證備份可還原,再依階段關卡報價處理 |
| 三、無前備(親友鄰居、家用) | 沒備份、沒還原點、沒人追蹤健康狀態 | 兩小時停損、資料優先、建議汰換,並導向「備份入門配置」 |
企業關鍵系統(PDM、ERP):不是停手,是設關卡
七八年的 PDM、ERP 主機出現警訊,逼迫業主更換伺服器硬碟,技術費以萬元為單位,費率與價值對得上,這與修家用電腦是不同類型的工作。2 小時上限在這裡改成「階段關卡」,每一關都要客戶簽核才往下走:
企業專屬規則
停損原則(由緊而寬)
以下規則主要適用第三級(無前備)客戶,以及其他等級的診斷關。「緊」的是不容協商的硬性規則,「寬」的是可以彈性運用的做法。
給工程師(自己)
給客戶(尤其是親友鄰居)
附註:系統紀錄中的毀損證據
附註一:紀錄位置
抽出 SFC 行:findstr /c:”[SR]” %windir%\Logs\CBS\CBS.log > sfclogs.txt
DISM:C:\Windows\Logs\DISM\dism.log
附註二:最常見的毀損區域
| 名詞 | 白話意思 |
|---|---|
| WinSxS(元件存放區) | 系統元件的原廠備份倉庫;倉庫本身壞掉,SFC 無從修復 |
| Manifest / Package(.manifest、.mum、.cat) | 描述元件內容與簽章的清單;毀損則系統不認得該元件 |
| COMPONENTS 登錄檔 hive | 記錄元件狀態,更新中途當機最易受損 |
| Servicing Stack / TrustedInstaller | 負責安裝與修復更新的機制,異常時連修復工具都跑不動 |
| pending.xml | 更新做到一半的未完成清單,殘留會反覆卡在「正在還原變更」 |
| Catalog(.cat)簽章 | 驗證檔案真偽,遺失或不符即判定毀損 |
| NTFS 中繼資料($MFT、$LogFile) | 檔案系統目錄與日誌,被強制斷電破壞後出現檔案無法讀取或消失 |
附註三:SFC / DISM 常見訊息與錯誤碼
| 訊息/代碼 | 意義 | 對應因素 |
|---|---|---|
| Windows Resource Protection found corrupt files and was unable to fix some of them | 發現毀損但無法修復 | 長期毀損累積;倉庫本身可能已壞 |
| Cannot repair member file … file is missing | 倉庫裡的原件遺失 | 元件庫損毀或更新中斷 |
| Hashes for file member … do not match | 檔案內容與原件不符 | 寫入中斷、記憶體或儲存錯誤 |
| Repair failed: Missing replacement payload | 找不到替換用的修復檔 | 倉庫缺件,需外部媒體 |
| Manifest corrupt / CSI Payload Corrupt | 清單或元件內容毀損 | 更新中途斷電 |
| The component store is repairable | 倉庫已受損 | 累積性毀損 |
| 0x800f081f | 找不到修復來源 | 缺對應版本安裝媒體(品牌機無還原光碟) |
| 0x80073712 | 元件存放區毀損或元件遺失 | 更新中斷、倉庫損毀 |
| 0x800f0831 | 缺少前置更新包或清單 | 更新鏈不完整 |
| 0x80070570 | 檔案或目錄毀損無法讀取 | 檔案系統或磁碟問題 |
| 0x80070017 | CRC 錯誤 | 偏向儲存媒體本身 |
| 0x8007045d | I/O 裝置錯誤 | 同時懷疑硬碟、排線、控制器 |
附註四:硬體層佐證(事件檢視器 → Windows 記錄 → 系統)
| 來源/事件 | 意義 |
|---|---|
| Kernel-Power 41 | 系統未正常關機即重新啟動(斷電、硬當機) |
| EventLog 6008 | 上次關機為非預期 |
| Disk 7、11、51、153 | 壞區塊、控制器錯誤、分頁 I/O 錯誤 |
| WHEA-Logger 17、18、19 | 硬體錯誤回報(處理器、匯流排、記憶體相關) |
| BugCheck 1001 | 藍畫面紀錄與停止碼 |
附註五:判讀的邊界(讓證據站得住腳)
附註六:給客戶的白話說法
附註七:Windows 10 當機前後會留下什麼紀錄(DeskMini 查證用)
(一)當機後開機,一定會有的紀錄(事件檢視器 → Windows 記錄 → 系統)
| 來源/事件 | 意義 |
|---|---|
| Kernel-Power 41 | 系統未正常關機就重新啟動。看詳細資料的 BugcheckCode:0 表示沒有藍畫面(純斷電、凍結或硬重置),非 0 才是藍畫面 |
| EventLog 6008 | 上次關機為非預期,並記下上次正常運作的最後時間 |
| EventLog 6005/6006 | 事件記錄服務啟動與停止,用來排時間軸 |
Kernel-Power 41 的詳細資料裡有 PowerButtonTimestamp:非 0 代表有人長按過電源鍵(畫面凍結後手動關機);0 偏向機器自己重置或瞬間斷電。這一欄能直接回答「凍結還是自動重開」。
(二)當機之前,可能已寫入的前兆(往當機時間點之前翻)
| 來源/事件 | 意義 |
|---|---|
| WHEA-Logger 17、18、19 | 硬體錯誤回報:處理器、匯流排、記憶體相關,含已被修正的錯誤 |
| Disk 7、11、51、153;storahci 129 | 儲存裝置壞區塊、控制器錯誤、重置,指向 SSD 或排線 |
| Display 4101 | 顯示驅動停止回應後恢復,與顯示路徑相關 |
| Kernel-Processor-Power 37 | CPU 效能被韌體限制,供電或熱保護線索 |
| Application Error 1000、Application Hang 1002、WER 1001 | 程式當掉或卡死;WER 1001 若為 LiveKernelEvent,是核心層級的硬體或驅動逾時 |
也可以執行 perfmon /rel 開啟「可靠性監視器」,它把這些事件整理成時間軸,客戶也看得懂。
(三)藍畫面才有的紀錄
C:\Windows\Minidump,以及 C:\Windows\MEMORY.DMP(前提是系統設定有開啟傾印)。(四)判讀的限制
(五)一次抽出相關事件(系統管理員 PowerShell)
順手檢查系統時間有沒有被重置:時間跳回早期日期,是 CMOS 電池或主機板即時時鐘的線索。
(六)下次測試前,可以預先佈置
(七)判讀方向(僅供參考)
| 觀察到 | 偏向 |
|---|---|
| 只有 Kernel-Power 41,BugcheckCode = 0,前面乾淨 | 供電瞬斷或晶片組致命錯誤,也可能是凍結後手動關機 |
| 前面有 WHEA 17/18/19 | 硬體層錯誤:記憶體、CPU、匯流排都可能 |
| 前面有 Disk 或 storahci 錯誤 | 儲存裝置或排線(目前尚未排除的一條) |
| 前面有 Display 4101、LiveKernelEvent | 顯示驅動或內顯路徑 |
| 有 BugCheck 1001 | 藍畫面,用停止碼與傾印進一步判讀 |
(八)DeskMini 三次當機的對照欄位(待填,尚未查證)
| 當機 | 發生時間 | Kernel-Power 41 的 BugcheckCode | PowerButtonTimestamp | 當機前的前兆事件 |
|---|---|---|---|---|
| 第一次(算圖完成後) | 未記錄 | 未記錄 | 未記錄 | 未記錄 |
| 第二次(測試跑完後) | 未記錄 | 未記錄 | 未記錄 | 未記錄 |
| 第三次(MotionMark 1.2 途中) | 未記錄 | 未記錄 | 未記錄 | 未記錄 |
這張表刻意留白:沒有查證的內容不寫進結論。填完之後,才能判斷是凍結還是重置,以及前面有沒有硬體或儲存的前兆。
Comments