ディスクをランダムデータで上書きする
ノートPCを買い取りに出そうと思ってXPを再インストール。パーティション選択のところでクイックじゃないほうのフォーマットを選んだが、念のためインストール後にファイル復元ツールで確認してみたところ、ばっちり全部残ってた。危ない危ない。
ファイルの完全削除ツールを探してみたがフリーでまともなのが見あたらない。ランダムデータで空き領域を何回か上書きしてくれさえすればいいんだが、それだけのためにお金を払う気になれない。ということで、作ってみた。
def random_write(file, bits) random_data = (Array.new(2 ** bits) {rand(256)}).pack("C*") begin File.open(file, 'w') do |w| w.write random_data while true end rescue puts $! #=> Bad file descriptor File.unlink file end end 1.upto 3 do random_write('random_data', 24) # 2 ** 24 => 16M end
幸いうちのノートは18Gしかディスクがないので、これで十分。明日あたり下取りにいこうかな。