ディスクのデータ消去(SSD・Linuxコマンド編)

ディスクのデータ消去において、HDDとSSDでは適した方法が異なる。

HDDの場合、データ領域に対してゼロや乱数を上書きすることで消去できる。
しかし、SSDはHDDとデータ管理の仕様が異なっており、単純な上書きでは完全なデータ消去が難しい。
このため、SSDには自らのデータを消去するための仕組み「Secure Erase」が搭載されている。

以降では、LinuxでSecure Eraseを実行する方法を記載する。
間違って実行してしまった場合、消えたデータを復元することはまず不可能な状態になるため、作業は慎重に行う必要がある。


ATA接続されているSSDのデータ消去

# ディスクのデバイスファイル名を調べる
fdisk -l


# ディスクの詳細を表示
# 以下を確認する
# Secure Erase や Enhanced Secure Erase の対応有無
# frozen(Secure Eraseが実行できないように保護されているか)
hdparm -I /dev/sda


# frozen状態を解除するためにマシンをサスペンド(スリープ)にする
# 再度ログインするとfrozenが解除される
# frozen状態が変わらない場合、SSDの電源をオフ/オンする
sudo systemctl suspend


# 対象ディスクにパスワードを設定し、Secure Erase を有効にする
# パスワードはSecure Erase完了後にリセットされるため、値は適当で良い
# 以下のコマンドでは「xxxx」にしている
sudo hdparm --user-master u --security-set-pass xxxx /dev/sda


# Secure Eraseを実行する
sudo hdparm --user-master u --security-erase xxxx /dev/sda

# Enhanced Secure Erase に対応している場合、こちらを実行する
sudo hdparm --user-master u --security-erase-enhanced xxxx /dev/sda


NVMe接続されているSSDのデータ消去

# nvme-cli をインストール
sudo apt install nvme-cli


# 対象デバイスを確認する
sudo nvme list


# 全ユーザデータを暗号化した上で消去
sudo nvme format /dev/nvme0n1 -s 2

# 全ユーザデータを消去(暗号化なし)
sudo nvme format /dev/nvme0n1 -s 1

タイトルとURLをコピーしました