badblocks

查找磁盤中損壞的區塊

補充說明

badblock命令 用於查找磁盤中損壞的區塊。 硬盤是一個損耗設備,當使用一段時間後可能會出現壞道等物理故障。電腦硬盤出現壞道後,如果不及時更換或進行技術處理,壞道就會越來越多,並會造成頻繁死機和數據丟失。最好的處理方式是更換磁盤,但在臨時的情況下,應及時屏蔽壞道部分的扇區,不要觸動它們。badblocks就是一個很好的檢查壞道位置的工具。

語法

1badblock(選項)(參數)

選項

1-b<區塊大小>:指定磁盤的區塊大小,單位爲字節;
2-o<輸出文件>:將檢查的結果寫入指定的輸出文件;
3-s:在檢查時顯示進度;
4-v:執行時顯示詳細的信息;
5-w:在檢查時,執行寫入測試。

參數

  • 磁盤裝置:指定要檢查的磁盤裝置;
  • 磁盤區塊數:指定磁盤裝置的區塊總數;
  • 啓始區塊:指定要從哪個區塊開始檢查。

實例

badblocks以 4096 的一個block,每一個block檢查16次,將結果輸出到“hda-badblocks-list”文件裏。

1badblocks -b 4096 -c 16 /dev/hda1 -o hda-badblocks-list

hda-badblocks-list是個文本文件,內容如下:

1cat hda-badblocks-list
251249
351250
451251
551253
651254
7……
861245
9……

可以針對可疑的區塊多做幾次操作。下面,badblocks以4096字節爲一個“block”,每一個“block”檢查1次, 將結果輸出到“hda-badblocks-list.1”文件中,由第51000 block開始,到63000 block結束。

1badblocks -b 4096 -c 1 /dev/hda1 -o hda-badblocks-list.1 63000 51000

這次花費的時間比較短,硬盤在指定的情況下在很短的時間就產生“嘎嘎嘎嘎”的響聲。由於檢查條件的不同,其輸出的結果也不完全是相同的。重複幾次同樣的操作,因條件多少都有些不同,所以結果也有所不同。進行多次操作後,直到產生最後的hda-badblock-list.final文件。

其他

1、fsck使用badblocks的信息

badblocks只會在日誌文件中標記出壞道的信息,但若希望在檢測磁盤時也能跳過這些壞塊不檢測,可以使用fsck的-l參數:

1fsck.ext3 -l /tmp/hda-badblock-list.final /dev/hda1

2、在創建文件系統前檢測壞道

badblocks可以隨e2fsck和mke2fs的-c刪除一起運行(對ext3文件系統也一樣),在創建文件系統前就先檢測壞道信息:

1mkfs.ext3 -c /dev/hda1

代碼表示使用-c在創建文件系統前檢查壞道的硬盤。

這個操作已經很清楚地告知我們可以採用mkfs.ext3 -c選項用read-only方式檢查硬盤。這個命令會在格式化硬盤時檢查硬盤,並標出錯誤的硬盤“block”。用這個方法格式化硬盤,需要有相當大的耐心,因爲命令運行後,會一個個用讀的方式檢查硬盤。

來源:https://github.com/jaywcjlove/linux-command

最後修改於: Wednesday, January 31, 2024

相關文章:

翻譯: