硬碟是乙個損耗裝置,當使用一段時間後可能會出現壞道等物理故障。電腦硬碟出現壞道後,如果不及時更換或進行技術處理,壞道就會越來越多,並會造成頻繁宕機和資料丟失。最好的處理方式是更換磁碟,但在臨時的情況下,應及時遮蔽壞道部分的扇區,不要觸動它們。badblocks就是乙個檢查壞道位置的工具。
一、命令引數
badblocks使用格式為:引用
badblocks [ -svwnf ] [ -b block-size ] [ -c blocks_at_once ] [ -i
input_file ] [ -o output_file ] [ -p num_passes ] [ -t test_pattern ]
device [ last-block ] [ start-block ]
引數含義是:引用
-b blocksize
指定磁碟的區塊大小,單位為位元組,預設值為「block 4k 」(4k/block)
-c blocksize
每個區塊檢查的次數,預設是16次
-f強制在乙個已經掛載的裝置上執行讀寫或非破壞性的寫測試操作
(我們建議先umount裝置,然後再進行壞道檢測。僅當/etc/mtab出現誤報裝置掛載錯誤的時候可以使用該選項)
-i file
跳過已經顯示在file檔案中的壞道,而不進行檢測(可以避免重複檢測)
-o file
把檢測結果輸出到file檔案
-p number
重複搜尋裝置,直到在指定通過次數內都沒有找到新的壞塊位置,預設次數為0
-s在檢查時顯示進度
-t pattern
通過按指定的模式讀寫來檢測區塊。你可以指定乙個0到ulong_max-1的十進位制正值,或使用random(隨機)。
如果你指定多個模式,badblocks將使用第乙個模式檢測所有的區塊,然後再使用下乙個模式檢測所有的區塊。
read-only方式僅接受乙個模式,它不能接受random模式的。
-v執行時顯示詳細的資訊
-w對每個區塊都先寫入,然後再從它讀取資訊
[device]
指定要檢查的磁碟裝置。
[last-block]
指定磁碟裝置的區塊總數。
[start-block]
指定要從哪個區塊開始檢查
二、示例
badblocks以4096的乙個block,每乙個block檢查16次,將結果輸出到「hda-badblocks-list」檔案裡
# badblocks -b 4096 -c 16 /dev/hda1 -o 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」。用這個方法格式化硬碟,需要有相當大的耐心,因為命令執行後,會乙個個用讀的方式檢查硬碟。
四、參考資料
參考:
badblocks檢查硬碟是否有壞道
硬碟是比較容易壞掉的裝置,使用一段時間後可能會出現壞道等物理故障。當硬碟出現壞道後,若不及時更換或者進行技術上的處理,磁碟的壞道就會越來越多,並會造成頻繁宕機和資料丟失。最好的處理方法是更換新的磁碟。在臨時的情況下,我們應及時遮蔽壞道部分的扇區,不要觸動它們。badblocks是乙個檢查磁碟是否有壞...
硬碟經常壞在哪?
症狀一 在你開啟某一檔案或執行某一程式時,硬碟反覆讀盤且出錯,或者要經過九牛二虎之力才能成功。與此同時,硬碟會發出異樣的雜音 啟動時不能通過硬碟引導系統,用軟盤啟動後可以轉到硬碟碟符,但無法進入,用sys命令傳導系統也不能成功 format硬碟時,到某一進度停止不前,最後報錯,無法完成 對硬碟執行f...
如何修復壞硬碟
前段時間用gnu ddrescue修復了乙個壞硬碟。順便看了下硬碟相關知識。先占個位,有空再來整理一下 dd unix dd rescue ddrescue,ddrescue manual 注意ddrescue 和dd rescue是兩個東西。沒有下劃線的是gnu出品,dd rescue的主頁上也推...