Linux命令 badblocks -查找磁盤中損壞的區(qū)塊

2021-10-28 10:17 更新

badblocks

查找磁盤中損壞的區(qū)塊

補(bǔ)充說明

badblock命令 用于查找磁盤中損壞的區(qū)塊。 硬盤是一個(gè)損耗設(shè)備,當(dāng)使用一段時(shí)間后可能會(huì)出現(xiàn)壞道等物理故障。電腦硬盤出現(xiàn)壞道后,如果不及時(shí)更換或進(jìn)行技術(shù)處理,壞道就會(huì)越來越多,并會(huì)造成頻繁死機(jī)和數(shù)據(jù)丟失。最好的處理方式是更換磁盤,但在臨時(shí)的情況下,應(yīng)及時(shí)屏蔽壞道部分的扇區(qū),不要觸動(dòng)它們。badblocks就是一個(gè)很好的檢查壞道位置的工具。

語法

badblock(選項(xiàng))(參數(shù))

選項(xiàng)

-b<區(qū)塊大小>:指定磁盤的區(qū)塊大小,單位為字節(jié);
-c:指定每個(gè)區(qū)塊的檢查次數(shù)
-o<輸出文件>:將檢查的結(jié)果寫入指定的輸出文件;
-s:在檢查時(shí)顯示進(jìn)度;
-v:執(zhí)行時(shí)顯示詳細(xì)的信息;
-w:在檢查時(shí),執(zhí)行寫入測試。

參數(shù)

  • 磁盤裝置:指定要檢查的磁盤裝置;
  • 磁盤區(qū)塊數(shù):指定磁盤裝置的區(qū)塊總數(shù);
  • 啟始區(qū)塊:指定要從哪個(gè)區(qū)塊開始檢查。

實(shí)例

以4096字節(jié)為一個(gè)block,每一個(gè)block檢查16次,將結(jié)果輸出到“hda-badblocks-list”文件里。

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

hda-badblocks-list是個(gè)文本文件,內(nèi)容如下:

cat hda-badblocks-list
51249
51250
51251
51253
51254
……
61245
……

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

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

這次花費(fèi)的時(shí)間比較短,硬盤在指定的情況下在很短的時(shí)間就產(chǎn)生“嘎嘎嘎嘎”的響聲。由于檢查條件的不同,其輸出的結(jié)果也不完全是相同的。重復(fù)幾次同樣的操作,因條件多少都有些不同,所以結(jié)果也有所不同。進(jìn)行多次操作后,直到產(chǎn)生最后的hda-badblock-list.final文件。

其他

1、fsck使用badblocks的信息

badblocks只會(huì)在日志文件中標(biāo)記出壞道的信息,但若希望在檢測磁盤時(shí)也能跳過這些壞塊不檢測,可以使用fsck的-l參數(shù):

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

2、在創(chuàng)建文件系統(tǒng)前檢測壞道

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

mkfs.ext3 -c /dev/hda1

代碼表示使用-c在創(chuàng)建文件系統(tǒng)前檢查壞道的硬盤。

這個(gè)操作已經(jīng)很清楚地告知我們可以采用mkfs.ext3 -c選項(xiàng)用read-only方式檢查硬盤。這個(gè)命令會(huì)在格式化硬盤時(shí)檢查硬盤,并標(biāo)出錯(cuò)誤的硬盤“block”。用這個(gè)方法格式化硬盤,需要有相當(dāng)大的耐心,因?yàn)槊钸\(yùn)行后,會(huì)一個(gè)個(gè)用讀的方式檢查硬盤。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號