メニュー 閉じる

(比較的)簡単にHDD/SSDのSecure Eraseをする

2021/05/12
末尾にVMwareがクラッシュする件について追記しました。

SSDの完全消去等でググるとよく出てくるキーワード「Secure Erase」ですが、これはHDDでも適用できるキーワードです。

これを実際にやろうとすると、Windows上で動作するツールもあるのですがSecurity Frozenだとか途中でエラーになるとか、ソフトウェアによっては自社製品しか対応しないとか、中々うまく行かないことが多いです。
かといって、ブータブルメディアを使った環境ではその間PCが利用できませんし、近年はセキュアブートが有効になっている都合で、サクッとCD起動ができなかったりします。

この記事では、Windowsを動作させたまま比較的簡単に処理することを目的に、方法を紹介します。

そもそもSecure Eraseとは

SSD/HDDの規格化されているATAコマンドのことで、このコマンドを実行するとディスクの内部処理でデータ消去が実行されます。
コマンドには2種類あって、

  • Secure Erase
    ディスク全体(ユーザーエリア限り)にゼロを書き込む
  • Enhanced Secure Erase
    ディスク全体(ユーザーデータ及び、代替セクター)に特定パターンのデータを書き込む

といった違いがあります。

SSDにおけるSecure Eraseの意義

長期間SSDを利用していると(一定以上のデータを書き込むと)主に書き込み速度が低下するのですが、Secure Eraseをすると改善すると紹介しているサイトも多くあります。
速度低下の原因は、消去された領域でも実際にはデータが残っていて、再利用するときに書き換え処理が発生するからです。
SSD内のデータを完全消去することで、書き換え処理がなくなるので速度が改善します。

HDDにおけるSecure Eraseの意義

純粋に完全消去する方法として存在するのですが、ハードウェア的に処理するため、よくある完全消去ツールよりも圧倒的に高速消去できる優れた手段です。
このようなツールは全領域に対して0埋めやランダム値の書き込み、さらには複数回の上書きを行いますが、ソフトウェア的に処理するため低速です。

また、Secure Eraseは1回の書き込み処理です。
HDDの完全消去と言えば繰り返しデータを書き込みするのが常識みたいな感じでしたが、近年の研究では15GB以上の高密度HDDでは1回の上書きで十分となっています。

Security Frozen

Secure Eraseは優秀なディスク消去の手段ではありますが、非常に危険なコマンド(ディスクへのパスワード設定や、途中で処理を停止できないなど)のため、通常は実行できないようロックされています。
これをSecurity Frozenモードと言います。
Security Frozenモードを解除しなければ、Secure Eraseが実行できません。

内蔵ディスクの場合は起動時にSecurity Frozenモードになるようです。
(自分の環境では)外付けディスクはSecurity Frozenになりませんでした。
Security Frozenを解除する方法としては、PC起動中にディスクの電源を落とす必要があるとのことで、一度ケーブルを抜く方法がよく紹介されているようです。

ちなみに「途中で処理を停止できない」というのは実は重要で、ハードウェア内の処理となるためソフトウェア的に進捗を確認したり、処理を停止できません。
代わりに、実行時に想定の処理時間が、完了時に処理結果が返されるのみとなっています。

Secure Eraseを実行できるツール

  • SSD各社のツール
    • Windows上で実行できるものがほとんどです。
    • 各社独自にツールを用意していますが、自社製品しか処理できなかったり、SSDしか見えなかったりします。
  • TxBench
    • Windows上で実行するベンチマークソフトウェアですが、メーカー、HDD/SSD問わずSecure Eraseの実行が可能です。
    • 想定の処理時間を超えても完了しない場合に、処理が失敗扱いとなるようです。
  • PartedMagic
    • CD起動のLinuxで動作するパーティション操作、データ復元ツールで、Secure Eraseの実行が可能です。
    • 内部的にはhdparmを利用しているようです。
    • 今は有料ソフトウェアのようです。
  • Secure Erase
    • カルフォルニア大学サンディエゴ校が公開している、CD/USB起動で動作するツールです。
    • ツール名がコマンドのままで混乱するので、以降はSecure Erase (UCSD) と記載します。
  • Wipe-outバージョン2.0開発版
    • 有名なHDD消去ソフトウェアの開発版です。CD/USB起動で動作します。
    • 開発版のためか分かりませんが、自分の環境では仮想マシンで起動させるとカーネルパニックになりました。

試してみた

SSD各社のツール

SSD/HDDをSecure Eraseしようとして、まずWindows上で動作するSSD各社のツールを試しました。
試したのは以下の2つです。

ADATAの方はSSD、HDD共に内蔵ディスクであれば認識するのですが、外付けディスクは認識できないようでした。
また内蔵ディスクの場合は、ツール上からSecurity Frozenモードを解除できないため、Secure Eraseを実行できませんでした。
Intel SSD Toolboxは、そもそもIntelのSSD以外はリストにすら出てこない有様でした。

TxBench

次にTxBenchを試しました。
外付けディスクであればSecurity Frozenモードにならないので、取りあえずSecure Eraseは実行できたのですが、HDDの場合は処理が想定時間中に終わらなければ失敗扱いとなるようで、正常完了したのか本当に失敗したのか分からないという問題がありました。
ちなみにSSDであればSecure Eraseは正常終了し、SSDの書き込み速度が無事改善したことは付け加えておきます。

ブータブルメディア

次にCD起動のツールは一応試しましたが、自分のPCがセキュアブートのためブートできず(UEFIでモードを切り替えれば良いのですが面倒)、PCが長時間利用できなくなるため諦めました。

どうすればいいのか

前置きが長くなりましたが、色々試行錯誤した上で、当初の「Windowsを動作させたまま比較的簡単に処理すること」を実現できる方法として、最終的に以下のやり方に落ち着きました。

環境

SSDでSecure Eraseを実行するには

SSDのSecure Eraseは一瞬で完了することもあり、裸族のお立ち台+TxBenchでSecure Eraseをするだけで十分です。

HDDでSecure Eraseを実行するには

HDDのSecure Eraseの場合は、長時間にわたるSecure EraseをTxBenchで実施するのは不適だと考えています。

といってもWindowsで動作するちょうど良いツールが中々存在しなかったため、VMwareの仮想マシンを使ってCDブートのツールを使うことにしました。
CD起動のツールには、Ultimate Boot CD(以下、UBCD)に含まれるSecure Erase (UCSD)を使うことにしました…が、うまく使えなかったので同じくUBCDに含まれるPartedMagicを使います。

UBCDは、CD起動で色々使える便利ツールを詰め合わせたCDです。
なお、これからやることはCD起動できるLinuxであれば同様のことが可能(PartedMagicもhdparmを叩いているだけ)ですが、これ1枚あると他にも色々使えるということで今回はこれを使います。

Windowsを起動したままやる、UBCDによるSecure Erase

やり方は次のようになります。

  1. Ultimate Boot CDの最新版をダウンロードします。
    1. Download UBCDページを開き、Mirror Sitesのダウンロードリンクからダウンロード可能です。
  2. VMware Workstation Player(以下、VMware)のインストーラーをダウンロードし、インストールします。
  3. VMwareを起動し、CD起動用の仮想マシンを新規作成します。
    • インストーラディスク イメージ ファイルには、ダウンロードしたisoイメージを指定します。
    • ゲストOSの種類は、何でも良いですが適当なLinuxを選択しておきます。
    • CD起動するので、ディスク容量は最小限で構いません。
  4. 裸族のお立ち台にHDDを立たせて、USBでPCに接続しておきます。
  5. 作成した仮想マシンを起動させます。
  6. Playerのメニューから、取外し可能デバイス>ASMedia ASM1351>接続(ホストから切断)を選択します。選択すると、デバイスがホストから切断される旨のメッセージが表示されるので、OKをクリックします。

  7. Ultimate Boot CDの起動画面で、Parted Magicを選択します。

    • Default settings (Runs from RAM) の下にあるLanguageを選択し、Japaneseを指定することで以降のUIが日本語になります。

  8. Linuxのデスクトップが表示されたら、「ディスクの初期化」を選択します。
  9. 内部のセキュアEraseコマンドはデータ領域全体にゼロを書き込み、を選択します。
  10. sdaの情報が、裸族のお立ち台に立たせているHDDと一致していることを確認し、OKを選択します。
  11. パスワードを設定する画面になるので、NULLを入力してOKを選択します。
  12. 処理の確認画面が出てくるので、Secure Eraseを実行して良ければYesを選択します。
  13. Enhanced Secure Eraseが実行出来るHDDであれば(ほぼできると思いますが)、Enhanced Secure Eraseを実行するか聞かれるので、Yesを選択します。
  14. Secure Eraseが始まると、次のようなダイアログボックスが表示されるので、そのまま放置します。
  15. Secure Eraseが完了すると、次のようなダイアログボックスが表示され、completedと表示されていれば成功です。

Secure Eraseを開始した直後にVMware Playerがクラッシュする場合(2021/05/12追記)

上記の例ではVMware Workstation 15 Playerを利用していますが、VMware Workstation 16 Playerで同様のことを実施した際に、VMware Playerがクラッシュする事象に遭遇しました。
原因は分かりませんでしたが試行錯誤をしたところ、仮想マシンのネットワークアダプタを削除したところ、クラッシュしなくなったため、同様の事象が発生した方は試してみてください。

Posted in 日記

関連投稿

コメントを残す

Amazon プライム対象