photo 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