壞道分為邏輯壞道(軟件層面錯誤,如扇區校驗信息與數據不符,可通過軟件修復)和物理壞道(磁盤表面物理損傷,如磁介質脫落,不可修復,只能隔離或更換硬盤)。
badblocks
工具badblocks
是Ubuntu自帶的壞道掃描工具,可檢測邏輯壞道或物理壞道的扇區位置。
/dev/sda1
分區,替換為你的實際分區):sudo badblocks -s -v -o /root/bb.log /dev/sda1
-s
:顯示掃描進度;-v
:顯示詳細信息;-o /root/bb.log
:將壞道扇區號保存到bb.log
文件(后續修復需用到)。/
,需進入單用戶模式或Live CD環境,避免無法卸載)。e2fsck
工具(適用于ext2/ext3/ext4文件系統)e2fsck
可讀取badblocks
生成的壞道列表,將這些扇區標記為“不可用”,避免數據寫入。
badblocks
結果):sudo e2fsck -l /root/bb.log /dev/sda1
-l
:指定壞道列表文件;bb.log
,可直接運行sudo fsck -y /dev/sda1
(-y
自動修復錯誤,但需謹慎使用,避免誤操作)。若badblocks
檢測到大量壞道(如連續多個扇區)或掃描時出現“Input/output error”且無法修復,說明存在物理壞道。
物理壞道會逐漸擴散,需立即備份分區中的重要數據(可使用rsync
、dd
或外部存儲設備)。
/dev/sdb1
):sudo rsync -av /mnt/sda1/ /mnt/sdb1/backup/
使用fdisk
或parted
工具縮小分區,將壞道區域排除在外。
badblocks.log
中的扇區號,計算對應的柱面范圍,如起始柱面=壞道扇區號/每柱面扇區數
,可通過sudo fdisk -l /dev/sda
查看每柱面扇區數);fdisk
刪除原分區,重新創建分區(起始柱面跳過壞道區域,結束柱面提前截止);sudo mkfs.ext4 /dev/sda1
)。sudo badblocks -s -v /dev/sda
(全盤掃描)或sudo smartctl -a /dev/sda
(查看SMART健康狀態,需安裝smartmontools
)定期檢查磁盤;/
)出現壞道,需進入Live CD或單用戶模式操作(重啟時按住Shift
鍵進入GRUB菜單,選擇“Recovery Mode”)。