Linuxには、そのためのshredというコマンドが用意されています。
環境
・Ubuntu 10.10 Desktop 64bit
まずは、fdiskで、消去したいデバイスを調べます。
$ sudo fdisk -l
ディスク /dev/sda: 128.0 GB, 128035676160 バイト
ヘッド 255, セクタ 63, シリンダ 15566
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
Disk identifier: 0x00031378
デバイス ブート 始点 終点 ブロック Id システム
/dev/sda1 * 1 14928 119909128+ 83 Linux
/dev/sda2 14929 15566 5124735 5 拡張領域
/dev/sda5 14929 15566 5124703+ 82 Linux スワップ / Solaris
ディスク /dev/sdf: 32 MB, 32768000 バイト
ヘッド 2, セクタ 32, シリンダ 1000
Units = シリンダ数 of 64 * 512 = 32768 バイト
Disk identifier: 0xe4cb8593
デバイス ブート 始点 終点 ブロック Id システム
/dev/sdf1 * 1 999 31952 4 FAT16 <32M
ディスク /dev/sda: 128.0 GB, 128035676160 バイト
ヘッド 255, セクタ 63, シリンダ 15566
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
Disk identifier: 0x00031378
デバイス ブート 始点 終点 ブロック Id システム
/dev/sda1 * 1 14928 119909128+ 83 Linux
/dev/sda2 14929 15566 5124735 5 拡張領域
/dev/sda5 14929 15566 5124703+ 82 Linux スワップ / Solaris
ディスク /dev/sdf: 32 MB, 32768000 バイト
ヘッド 2, セクタ 32, シリンダ 1000
Units = シリンダ数 of 64 * 512 = 32768 バイト
Disk identifier: 0xe4cb8593
デバイス ブート 始点 終点 ブロック Id システム
/dev/sdf1 * 1 999 31952 4 FAT16 <32M
今回は、32MBのUSBメモリを消去してみます。
下記のコマンドで、ランダムデータの書き込みを4回行います。
$ sudo shred -n 4 -v /dev/sdf1
万全を期す場合は、-zオプションを使います。ただし、すごく時間かかります。
$ sudo shred -z -v /dev/sdf1
今回使ったオプション
-n・・・ランダム書き込みを行う回数
-v・・・進捗状況の表示
-z・・・ランダム書き込みを25回行い、最後に0を書き込む