HDDのデータ消去に使うたった2つの冴えたやりかた

LINEで送る
Pocket

がじです。

NASを買って古くなったHDDですが、廃棄するときに個人データを消去しなくては人に見られたくないデータとか全消去するの、面倒ですよね。

そんな時に使える2つの方法を今回は紹介します。

知っている人はなんだよ今更って感じだと思いますが、まあ、それはそれ。

前準備として、センチュリーの裸族のお立ち台を用意しておきます。

—広告ここから—

センチュリー 裸族のお立ち台スーパーコンボSATA6G FireWire800/400、eSATA、USB3.0搭載HDDクレードル CROSFEU3S6G

新品価格
¥9,780から
(2014/9/7 20:58時点)


—広告ここまで—

↑の商品は4Kセクタ対応品ですが、私が今回消去したのは512Byteセクタ品なので、商品購入の際には対応したものを選んでください。

まず1つ目のやり方

ddコマンドを使います。

Linuxマシンを起動して裸族のお立ち台に消去したいHDDを接続してUSB接続します。
対象のHDDがどういう名前で接続されているか、dmesgコマンドなどで確認します。
ここでは/dev/sdcドライブとして認識されているものとして話を進めます。
★環境によってドライブ名は変わるので間違えると対象ではないディスク環境を破壊しますので、十分ご注意ください。

ddコマンドはファイルシステムはデバイスファイルに直接アクセスしてファイルやデータのコピー、書き込みができるコマンドです。

このコマンドを使ってHDDを全部0(ゼロ)で書き込みします。

sudo dd if=/dev/zero of=/dev/sdc bs=16M

/dev/zeroは0を示すデバイスファイルで常に0を返します。ここから読みだしたデータを対象のHDDに書き込むわけです。bs=16Mは16MByte単位で書き込むという意味です。書き込みスピードをちょっとでも速くしたい場合はディスクキャッシュと同じか少し大きめの値にしておくのがよいでしょう。

この状態でHDDの最初から0書き込みが始まりHDDがFullになった状態でコマンドが停止します。ディスクのサイズにもよりますが、めっちゃ時間がかかります。

私の環境での実測では250GByteのHDDで2.5時間。500GbyteのHDDで6時間弱時間がかかりました。(細かく記録してないので大体です)

これでHDDが全部データ0で埋めつくされたわけですが、厳密にはそううまくはいきません。磁気ヒステリシスというものがありまして、磁気ディスクにゼロを書けといってもややゼロより大きめの値になるのですね。PCはデジタル値でデータを判別するので磁気が残っていてもある閾値より低ければゼロとして扱うわけです。

なのでセクタ単位で磁気の値をアナログ値で読みだせば理論的にはデータを再現できるわけです。

これを避けるために全FF書き→全00書→全FF書が推奨されたりするのですが、個人ではそこまで気にする必要はないでしょう。一日じゃ終わらなくなるし。

気になる場合は/dev/zeroの代わりに/dev/urandomを使って

sudo dd if=/dev/urandom of=/dev/sdc bs=16M

とでもしておけばよいでしょう。私は最初/dev/randomを使おうとしたのですが、/dev/randomはPCの作る疑似乱数としてよりランダムに近い値をエントロピープールというもので判断して値をブロックするのでこのような用途には向きません。値をブロックしない/dev/urandomを使う必要があります。

乱数としての信頼性は落ちますが、別に乱数化が目的じゃなくてHDDのデータを破壊するためなので問題ないでしょう。

2つ目のやり方

ツールに任せる方法です。
私がよく使うのがDBAN(http://www.dban.org/)です。

このツールを使うと単なるゼロ消しやランダム書き込みだけでなく、研究者の提案するいろいろな消し方を選択できます。使い方はダウンロードしたISOイメージをDVD-ROMやCD-ROMに焼いて起動。メニューから消去したいHDDと消去方法を選択して後はひたすら待つだけです。

しばらく前の私はこちらを使ってましたが、最近は面倒臭くなってddコマンドばっかり使っています。

尚、SSDの場合は記録方法が異なるのでDBANのページで紹介されている優勝版のBlanccoを使ってください。
私はまだ使ったことないです。(・・;)

SSD持ってないしフラッシュメモリはいざとなればレンジでチンすれば・・・あわわレンジは火事になるのでやっちゃダメダメ!!。

ま、一番確実なのはハンマーで粉々にすることですが、それはそれで廃棄が面倒になりそうなので私にはできません。

あれ、2つじゃなくなっちゃった。

2014/09/27追記:
最近になってbadblocksという便利なコマンドがあることを知りました。無知って怖いわー。上の記事が恥ずかしい。

LINEで送る
Pocket