LinuxでHDD・SSDのデータを完全にワイプする方法|確実な消去手順まとめ
パソコンを新調して古いPCを手放すとき、「個人的な写真がインターネット上に流出したらどうしよう」と不安になる方は多いはずです。HDDやSSDからデータを完全に消去したい理由はさまざまあります。しかし残念ながら、実際の削除プロセスはハリウッド映画のようにスイッチ一つで数秒ですべてが消える、というものではありません。
とはいえ、少しの忍耐とターミナルでのコマンド入力、あるいは適切なLive CDさえあれば、HDDやSSD全体をワイプし、第三者によるデータ復元を困難——場合によっては不可能——にすることができます。
セキュアイレース(Secure Erase)は本当に安全なのか?
セキュアイレースはストレージデバイスの内容を完全に消去する機能で、長年にわたり、ほとんどのHDDやSSDのファームウェアに搭載され、安全な削除方法として推奨されてきました。ところが実際には、多くのユーザーから深刻なトラブルが報告されています。
その実装はベンダーごとに異なるようで、場合によってはデータが完全に削除されないこともあるのです。
また、「内部ドライブを外部ドライブ化するコントローラー」が電力コスト削減のためスリープモードに移行し、その結果デバイスが動作しなくなった(いわゆる「ブリック状態」)という報告もあります。さらに、BIOSの不具合が原因で処理が途中で中断されるケースもありました。
さらに、容量15GB未満のかなり古いハードディスクでは、そもそもこの機能自体がサポートされていません。
こうした事情から、「公式かつ最良」とされるセキュアイレースは、実は一種の賭けのようなものです。そこで本記事ではこれをスキップし、より確実な代替手段を紹介します。
なぜ「データの上書き」が必要なのか
現代のOSでファイルを削除すると、通常は「ゴミ箱」に移動されます。気が変われば、しばらくの間ならデータを復元できます。
では、ゴミ箱を経由しない「完全な」削除なら安全なのでしょうか? 実はそうでもありません。ファイル自体は消えておらず、メディアのコントローラーがファイルが占めていた領域を「空き領域」としてマークするだけです。データそのものは無傷のまま残っています。
パーティションやファイルシステムごと削除すれば、より根本的な対策のように思えますが、これは規模が大きいだけで本質的には同じことです。パーティション全体が「存在しないもの」としてマークされ、その領域も「未使用」とされるだけで、何も本当に消えてはいません。データは、別のデータで上書きされるまで残り続けます。
つまり、機密データを確実に削除する唯一の信頼できる方法は、他のデータで上書きすることです。できれば複数回。以下で紹介するのはすべてこの方式ですが、利用できる環境、使いやすさ、そして複数回の上書きやパターンの指定といった、より高度なセキュリティオプションの有無が異なります。
どのデバイスを削除するのか確認する
PCに複数のストレージデバイスが接続されている場合、何かを削除する前に、まず対象デバイスを正しく特定しましょう。「間違って別のディスクを消してしまった」という事故を避けるためです。
最も簡単なのは、削除したいHDD/SSDをセカンダリドライブとして接続した状態でGUI環境を使っているケースです。この場合、GPartedなどのツールで全ストレージデバイスを一覧表示し、対象を特定できます。
ターミナル派の方には、さらに多くの選択肢があります。一部はディストリビューションに最初から含まれていますが、別途インストールが必要なものもあります。
lsblkは、PCに接続されたすべてのブロックデバイスを表示します。見やすい結果を得るには次のように実行します。
lsblk -io KNAME,TYPE,SIZE,MODEL
smartctlは各デバイスの詳細情報を表示します。使い方は以下の通りです。
smartctl -i /dev/sdX
やや読み取りにくいものの同様に便利なのがhdparmで、ほぼ同じコマンドで類似の情報を取得できます。
hdparm -i /dev/sdX
最後に、fdiskはおそらく最もポピュラーな選択肢で、ほぼすべてのLinuxディストリビューションに標準搭載されています。こちらもドライブやSSDの情報を表示できますが、他のツールほど詳細ではありません。実行例は以下の通りです。
fdisk -l
方法1:ddコマンドでワイプする
破壊したい内容を持つデバイスを特定したら、そのデータを「別のもので上書き」し、復元をほぼ不可能にするコマンドを使用できます。コマンドの種類と「別のもの」に何を使うかは、好みの問題です。
最も一般的なのは、定番ツールddを使う方法です。基本形は以下の通りです。
dd if=/dev/zero of=/dev/sdX
of=/dev/sdXの部分がワイプ対象のデバイスです。たとえばof=/dev/sdaやof=/dev/sdcのように指定します。指定ミスは取り返しがつかないため、必ず実行前に再確認してください。
大きなブロックサイズを指定すれば処理を高速化でき、進行状況も表示できます。
dd if=/dev/zero of=/dev/sdX bs=4096 status=progress
bs=4096はブロックサイズの指定で、デバイスによって最適値が異なります。理想的には、メーカーの公式サイトで自分のデバイスに合った値を調べるとよいでしょう。status=progressを付けると、完了までの時間を表示する進行状況インジケーターが有効になります。
一律のゼロではなくランダムなパターンで上書きする方が、復旧不能なデータ削除としてより安全だとされています。これは次のようにコマンドを変えることで実現できます。
dd if=/dev/urandom of=/dev/sdX bs=4096 status=progress
ご覧のとおり、ゼロの代わりに乱数を生成するソース(/dev/urandom)を使用しています。ただし、この方法はCPUが常時乱数生成を行うため、システムリソースへの負荷が高まる点に注意してください。
方法2:scrubコマンド
scrubはもうひとつの選択肢で、実際の使用はさらに簡単で、構文もシンプルです。
scrubは多くのLinuxディストリビューションに標準でインストールされていないため、まず次のコマンドでインストールします。
sudo apt install scrub
インストール後、HDDやSSDを完全に削除するには、root権限で次のコマンドを実行するだけです。
scrub /dev/sdX
方法3:wipeコマンドですべてを消去
scrubと同様に、wipeもストレージデバイスの内容を驚くほど簡単に消去できます。大切なデータに対して実行する前に、必ずダブルチェックしましょう。scrubと同様、多くのディストリビューションではまずインストールが必要です。
sudo apt install wipe
インストール後、sdXの内容をすべて消去するには、ターミナルで次のように入力してEnterキーを押すだけです。
wipe /dev/sdX
GUIで行う:Live CDからGnomeディスクユーティリティを使う
注:以下の方法は、対象ハードディスク上で動作しているOSの種類に関係なく利用できます。
OSがインストールされているHDDやSSDの中身を消去したい場合は、そのOSを使用中に行うことはできません。代わりに、LinuxディストリビューションのLive CD/DVDを使用します。特に、GNOMEデスクトップ環境を採用しているディストリビューションがおすすめです。GNOMEには使いやすい「GNOMEディスクユーティリティ」が同梱されていることが多いためです。
手順は次の通りです。まずディストリビューションのLive CD/DVDから起動し、GNOMEディスクユーティリティ(GNOMEでは「ディスク」という名前)を起動します。
左側のリストから削除したいストレージを選択し、2つの歯車が並んだボタンをクリックして「パーティションのフォーマット」を選択します。
表示されたウィンドウで「消去(Erase)」オプションを有効にすると、既存データが上書きされます。
ボリューム名フィールドにストレージの名前を入力し、右上の「次へ」をクリック。表示される警告を確認して、同じ位置に現れる「フォーマット」ボタンをクリックすれば完了です。
Darik's Boot and Nuke(DBAN)を使う
Live CDベースのもうひとつの方法が「Darik's Boot and Nuke」、通称DBANです。一般的なディストリビューションではなく、DBANはHDD/SSDの全内容を完全かつ徹底的に消去することだけに特化した、スタンドアローン型のブータブルツールです。
DBANからコンピューターを起動すると、ハードウェアの初期認識プロセスの後に、検出されたデバイスの一覧が表示されます。カーソルキーとEnterキーまたはスペースキーでワイプしたいデバイスを選択し、F10キーを押せば削除プロセスが開始されます。
究極の削除方法:ハンマーと「ノット・ア・フレームスロワー」
私たちはデータ復旧の専門家ではないため、どの方法が最も優れているかを断言することはできません。専門機器を使えば、2回まで上書きされたデータの痕跡をハードディスクの表面から検出・復元できると主張する人もいれば、それはあくまで理論上の話で、実現可能性を裏付ける証拠はないと主張する人もいます。火事でほぼ崩壊したHDDや、プラッターが粉々になったドライブからでもデータを救い出したと語る復旧会社さえあります。
彼らこそが専門家であり、それらを「最悪のシナリオの一部」として挙げているのですから、信じておくのが賢明でしょう。となると、ハンマーの登場とイーロン・マスクの「Not-a-Flamethrower(フレームスロワーではありません)」こそが、最強の「安全な削除」方法と言えるかもしれません。ただし、フレームスロワーを持ち合わせておらず、深夜3時に雷神トールよろしく暴れたいわけでもない大多数の人にとっては、本記事で紹介した方法が最良の選択となるはずです。
-
RAMをハードディスクとして使う方法|RAMDiskで読み書き速度を無料で高速化する手順
圧倒的な読み書き速度は、ゲーマーや開発者にとって永遠の憧れです。しかし、パソコンを使い続けるうちに不要なデータが蓄積され、必要なデータの読み書きに遅延が発生してしまうのは避けられません。 この問題への定番の対策がSSDへの換装ですが、SSDは価格が高額なため、購入前に二の足を踏んでしまう方も多いのではないでしょうか。 そこで今回は、追加費用ゼロで高速な読み書きを実現できる裏技をご紹介します。その方法とは、RAM(メインメモリ)をディスクドライブとして活用する「RAMDisk」化です。頻繁に使うファイルを仮想RAM上に保存すれば、従来よりはるかに速い速度でデータを読み出せます。 この驚異的な速度
-
ハードドライブの閲覧履歴を完全に削除する方法【Windows/Mac対応】
インターネットを閲覧すると、PCのさまざまな場所にアクセスの痕跡が残ります。ブラウザのCookieやキャッシュには、訪問したウェブサイトの情報が保存され、さらにWindowsレジストリにもネット閲覧の詳細がハードドライブ情報として記録されます。この記事では、ハードドライブから閲覧履歴を完全に削除する方法を詳しく解説し、さらにオンラインで匿名性を保つためのお役立ち情報もご紹介します。 なぜハードドライブから検索履歴を削除すべきなのか? ブラウザの履歴を消去することはプライバシー保護のための一つの手段ですが、熟練したIT技術者から閲覧パターンを隠すには不十分です。ハードディスクの検索履歴を削除すべ