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