查找磁盤中損壞的區塊
badblock命令 用于查找磁盤中損壞的區塊。?硬盤是一個損耗設備,當使用一段時間后可能會出現壞道等物理故障。電腦硬盤出現壞道后,如果不及時更換或進行技術處理,壞道就會越來越多,并會造成頻繁死機和數據丟失。最好的處理方式是更換磁盤,但在臨時的情況下,應及時屏蔽壞道部分的扇區,不要觸動它們。badblocks就是一個很好的檢查壞道位置的工具。
badblock(選項)(參數)
-b<區塊大小>:指定磁盤的區塊大小,單位為字節;
-o<輸出文件>:將檢查的結果寫入指定的輸出文件;
-s:在檢查時顯示進度;
-v:執行時顯示詳細的信息;
-w:在檢查時,執行寫入測試。
badblocks以 4096 的一個block,每一個block檢查16次,將結果輸出到“hda-badblocks-list”文件里。
badblocks -b 4096 -c 16 /dev/hda1 -o hda-badblocks-list
hda-badblocks-list是個文本文件,內容如下:
cat hda-badblocks-list
51249
51250
51251
51253
51254
……
61245
……
可以針對可疑的區塊多做幾次操作。下面,badblocks以4096字節為一個“block”,每一個“block”檢查1次, 將結果輸出到“hda-badblocks-list.1”文件中,由第51000 block開始,到63000 block結束。
badblocks -b 4096 -c 1 /dev/hda1 -o hda-badblocks-list.1 63000 51000
這次花費的時間比較短,硬盤在指定的情況下在很短的時間就產生“嘎嘎嘎嘎”的響聲。由于檢查條件的不同,其輸出的結果也不完全是相同的。重復幾次同樣的操作,因條件多少都有些不同,所以結果也有所不同。進行多次操作后,直到產生最后的hda-badblock-list.final文件。
1、fsck使用badblocks的信息
badblocks只會在日志文件中標記出壞道的信息,但若希望在檢測磁盤時也能跳過這些壞塊不檢測,可以使用fsck的-l參數:
fsck.ext3 -l /tmp/hda-badblock-list.final /dev/hda1
2、在創建文件系統前檢測壞道
badblocks可以隨e2fsck和mke2fs的-c刪除一起運行(對ext3文件系統也一樣),在創建文件系統前就先檢測壞道信息:
mkfs.ext3 -c /dev/hda1
代碼表示使用-c在創建文件系統前檢查壞道的硬盤。
這個操作已經很清楚地告知我們可以采用mkfs.ext3 -c
選項用read-only
方式檢查硬盤。這個命令會在格式化硬盤時檢查硬盤,并標出錯誤的硬盤“block”。用這個方法格式化硬盤,需要有相當大的耐心,因為命令運行后,會一個個用讀的方式檢查硬盤。