あとからデータを復旧されないために、データを完全消去する方法について調べてみました。
※基本的にArchWikiの記事に書いてあることを抜き出しただけです。
ディスクの完全消去 - ArchWiki
ソリッドステートドライブ/メモリセルの消去 - ArchWiki
最初に
USBブートなどで外部ディスクからOSを起動し、データ消去の対象となるデバイスをマウントします。(当たり前ですが、内部ディスクを使って起動したOSからでは内部ディスクを完全消去はできません)
ここでは、Linux系のOSを使うことを前提にします。
lsblk
などのコマンドで、対象とするデバイス名を確認。(サイズを確認すればだいたい分かるはず)
HDDの場合
shredコマンドを使うのが分かりやすいでしょう。shred -v -n 3 -z /dev/sdX
/dev/sdXの部分は、消したいデバイス名に変えてください。
上のコマンドで、
- ランダムデータをディスク全体に書き込む(3回)
- 最後にすべてゼロで上書きする
を実行します。
-nのあとの数字を変えれば、ランダムデータを書き込む回数を変えることができます。回数を増やすほど時間がかかりますが、安全度は増すはず。
SSDの場合
SSDは内部構造が違うため、上記の方法で上書きするのは有効でない可能性があるそうです。よって別の方法を使います。※SATA接続の場合の手順。NVMeの場合はまた別の方法になるようです。
1.ドライブのセキュリティをnot frozenにする
hdparm -I /dev/sdX | grep frozen
これでnot frozenと表示されたらOKです。
frozenと表示された場合、なんとかしてロック解除してnot frozenに変える必要があります。サスペンド→復帰を繰り返すとうまくいったりするらしいです。
2.ドライブにパスワードを設定する
hdparm --user-master u --security-set-pass PasSWorD /dev/sdX
PasSWorDの部分は設定したいパスワードに変えてください(次の作業で一時的に使うだけなので何でもいい)
3.Secure Eraseの実行
hdparm --user-master u --security-erase-enhanced PasSWorD /dev/sdX
もしくは
hdparm --user-master u --security-erase PasSWorD /dev/sdX
を実行します。security-erase-enhancedのほうがより入念に削除するようなので、基本的にそちらを選べばいいでしょう(デバイス側が対応していなかったらsecurity-eraseを選ぶ)。これで終了です。