用 badblocks 檢測硬碟壞道

2021-08-27 12:19:22 字數 2368 閱讀 1888

硬碟是乙個損耗裝置,當使用一段時間後可能會出現壞道等物理故障。電腦硬碟出現壞道後,如果不及時更換或進行技術處理,壞道就會越來越多,並會造成頻繁宕機和資料丟失。最好的處理方式是更換磁碟,但在臨時的情況下,應及時遮蔽壞道部分的扇區,不要觸動它們。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的主頁上也推...