以下省略!

タイダルウ(ry ほぼ毎日1記事執筆運動実施中。 ※記事に広告(アフィリエイト)リンクを掲載している場合があります。

Check FlashのLinuxでの代替になるものを探していたらbadblocksというツールがあった

http://www.flickr.com/photos/62511690@N05/6773498134photo by haileyxb microSDの購入を検討した結果32GBで東芝の海外パッケージのやつをポチったのだが、レビューなどを見るとわかる通り、フラッシュメモリには初期不良がつきもの。Check Flashというツール不良セクタがないか確認できるが、このツールWindowsのみでしか動作しない*1
そこでLinuxで代替になりそうなツールを探してみたところ、badblocksというツールを見つけた。大抵のLinuxには入っているであろうツールである*2

badblocksでテスト

Man page of BADBLOCKS
HDD等の不良ブロックを探すツールだが、フラッシュメモリでも使える。

以下のようにしてテストする。予めマウント解除&デバイス名(パーティションでもOK)を確認すること(以下の例はフラッシュメモリが/dev/sdbにある場合を想定)。

$ sudo badblocks -sv /dev/sdb

「Pass completed, 0 bad blocks found. (0/0/0 errors)」みたいになにもエラーが出なければ問題無し。

書き込みもテストできる

デフォルトでは読み込みのみのテストだが、オプションに-nか-wを付けることで書き込みテストもできる。後者の-wオプションは警告なしにデータを破壊する(が、-nオプションよりは早いらしい?)のでデータが消えてもいいものを使うこと。

$ sudo badblocks -svw /dev/sdb

ちなみに

ext2/3/4ファイルシステムを作りたいときはmke2fsに-cオプションを加えると不良ブロックをチェックできる上、不良と判断されたブロックを使用禁止にしてファイルシステムを作成するので覚えておこう。
-cオプションを2回加えると読み込みテストに加え書き込みテストも可能。

*1:Wineを通せば動くかは不明。動いたとしても一時ファイルメソッドしか使えないと思う

*2:正確にはe2fsprogsというパッケージに入っている