dullwhaleのメモ帳

何度も同じことを調べなくてよいように...

内蔵SSDをEnhanced Secure Eraseで速く安全にデータ消去する

前提条件

  • hdparmコマンドが使えるLinuxライブ環境
  • ATA接続されているSSD

作業

Linuxのライブ環境が起動したら、一旦サスペンドする。

sudo systemctl suspend

そしてサスペンドから復帰する。 このサスペンド・復帰はSSDのSecure Eraseに対する保護frozenを解除するための手順である。

次のコマンドで削除対象のSSDを調べる。

hdparm -I ${デバイスファイル}

特に次の2つの記述をよく見る。

  • not frozen この状態じゃないとSecure Eraseができない。
  • supported: enhanced erase あればEnhanced Secure Eraseができる。削除時のオプションが少し変わる。

次のコマンドでデバイスに対してパスワードを設定する。 この後の削除でパスワードごと消されるから、パスワード文字列は何でもいい。 ここではpasswordとしている。

hdparm --user-master u --security-set-pass password ${デバイスファイル}

実際にSecure Eraseを実行する。 Enhanced Secure Eraseをサポートしているか否かでコマンドが変わる。

# Enhanced Secure Eraseをサポートしている場合。
hdparm --user-master u --security-erase-enhanced password ${デバイスファイル}
# Enhanced Secure Eraseをサポートしてない場合。
hdparm --user-master u --security-erase password ${デバイスファイル}

完了まで数分かかる。 完了までの予測時間はhdparm -Iに書かれている。 完了すると、特に何も出力せずに終了する。

注意

一部の記事でEnhanced Secure Eraseを行うために--sanitize-block-eraseというオプションを使っているものがあるが、自分の環境では使えなかった。 恐らく、hdparmコマンドのバージョンが低い。