ShredOSでNVMe SSDのデータを消去する
PCを廃棄するときにストレージが物理破壊できればいいんですが、近くに破砕サービスを提供している事業者がないとか、そもそもリース機で破壊できないとかあると思います。
最近のマシンだとデータ消去用ユーティリティが内蔵されているものもありますが、微妙に古いマシンではそういうユーティリティが期待できないこともあります。
この文章ではNVMe SSDのデータをShredOSで消去する方法を記述します。
必要なもの
- 適当なWindowsPC
- 16GBくらいのUSBフラッシュメモリ
ShredOSのダウンロード
公式サイト
shredos.x86_64
とにかく最新のものをダウンロードします。
2024年12月時点での最新版は ShredOS version v2024.02.2_26.0_x86-64_0.37 (Latest Release) です。
USBフラッシュメモリにインストールするので ShredOS .img x86_64bit for USB Vanilla をダウンロードします。
イメージフラッシュツールのダウンロード
公式が推奨している通りRufusかetcherをダウンロードします。
この辺は好みの問題なのでどちらでもいいと思います。
イメージフラッシュツールでShredOSをインストールする
ダウンロードしてきたShredOSの.isoイメージをイメージフラッシュツールでUSBフラッシュメモリに展開します。
破壊作業
USBフラッシュメモリを対象PCに接続する
起動ディスクとして認識させる必要があるのでUSBハブとかは使わないほうが無難です。
PCを起動する
F1だったりF2だったりF8だったりF10だったりF12だったりしますが、とにかく「起動デバイス選択」画面を起こします。
どのキーが対応してるかはPCのマニュアルに書いてあるはずなので、頑張って探してください。
ShredOSはBIOS/UEFIの両方に対応していますので、BIOS/UEFIの設定とかは基本的に不要なはずです。
USBフラッシュメモリから起動する
USBフラッシュメモリが選択肢の中にあるはずですので、それを選択します。
場合によっては「Legacy」「UEFI」の2つで表示されている場合がありますが、その場合はUEFIでいいです。
画面を切り替える
ALT + F2キーでコマンド入力用の画面に切り替えます。
SSDのFrozenを解除する
SSDが起動時にロックされた状態になっているので、スリープ状態にしてSSDに電源を落とした状態と認識させてロックを解除します。
rtcwake -m mem -s 5
一瞬スリープに入って数秒後(コマンド的には5秒後)に再起動してきます。
対象のNVMe SSDのデバイスファイルを探す
ls /dev/nvme*
ぞろぞろと出てくると思いますが、1つしか搭載していなければたぶんnvme0なんじゃないかなと思います。
今回は /dev/nvme0 として進めます。
暗号化的消去を指定してのフォーマットコマンド
とりあえずフォーマットします。
nvme format /dev/nvme0 -s 2 -n 1
暗号化的消去ができない場合
-sオプションは0から2まで選択可能です。
0はちょっと意味が分からないのですが、1のほうは少なくとも何かしら削除はしてくれそうです。
0 : secure eraseを要求しない
1 : ユーザーデータの消去を試みる
2 : 全ユーザーデータの暗号化的消去を試みる
nvme format /dev/nvme0 -s 1 -n 1
さらにサニタイズする
ユーザーデータが消えていれば基本的には大丈夫なんじゃないかなとは思いますが、念には念を入れておきます。
nvme-cliではデータ消去用のコマンドであるsanitizeがありますので、これ用いて消去します。
nvme sanitize /dev/nvme0 -a 4
コマンドは一瞬で終わったように見えますが、これはあくまで「デバイスにサニタイズ命令を発行したら終わり」という挙動なためで、裏ではデバイスが頑張って削除しています。
進行状況についてはデバイスに直接聞いてみるしかないようなので、聞いてみるコマンドを投入します。
nvme get-log /dev/nvme0 -i 0x81 -l 512
0 1 2
0000: ff ff 01
ff ff 01 になっていれば終了です。電源を切ってUSBフラッシュメモリを取り外しましょう。