ゼロ書き込みしたHDDの状態を確認する方法

ddコマンドやshredコマンドなどでゼロを書きこんだ結果、ゼロで埋め尽くされているか確認する方法。


【検証環境】
VMware仮想マシン(CentOS5.x)に8GBのHDD(/dev/sdb)を追加。
適当にデータを書き込んだ後、shred -n 3 -z -v /dev/sdab で削除。
ゼロ書き込みされたかを確認する。


【確認方法】
HDDに対して、odコマンドを使って確認する。

# od -tx1 --read-bytes=10b /dev/sdb
0000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 *
0012000

・左側は、アドレスを示す(デフォルト8進数表示、16バイト→20)
 --address-radix=d|o|x|n のように基数を指定できる。
 「00」の行が連続する場合は、*で省略される

・--read-bytes= で読み込むバイト数を指定
 数値の後にbで512、kで1024、mで1048576 倍される。

・ファイルのほか、/dev/sdb などのデバイスも指定できる。



全領域を確認すると、コンソールにHDDの容量だけの文字列が出力されてしまうため、odの結果をgzipにパイプで渡して圧縮する。

# od -tx1 /dev/sdb | gzip -c > hoge.gz

圧縮されたodコマンドの結果をzcatで開いて先頭5行を表示してみる。

0000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 *
100000000000


左側の部分 = 100000000000(8) = 8589934592(10) = 8G

これで全領域が「0」で埋め尽くされていると確認できる。