Linuxを使ってM.2 SSDをSecure Erase する

M.2 SATA SSD。

USB外付けケース(アダプタ)に繋いでWindowsからTxBENCH消せるのではと思ったが、Secure EraseはUSB経由ではNGとわかった。

マザーボードに直挿ししてUbuntuから消去することにする。

今回は2026.4.13現在の安定版、Ubuntu 24.04.4 LTSのLIVE USBを作成。
(1)USBメモリから起動。

(2)デバイスを調べる

Gpartedで確認し、削除対象のデバイスは /dev/sda とわかる。

(3)SSDの状態を確認する。
sudo hdparm -I /dev/sda
Securityのセクションに注目。

----------
Security:
......
supported
not enabled
not locked
frozen

----------

supported:Secure Erase機能に対応している
not enabled:セキュリティロック(パスワード)が設定されていない
not locked:ロックされていない
frozen:BIOS/UEFIレベルでSSDへのアクセスが禁止されている

(4)frozen解除のため、OSをスリープさせる。

UbuntuではSuspend。

サスペンドの後、not frozenに変わった。

(5)消去前に先頭セクタの中身を確認
sudo hexdump -n 4096 -C /dev/sda
-n でバイト数を制限する(4098は余裕めに)

"EFI PART"などなんとなく意味のあるデータが入っていることがわかる。

(6)念のため、消去前に意味のある文字列の存在を確認
sudo dd if=/dev/sda bs=512 count=32 | strings
※512バイト(1セクタ)単位で読み込み、32セクタ = 16384バイト
stringsコマンドがないとエラーになったら、インストール可能。
sudo apt install binutils

やはりEFI PARTが文字列として残っている。

(7)更に念のため、末尾側セクタの中身を確認

sudo bash -c 'hexdump -C -s $(($(blockdev --getsz /dev/sda)*512 - 4096)) /dev/sda'

やはり、意味のあるデータが残っている。
次から消去プロセス。

(8)一時パスワードの設定
sudo hdparm --user-master u --security-set-pass p /dev/sda

(9)Secure Eraseを実行する。
sudo hdparm --user-master u --security-erase p /dev/sda

(10)もういちどGPartedで確認。

unallocatedになっていれば少なくともドライブ情報などは消えている。

(11)消去後に先頭セクタの中身を確認
sudo hexdump -n 4098 -C /dev/sda

読み取りができる何か意味のある文字列が残っていないか確認をする。
今回の場合、4098バイトの上限に満たずに読み込みが止まっている。止まっているということは良い兆候とChatGPTは言った。
Secure Erase前はどこまでもスムーズにデータが取れ得る、Secure Erase後読み込みが途中で止まるのは異常ではないとのこと。

(12)念のため消去後に末尾側セクタの中身を確認
sudo bash -c 'hexdump -C -s $(($(blockdev --getsz /dev/sda)*512 - 4096)) /dev/sda'

同じく有効なデータが何もないこととと、すべて読み込めていないことを確認。