Index > メモリステックの完全消去方法(WindowsXP+Cygwinを使用)
Sun, January 18, 2009

メモリステックの完全消去方法(WindowsXP+Cygwinを使用)

オークションでメモリステック(MemoryStick)を処分したのですが、 内容を完全消去する方法がわからなかったので調査しました。

shredとfsutilを組み合わせて完全消去する

調べてみると、shredというツールがあることがわかりました。

ファイルを完全に消去するには、以下のようにします。

$ shred --remove foo.txt

また、デバイスの内容を丸ごと消去するには、

# shred -z -v /dev/hdb

とあります。
しかし、WindowsのCygwinに shredコマンドはあるものの、Windows上では、/dev/hdb といった指定ができません。 (方法をわたしが知らないだけの可能性もあります。)

そこで、以下の方法をとることで完全消去を目指すことにしました。

  1. 完全消去の対象となるディスクと同じサイズの大きさのファイルを対象ディスク上に作成
  2. shred でそのファイルを完全削除

完全消去の対象となるディスクと同じサイズの大きさのファイルを対象ディスク上に作成

削除対象のディスクとちょうど同じサイズのファイル・・・などは手元にないのが普通。 しかし、fsutil というツールを使えば、簡単にサイズを指定してファイルを作成することができます。

巨大なサイズのファイルを簡単に作る方法

$ fsutil.exe file createnew foo.img 1024

1024のところがファイルサイズ指定です。 1024が1Kに該当するので、たとえば、100Mのファイルサイズは・・・

ということで、

$ fsutil.exe file createnew foo.img 104857600

とすることで、foo.img というファイル名で100Mのサイズを持つファイルを作成できます。

shred でそのファイルを完全削除

後は shred でファイルを削除するだけです。

$ shred --remove -v -n 3 -z foo.img

処理時間がかかるので、 オプション -v を指定しないと、不安になります。
また、 オプション -n も指定した方がいいと思います。

追伸:NTFSでフォーマットできるディスクの完全消去方法

完全消去したい対象ディスクが、NTFSでフォーマット出来る場合は、 Windows(Windows 2000およびWindows XP Professional)に標準付属のツール 「cipher.exe」を使えばよいようです。

このページの説明によれば、 FATのファイルシステムでも、4G以内の場合は、cipher.exe を使用しても問題がないようです。

 Twitter
follow me on Twitter
 Categories