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
版權申明:
- 未標註來源的內容皆為原創,未經授權請勿轉載(因轉載後排版往往錯亂、內容不可控、無法持續更新等);
- 非營利為目的,演繹本博客任何內容,請以'原文出處'或者'參考鏈接'等方式給出本站相關網頁地址(方便讀者)。