硬盤壞道是導致數據丟失、系統崩潰、性能驟降的隱形殺手。本文從**磁盤物理原理**出發,系統講解壞道前兆識別、badblocks 只讀/讀寫檢測、fsck 邏輯壞道修復、物理壞道分區屏蔽策略、testdisk 分區表搶救、數據備份鐵律,助你建立完整的磁盤健康防禦體系。
iowait 無故升高持續不降I/O error、進入急救模式mkfs 格式化卡住、報錯失敗fsck 掃描fdisk 分區操作進度條反復跳動sudo badblocks -s -v /dev/sdX
# -s 顯示進度 -v 詳輸出
# 可中斷,續掃:badblocks -s -v /dev/sdX <最後壞塊> <起始塊>
輸出 Pass completed, 0 bad blocks found 表示無壞道。
sudo badblocks -w -s -v /dev/sdX
# -w 寫入模式(四次模式 0xaa/0x55/0xff/0x00),**會銷毀數據**,僅限新盤/已備份盤
# 默認 4K 塊,16 次測試
badblocks -b 4096 -c 16 /dev/sdX -o badblocks.list
# 針對可疑區單次快速掃描
badblocks -b 4096 -c 1 /dev/sdX -o badblocks_suspect.list 63000 51000
# 從 51000 塊掃到 63000 塊
多次不同參數掃描,取並集生成 badblocks_final.list。
mkfs.ext4 -c /dev/sdX1 # 僅讀檢測並標記壞塊
mkfs.ext4 -c -c /dev/sdX1 # 讀寫檢測(極慢)
fsck -a /dev/sdX1 # 自動修復
fsck -y /dev/sdX1 # 全部 yes
0-15GB | 15-35GB(含壞道) | 35-100GB使用 dd 跳過 0 磁道、利用 1 磁道重建 MBR、重新分區。成功率低,僅作數據搶救最後手段。
sudo apt-get install -y testdisk
sudo testdisk
# 交互式:選擇磁盤 → 分區表類型 → Analyse → Quick Search → Write
TestDisk 能恢復誤刪分區、重建 MBR/GPT,成功率極高。
smartctl -a /dev/sdX 監控 SMART 指標(Reallocated_Sector_Ct、Seek_Error_Rate)。