買了多年的 Intel NUC 準系統,Windows 7 最近開機後系統時間總是自動回到 2009 年,除了 Chrome 瀏覽器不給上網,會報錯提示系統時間錯誤,還有一些其他程式也會因為系統時間偏差而無法正常執行。
根據多年經驗,這是主機板電池沒電的狀況,換一顆 CR2032 電池就解決了。然而辛苦拆解準系統後才發現,Intel NUC 做了個特規 CR2032 電池,無法自行更換電池。根據官網「Intel® NUC 上的 CMOS 電池」圖片,電池組件長得如下圖:
這個電池組件使用一條 2 pin 連接線插到主機板,剝開包覆的膠帶後發現,組件的設計不讓使用者自行替換電池,導致只能想辦法買完整的電池組件替換。然而前面的官網文件也說明了,這整組零件不零賣,要自行上網找 "線上零售商"購買...
想到要大老遠跑光華商場找電子零件就很麻煩,而上網買除了運費會是零件的好幾倍,也不知是否插上 Intel NUC 就能跑,解決硬體問題的時間不如想辦法解決軟體問題比較快,如果我能讓 Windows 開機後自動校正系統時間,就可以無視主機板電池沒電的問題了。
(圖片出處: pexels.com)
一、原理說明
1. 最方便的作法網路上爬了相當多文章,有些是內容很專業、原理說明得很詳細,可惜我除了看得頭昏眼花,也測不出效果。直到這一篇內容及步驟都相當簡短的文章,才測試成功: 這篇主要需進行 3 個動作:- 製作 .bat 批次檔
- 修改 Windows 登錄檔
- 建立工作排程器
net start "windows time"→ 這一行會強制啟用系統服務 "windows time"
w32tm /resync → 進行時間校正
檔案總管 → 電腦 → 右鍵選「管理」→ 服務與應用程式 → 服務,可看到上圖畫面,紅框處即為 "Windows Time"服務,啟用後方可允許系統時間校正。
如果沒有上述 bat 檔第一行,就逕自執行第二行,有可能無法進行時間校正(有第一行可確保這個系統服務被啟用)。
3. 其他補充- 「修改 Windows 登錄檔」這個動作非常必要,如同原文說明,Windows 預設在系統時間差距太大時,例如正負差距 15 個小時以上,不允許進行時間校正,所以將登錄檔中的預設值 15 小時修改掉
- 「建立工作排程器」這部分的流程比較麻煩且容易出錯,主要目的為讓開機後自動執行 bat 檔,其實有更簡單的作法,請見後面優化流程。
二、優化版流程
因為部分操作流程還可以更簡化,下面會提供我的優化版本。 1. 製作 bat 批次檔net start "windows time"
w32tm /resync
將以上內容存成 bat 檔即可。
2. Windows 登錄檔修改 Windows 登錄檔內容比較麻煩,我已製作下面這個 reg 登錄檔,下載後執行即可:
3. 開機自動執行只要將前面製作的 bat 批次檔放到 Windows「啟動」資料夾,開機就會自動執行:
- 按
Win + R → 輸入 shell:Startup - 出現的資料夾就是 Windows「啟動」資料夾
- 觸發條件設定為「啟動時」,那麼開機時並不會執行
- 必須將觸發條件設定為「登入時」,開機才會執行
更多 Windows 相關文章: