Linuxでハードドライブを安全に消去する3つの方法

Linux ドライブを安全に消去するには、それが磁気ハードディスクドライブ (HDD) かソリッドステートドライブ (SSD) かを識別してください。HDD の場合は、ddまたは GNUを使用してデバイス全体を上書きしますshred。SSD または NVMe ドライブの場合は、サポートされているファームウェア消去またはサニタイズ操作を推奨します。ホストによる上書きでは、再マッピングされたストレージが消去されない可能性があります。必要なものはすべてバックアップしてください。ここに記載されているすべてのコマンドは破壊的であり、誤ったデバイスを選択すると、間違ったディスクを消去してしまう可能性があります。

ドライブを準備する

ターゲットに実行中のシステムが含まれている場合は、LinuxライブUSBから起動してください。可能な限り、残しておきたいドライブはすべて取り外してください。デバイスとマウントポイントの一覧を表示します。

lsblk -o NAME,SIZE,MODEL,SERIAL,TRAN,MOUNTPOINTS
ドライブを選択する前に、Linuxターミナルでディスク名とパーティション名を一覧表示する例
これはあくまで例示であり、端末名や機種は実際のものと異なる場合があります。サイズ、機種、シリアル番号を照合して、対象端末をお選びください。

例えば、/dev/sdaはSATAディスク全体、/dev/sda1はパーティションです。NVMeは、/dev/nvme0n1のような名前空間と、 のようなコントローラを使用します/dev/nvme0。以下のコマンドでは、/dev/sdXはプレースホルダーです。これを検証済みのディスク全体のパスに置き換えてください。ドライブ全体を消去する場合は、パーティションを使用しないでください。

マウントされている各ターゲットパーティションをアンマウントし、: でリストされている他のパーティションに対してもこのコマンドを繰り返しますlsblk。

sudo umount /dev/sdX1
対象ディスクパーティションをアンマウントするターミナルコマンドの例
ターゲットディスク全体に書き込む前に、マウントされているすべてのパーティションをアンマウントしてください。

再度実行してくださいlsblk。ディスクの識別情報またはマウント状態が不明な場合は、処理を停止して確認してから続行してください。

1. 磁気HDDをddコマンドで上書きする

GNUはdd磁気HDDのホストアドレス指定可能なブロック全体にゼロを書き込むことができます。大容量ドライブの場合、数時間かかることがあります。ライブセッションから、以下を実行してください。

sudo dd if=/dev/zero of=/dev/sdX bs=16M status=progress conv=fsync
ddコマンドでディスク全体にゼロを書き込む様子を示すターミナル画面の例
書き込み中はカーソルが残りますdd。進捗状況の表示はドライブによって異なります。

ifゼロを供給し、ofターゲット全体の名前を指定し、status=progress転送情報を表示し、conv=fsync終了前に出力をフラッシュします。コンピュータの電源は入れたままにしてください。シェルプロンプトが戻ったら、最終出力を確認してください。無制限の生書き込みでは、ディスク境界で「デバイスに空き容量がありません」と表示される場合があります。バイト数をドライブの容量と比較してください。早期にエラーが発生した場合は、ワイプが成功したとは言えません。

ddコマンドがプロンプトに戻った後のターミナル画面の例
プロンプトが表示された場合は、コマンドが終了したことを意味します。デバイス全体への書き込みが完了したことを確認してください。

この方法は磁気ディスク用であり、SSDの保証にはなりません。ドライブのファームウェアはホストのアクセス範囲外のブロックを再マッピングする可能性があるためです。GNU Coreutils ddのマニュアルを参照してください。

2. GNU shredでHDDを上書きする

shredこれは、ディスク全体を上書きする2つ目のオプションです。このコマンドは、擬似乱数処理を1回実行した後、最後にゼロ処理を実行します。

sudo shred --verbose --iterations=1 --zero /dev/sdX
GNU shredがディスク全体を上書きする様子を示すターミナル画面の例
1回の上書き処理と最終的なゼロ処理が行われます。出力はCoreutilsのバージョンによって異なります。

実行時間は と同等かそれ以上かかる場合がありますdd。両方を実行しても SSD が安全になるわけではありません。GNU は、 はshredファイルシステムとハードウェアがデータをその場で上書きすることを前提としていますが、ジャーナリングやコピーオンライトのファイルシステム、スナップショット、フラッシュストレージではこの前提が成り立たない可能性があると警告しています。デバイスへの直接書き込みはファイルシステムをバイパスしますが、ドライブの再マッピングはバイパスしません。GNU shred のドキュメントを参照してください。

3. ドライブのファームウェア消去機能を使用する

SSDの場合、より強力なデータ消去を行うには、ドライブ自体がサポートする消去アクションを使用し、製造元の手順に従ってください。NISTのSP 800-88リビジョン2(2025年9月発行)は、データの機密性と復旧作業の観点からデータ消去を規定しており、いかなるコマンドも万能の保証や準拠証明書ではありません。

NVMe

必要に応じてLinuxディストリビューションからインストールしnvme-cli、コントローラーのサニタイズ機能を確認してください。

sudo nvme id-ctrl /dev/nvme0
NVMeコントローラーのサニタイズ機能を確認するためのコマンド例
実際のコントローラー出力を確認してください。サポートされているサニタイズアクションはドライブによって異なります。

ブロック消去がサポートされているとリストされている場合のみ、操作を開始して待機します。

sudo nvme sanitize /dev/nvme0 --sanact=start-block-erase --wait
ブロック消去操作を待機するNVMeサニタイズコマンドの例
これはコントローラーを対象とし、処理が完了するまで待機します。機械の電源は維持してください。

コントローラーのパスを使用し、その名前空間は使用しないでください。nvme -cli のマニュアルには、アクションと が記載されています--wait。nvme-cli 3.x では、sudo nvme log sanitize /dev/nvme0がステータスを確認します。古いバージョンでは を使用する場合がありますnvme sanitize-log。

SATA

直接接続されたSATAドライブの場合、ATAセキュリティ消去のサポートと状態を確認してください。

sudo hdparm -I /dev/sdX
ATAセキュリティサポートとフリーズ状態を示すhdparmの出力例
この例はフリーズしたドライブを示しています。ベンダーが文書化した安全な手順なしに先に進まないでください。

ドライブがサポートを報告し、フリーズまたは既にロックされておらず、製造元が手順を文書化している場合に限り、セキュアプロンプトを使用してワンタイムパスワードを設定してください。

sudo hdparm --user-master u --security-prompt-for-password --security-set-pass /dev/sdX

そのパスワードを保管しておき、ここでプロンプトが表示されたら同じパスワードを入力してください。

sudo hdparm --user-master u --security-prompt-for-password --security-erase /dev/sdX

hdparmのマニュアルでは、これらのコマンドは危険であると記載されており、一部のカーネルでは動作しない可能性があると警告しています。USBアダプタによっては、これらのコマンドがブロックされる場合があります。セットアップまたは消去が失敗した場合は、パスワードを保管し、ドライブメーカーの復旧手順に従ってください。

DBANが万能な選択肢ではない理由

古いガイドでは、DBANの起動イメージと自動ワイプコマンドの使用が推奨されています。しかし、DBANプロジェクトはHDD専用であり、SSDの検出や消去はできず、ソフトウェアアップデートも提供されておらず、完全なデータ消去を保証することもできないと述べています。検出されたすべてのドライブを消去する場合を除き、自動ワイプは決して開始しないでください。

ドライブの種類で選択

  • 磁気HDD:ライブセッションからどちらかを選択してくださいdd。shred
  • SATA SSD:製造元が文書化している、サポートされているATAセキュア消去手順を使用してください。
  • NVMe SSD:コントローラーがサポートしていると報告するサニタイズアクションを実行し、完了を確認します。
  • 機密データまたは規制対象データ:組織のデータ消去ポリシーに従い、転送または廃棄する前に結果を確認してください。

パーティションのフォーマットやファイルの削除では、ドライブ全体が消去されるわけではありません。対象を2回確認し、ストレージ技術に適した方法を使用し、消去操作を中断しないでください。

コメントを残す

LinuxデスクトップでQRコードをスキャンする方法

LinuxデスクトップでQRコードをスキャンする方法

CoBangを使えば、Webカメラまたは画像ファイルでLinux上でQRコードをスキャンできます。インストールオプション、セットアップ手順、Flatpakカメラへのアクセスに関する修正方法については、こちらをご覧ください。

Cameractrlsを使ってLinuxでウェブカメラの設定を変更する方法

Cameractrlsを使ってLinuxでウェブカメラの設定を変更する方法

Cameractrlsを使用してLinux上でウェブカメラの設定を変更しましょう。露出、色、フリッカー低減などのサポートされているコントロールを調整し、互換性のあるビデオモードを確認できます。

LinuxにPhpStormをインストールする方法:ツールボックス、Tar.gz、Snap、およびAUR

LinuxにPhpStormをインストールする方法:ツールボックス、Tar.gz、Snap、およびAUR

LinuxにPhpStormをインストールするには、JetBrains Toolboxを使用するか、スタンドアロンのtar.gzアーカイブを使用するか、SnapおよびArch AURオプションを選択してください。Javaは既にバンドルされています。

LinuxにCisco Packet Tracerをインストールする方法

LinuxにCisco Packet Tracerをインストールする方法

Cisco Packet Tracer 9.0.1 を Ubuntu 64 ビット版にダウンロードし、APT を使用して DEB パッケージをインストールし、ターミナルでライセンスに同意してサインインすると、ラボを開始できます。

LinuxでCD-ROMをISOイメージとしてバックアップする方法

LinuxでCD-ROMをISOイメージとしてバックアップする方法

Linux上でGNOME Disksまたはddコマンドを使用してCD-ROM ISOイメージを作成します。光学ドライブを識別し、コピーを監視し、イメージを検証し、破損したディスクやオーディオディスクに別のツールが必要な場合を把握できます。

XFCE 4でデュアルパネルを設定する方法

XFCE 4でデュアルパネルを設定する方法

各ディスプレイごとに個別のXFCE 4パネルを作成し、2番目のパネルを右側の出力に割り当て、位置とサイズを調整し、必要なランチャーとステータス項目を追加します。

LinuxでGIMPを使って画像を切り抜く方法

LinuxでGIMPを使って画像を切り抜く方法

LinuxでGIMPを使って写真の背景を削除する方法:被写体をトレースし、選択した背景を削除し、透明度を保持して、再利用可能なPNG形式でエクスポートします。

FlightGearを無料でダウンロード:公式インストールガイド

FlightGearを無料でダウンロード:公式インストールガイド

FlightGearは公式サイトから無料でダウンロードできます。Windows、macOS、Linuxの各パッケージを比較し、データファイルをインストールして、最初のフライトを開始しましょう。

OKSampler:キーボードビートのための無料かつシンプルな音楽サンプラー

OKSampler:キーボードビートのための無料かつシンプルな音楽サンプラー

OKSamplerはMP3クリップをキーボードのキーにマッピングし、音声をループ再生できます。この旧型フリーウェアの機能、旧機能が失われた箇所、ダウンロード前に確認すべき点について解説します。

Googleタスクのデスクトップアプリケーション:パソコンでの使い方

Googleタスクのデスクトップアプリケーション:パソコンでの使い方

Googleタスクをブラウザで開き、Chromeショートカットやアプリスタイルの起動機能を追加し、カレンダーとGmailを通じて期日が過ぎたタスクを管理できます。