badblocks - 查詢裝置的壞區塊
badblocks [
-svwnf ] [
-b block-size ] [
-c
blocks_at_once ] [
-i input_file ] [
-o
output_file ] [
-p num_passes ]
device [
blocks-count ] [
start-block ]
badblocks
被用來在裝置(通常是磁碟分割槽)中檢測壞區塊。
device
引數是裝置的名字(例如
/dev/hdc1).
blocks-count
引數是裝置上總的區塊數目;如果沒有指定這個引數,預設值就是裝置的容量大小。
start-block引數是一個可選引數,它指定從多少區塊號開始進行檢測。因此,檢測允許從磁碟的中間部分開始。
-
-b block-size
- 以位元組為單位,指定區塊的大小。
-
-c number of blocks
- 每一次檢測區塊的數目。預設值是16。增加這個數目可以增加檢測
壞塊
的效率可同時也會增加記憶體的耗費。
Badblocks
命令在只讀模式下需要花費與每一次檢測的區塊相同數目的記憶體容量。在讀寫模式下,這個比例是兩倍而在非破壞性的讀寫模式下,這個比例是三倍。
如果你將引數“num-of-blocks”設定太大的話,
badblocks
將會在分派快取時會因為一個記憶體溢位錯誤而立即退出。當然如果你在非破壞性的讀寫模式下將該值設定得過低,那麼在一個不穩定的磁碟上的有問題
的區塊也許會因為磁碟的磁軌緩衝的作用而不被檢測出來。
- -f
- 正常情況下,badblocks命令不會在一個已經啟用的裝置上讀寫模式或者是非破壞性的讀寫模式的檢測,因為這可能會導致系統的崩潰。
使用 -f
標誌可以使這種情況強制執行,但是最好不要在正常的情況下使用它。如果/etc/mtab檔案發生了錯誤,而裝置實際上並沒有被啟用的時候,這個
引數才會是安全的。
-
-i input_file
- 讀入一個已知的壞塊列表。
Badblocks
命令將會跳過對這些已知是壞塊的區塊檢查。如果
input_file
引數是“-”,則列表從標準輸入讀入。
在這個列表中列舉出的區塊也會在
新的
壞道記錄檔案或者壞道記錄輸出時被忽略掉。
dumpe2fs(8) 的 -b
選項能夠在一個已有的檔案系統中得到被標記為壞塊的列表,而且已經做成了符合這個選項的格式。
-
-o output_file
- 將壞塊的列表寫到指定的檔案中。如果沒有這個選項,
badblocks
命令會在標準輸出中輸出這個列表。其格式是與
e2fsck(8) 或者 mke2fs(8). 的 -l
選項的要求相適應的。
-
-p num_passes
- 重複的掃描磁碟,直到重複“num_passes”遍磁碟掃描後也沒有發現新的區塊後結束。
預設值是0。表示 badblocks
命令成功執行一遍掃描後就會結束。
- -n
- 使用非破壞性的讀寫模式。預設值是非破壞性的只讀模式測試。這個選項不能與
-w
選項一起使用,因為它們是互斥的。
- -s
- 透過輸出正在被檢測的區塊的號碼以表示檢測程序。
- -v
- 混雜模式檢測。
- -w
- 使用寫模式測試。透過使用這個選項
badblocks
透過往每個區塊上寫入一些特定的字元(0xaa,0x55,0xff,0x00),讀出來後再比較其內容,決定是否為壞塊。
這個選項不能與 -n
選項一起使用,因為它們是互斥的。
千萬不要將
-w
選項用在一個已經包含了檔案系統的裝置上。這個選項會刪除掉原有的資料!
如果你想要在已經有檔案系統的裝置上執行讀寫模式檢測,請使用
-n
選項。雖然慢點,可是它能夠保護你的資料不受傷害。
badblocks 作者是Remy Card <
[email protected]>.
維護人 Theodore Ts'o <
[email protected]>.
非破壞性的讀寫模式測試由David
Beattie <
[email protected]>進行.
badblocks
是e2fsprogs套件的一部分。能夠從支援匿名訪問的ftp站點tsx-11.mit.edu的/pub/linux/packages/ext2fs目錄下取得。
e2fsck(8),
mke2fs(8)
Bill Pan <[email protected]>
http://cmpp.linuxforum.net
本頁面中文版由中文 man
手冊頁計劃提供。
中文 man 手冊頁計劃:
https://github.com/man-pages-zh/manpages-zh