此工具透過網路線直接連接 TOCP 設備(QNX 6.4.1 作業系統),以 Telnet 對設備的 CF 卡(/dev/hd0t79)執行健康檢查,並將結果即時顯示於螢幕,並自動存檔至 Log。
前往 Releases 下載最新版 disk_checker.exe,無需安裝 Python 環境。
直接執行打包好的 exe:
disk_checker.exe
-
作業系統:Windows
-
網路:電腦需與 TOCP 設備位於同一網段,且能連通以下至少一個 IP:
192.168.100.99(TOCP 前 Port)192.169.100.99(TOCP 後 Port)
-
TOCP 設備:QNX 6.4.1,TCP Port 23(Telnet)需開放 備註:若設備連線IP不同,請修改程式碼以實際設定之IP位址為準。
- 執行
chkfsys與dcheck時,建議設備先登出系統,否則可能影響檢查結果 - 工具以
root帳號登入設備(無密碼),請確保設備在受信任的內部網路環境中使用
- 裝置探測:程式會並行掃描兩個 IP 位址的 TCP Port 23(Telnet):
192.168.100.99(TOCP 前 Port)192.169.100.99(TOCP 後 Port)- 超時門檻為 1.5 秒,取第一個回應的裝置連線
- Telnet 登入:以
root帳號自動登入(無密碼),清除歡迎訊息後進入可操作狀態 - 自動偵測分區:登入後自動執行
ls /dev/hd0t*偵測可用分區(如/dev/hd0t79)
操作方式:使用鍵盤 ↑↓ 選擇,按 Enter 確認。
chkfsys -uv /dev/hd0t79
-u:強制執行,即使 CF 卡已標記為 CLEAN 也照樣掃描-v(verbose):詳細輸出,列出每一個目錄與檔案的掃描過程yes |:自動回應chkfsys執行過程中可能出現的互動確認提示- 逾時:120 秒
- 即時輸出:掃描過程會即時顯示在螢幕上
dcheck -rv /dev/hd0
-r(random read):以隨機讀取方式對每個磁區進行讀取測試-v(verbose):詳細輸出,顯示掃描進度- 掃描目標為整顆 CF 卡的原始裝置(
/dev/hd0),涵蓋全部磁區 - 逾時:600 秒(約 10 分鐘);實際時間依儲存媒體而異,CF 卡/SSD 較快,傳統硬碟較慢
- 掃描期間會即時顯示 Spinner 與已耗時秒數(如
⠸ 正在掃描中... 已耗時: 38.0 秒)
依序執行以下兩個指令:
chkfsys -uv /dev/hd0t79(完整檔案系統檢查)dcheck -rv /dev/hd0(完整磁區壞軌掃描)
全部完成後一起顯示摘要報告並存檔。
sloginfo
- 讀取 QNX 記憶體中的系統事件日誌
- 可用於觀察是否有硬體異常、驅動程式失敗等事件記錄
- 逾時:10 秒
| 條件 | 狀態 | 意義 |
|---|---|---|
輸出含 corruption、error、cross-link |
ERROR ❌ | 偵測到嚴重損壞或交叉連結 |
輸出含 fixed、deleted、recovered |
FIXED |
有問題但已自動修復 |
輸出含 dirty |
FIXED |
檔案系統標記為髒,已執行修復 |
輸出含 ok 或為空 |
OK ✅ | 掃描完成,未發現異常 |
| 無法辨識關鍵字 | MANUAL_CHECK 👀 | 請參閱螢幕上的原始輸出自行判斷 |
| 條件 | 狀態 | 意義 |
|---|---|---|
輸出含 is bad |
BAD_BLOCKS ❌ | 發現物理壞軌,計算壞軌數量 |
輸出含 read error、seek error、fail |
ERROR ❌ | 掃描過程發生硬體通訊異常 |
輸出含其他 error |
ERROR |
未預期的錯誤 |
| 有輸出但無關鍵字 | MANUAL_CHECK 👀 | 請參閱螢幕上的原始輸出自行判斷 |
| 正常完成 | OK ✅ | 掃描完成,CF 卡狀況良好,未發現壞軌 |
備註:
RANDOM Read check of /dev/hd0 without bad block marking,為dcheck正常的啟動提示,不代表錯誤。
- 每次檢查完成後,自動顯示結果摘要(✅ 正常 /
⚠️ 已修復或警告 / 👀 請人工確認 / ❌ 異常) - 自動將完整報告存至執行檔同層的
disk_checker_log/disk_check_YYYYMMDD_HHMMSS.log - Log 內容包含:裝置資訊、CF 卡使用率、指令輸出及結果摘要
- [Log 過濾]:
chkfsys掃描過程中的「倒數計數」及Comparing new bitmap...等無意義進度訊息,會自動從 Log 中移除
程式使用帶唯一序號的 echo marker(__CMD_DONE_N__)來判斷指令何時結束,避免跨指令殘留資料誤判。每次執行前都會先 flush reader buffer,確保輸出乾淨。
不使用本程式,也可以透過 Windows 內建的 Telnet 手動連線至 TOCP 設備執行指令。
Windows 預設未啟用 Telnet,請先開啟:
控制台 → 程式和功能 → 開啟或關閉 Windows 功能 → 勾選「Telnet 用戶端」→ 確定
開啟 CMD,輸入:
telnet 192.168.100.99
若前 Port 無回應,改用後 Port:
telnet 192.169.100.99
連線成功後輸入帳號:
root
(無需密碼,直接按 Enter)
# 查看可用分區
ls /dev/hd0t*
# CF 卡檔案系統檢查
chkfsys -uv /dev/hd0t79
# CF 卡磁區壞軌掃描
dcheck -rv /dev/hd0
# 查看磁碟使用率
df
# 查看系統日誌
sloginfo若
chkfsys執行過程中出現(y/n)確認提示,手動輸入y後按 Enter 繼續。