Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
dwipe — Linux向けにデバイスとパーティションを安全かつ効率的に消去するツール | Kitploit
ツール/GitHubGitHub/joedefen/dwipe
汎用ユーティリティ暗号化/復号化ツールフォレンジックデータ復旧ハードウェアセキュリティユーティリティとフレームワーク
GitHubjoedefen/dwipe

dwipe

Linux向けにデバイスとパーティションを安全かつ効率的に消去するツール

リポジトリを見る
164106ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

dwipe

dwipe は、Linux 上でディスクやパーティションを消去し、データを安全にするためのツールです。dwipe はデバイス選択時に十分な情報を提供することで、ミスを減らすことを目指しています。

dwipe のデモ

簡単な比較

機能dwipenwipeshreddd
ファームウェア消去(SATA/NVMe セキュアイレース)✓✗✗✗
ソフトウェア消去(Zero、擬似乱数)✓✓✓✗
インタラクティブ TUI✓✓✗✗
複数同時消去✓✗✗✗
消去状態の永続化✓✗✗✗
ホットスワップ検出/解放✓✗✗✗
デバイス/パーティションのブロック✓✗✗✗
中断されたソフトウェア消去の再開✓✗✗✗
消去操作のログ記録✓✗✗✗
マウント検出/防止✓✓✗✗
高速統計サンプリングによる検証✓✗✗✗
認定消去(DoD/Gutmann 標準、完全検証、証明書)✗✓✗✗
  • ファームウェア消去(SATA/NVMe)が最も完全かつ高速です: ハードウェアアクセラレーションによる消去はコントローラレベルで動作し(数秒から数分)、すべてのドライブマッピングをクリアしますが、デバイス全体の消去が必要で、進行状況の報告や目に見える検証はありません。
  • 1パスのゼロ埋めによるソフトウェア消去で十分です: 2001年以降の最新ドライブは、ゼロの1パスで確実に消去できます(NIST SP 800-88)。マルチパスモードも利用可能ですが、セキュリティ保証が追加されるわけではありません。
  • 検証はインテリジェントな統計サンプリングを使用します: 100セクションに分割されたディスク全体から1%のサンプルを採取するだけでも、完全なシーケンシャル読み取りを行わずに広範囲をカバーできます。

主要機能

  • インタラクティブ TUI とホットスワップ検出 - ストレージの変更に応じてリアルタイムでデバイスリストを更新、新しく追加されたデバイスは ^ でマーク
  • ハードウェアアクセラレーションによるファームウェア消去 - 数時間ではなく数秒から数分で完了するファームウェアレベルのセキュアイレース操作(NVMe Sanitize/Format、SATA ATA Security Erase)を完全サポート
  • 複数同時消去 - 複数のデバイスで同時に消去を開始し、個別の進行状況追跡と完了状態を表示
  • 状態の永続的追跡 - 消去状態は再起動後も保持されます。部分的に消去された状態や完了した状態はデバイス上に永続化され(電源断をまたいで消去を再開可能)
  • スマートなデバイス識別 - UUID/PARTUUID/シリアル番号を使用して再接続時にも安定したデバイス追跡
  • 安全保護機能 - マウントされたデバイスの消去防止、重複消去の検出、デバイスブロック、インライン確認プロンプトをサポート
  • 統計サンプリングによるインテリジェント検証 - 低いパーセンテージでもディスク全体をカバーする高速検証(1%検証で100のディスクセクションすべてからサンプリング)
  • ディスクへの直接 I/O - ページキャッシュの汚染を避け、高速かつ効率的な消去、自動減速/ストール検出とグレースフルアボートを実装
  • 複数のカラーテーマ - 読みやすさを考慮したターミナルカラーテーマ、状況に応じた視覚的フィードバック(マウントされたデバイスは暗く、アクティブな消去は明るく)
  • ログ付き消去履歴 - タイムスタンプ、ファイルシステム、ラベル、完了率を表示する詳細な消去履歴ビューア、永続的な記録

必要条件

  • Linux オペレーティングシステム(/dev/、/sys/、/proc/ インターフェースを使用)
  • Python 3.10 以上
  • root/sudo 権限(ツール実行時に自動的に要求されます)
  • lsblk ユーティリティ(ほとんどの Linux ディストリビューションにデフォルトでインストール済み)
  • nvme-cli - NVMe 操作用(Sanitize/Format 検出)
  • hdparm - SATA 操作用(ATA Security Erase 検出)

オプション(履歴画面でのクリップボードコピー用):

  • xclip または xsel - X11 クリップボード用(apt install xclip または xsel)
  • wl-clipboard - Wayland クリップボード用(apt install wl-clipboard)
  • SSH セッションでは OSC 52 ターミナルエスケープを使用(追加パッケージ不要)

インストール

  • 推奨(pipx 使用): pipx install dwipe
  • インストール確認: dwipe --help
  • アンインストール: pipx uninstall dwipe

クイックスタート(少なくともこれを読んでください)

  1. dwipe をインストールします
  2. ターミナルで dwipe を実行します(sudo が自動的に要求されます)
  3. 最初の行にあるコンテキスト依存のヘルプを確認します
  4. 矢印キーまたは vi 風のキー(j/k)で移動します
  5. ? を押して完全なヘルプ画面を表示します
  6. ドライブを消去するためにwを押したら、略称(例: Rand、Zero、Crypto)を入力する必要があります。消去方法は、推奨度の低いものから高いものへと表示され、最後のものが * でマークされます。通常は最後の選択肢を選んでください。ただし...
  7. ドライブと OS はドライブの種類について嘘をつくことがよくあります。両方を出し抜いてください:
    • 回転 HDD の場合は、必ず Rand または Zero を使用してください(中断可能、進行状況表示あり)。
    • SSD の場合は、可能であれば必ずファームウェア消去を使用してください(高速、隠しブロックにも到達)。
  8. ドライブが 'Frozen' の場合、システムを一時的にサスペンドしてレジュームしてください。dwipe はレジュームを自動検出して再スキャンします。または r を押して手動で再スキャンします。ドライブは凍結が解除された状態になるはずです。

機能

dwipe は、安全機能を備えた包括的なディスク消去機能を提供します:

  • スマートなデバイス表示 - ラベル、サイズ、タイプ、ベンダー/モデル情報とともにディスクとパーティションを表示し、デバイスを正しく識別するのに役立ちます
  • 安全保護機能 - マウントされたデバイスの消去防止、重複消去の検出、手動ディスクブロックをサポート
  • ホットスワップ検出 - ストレージの変更時にデバイスリストを更新。新しく追加されたデバイスは ^ でマークされ、見つけやすくなります
  • 複数同時消去 - 複数のデバイスで同時に消去を開始し、個別の進行状況追跡と完了状態を表示
  • 柔軟な消去モード - Rand、Zero、Rand+V(自動検証付き)、Zero+V(自動検証付き)から選択可能
  • デバイスフィルタリング - 正規表現で名前/パターンによるデバイスフィルタリング(画面に入りきらない場合など)
  • 停止機能 - 個別の消去または進行中のすべての消去を停止可能
  • ディスクブロック - 誤消去を防ぐためにディスクを手動でブロック(ブロックするとすべてのパーティションが非表示になります)

注: dwipe はファイルシステムラベルを表示します。ファイルシステムラベルがない場合はパーティションラベルを表示します。選択を容易にするために、パーティションとファイルシステムに適切なラベルを付けることをお勧めします。

使用方法

単に引数なしでコマンドラインから dwipe を実行します: dwipe

コマンドラインオプション

注: すべての設定オプションは、最後に保存した値をデフォルトとして使用します。これらのデフォルトは --help に表示され、キーボードショートカットで対話的に変更できます。コマンドライン引数は保存された設定よりも優先されます。

消去設定

  • --mode {-V,+V} - 検証モード(デフォルト: 最後の設定)
    • -V - 自動検証なしで消去
    • +V - 消去完了後にデバイスを検証
  • --passes {1,2,4} - ソフトウェア消去のパス数(デフォルト: 最後の設定)
    • 1パスはほとんどのユースケースで標準
    • マルチパス(2または4)はゼロとランダムパターンを交互に使用
  • --verify-pct {1,3,10,30,100} - 検証パーセンテージ(デフォルト: 最後の設定)
    • 消去後に検証するディスクの割合(1% = 簡単なスポットチェック、100% = 完全検証)

表示とパフォーマンス

  • --dense {True,False} - コンパクト表示モード(デフォルト: 最後の設定)
    • True - コンパクトな間隔(ディスク間の空行を削減)
    • False - 間隔あり(読みやすさのためディスク間に空白行)
  • --port-serial {Auto,On,Off} - ディスクポート/シリアル表示(デフォルト: 最後の設定)
    • Auto - ディスク全体の場合のみポート/シリアルを表示(推奨)
    • On - 常にポートとシリアル番号を表示
    • Off - ポートとシリアル番号を表示しない

ドライブ処理のチューニング

  • --slowdown-stop {0,4,16,64,256} - ディスクの速度低下時に停止(デフォルト: 最後の設定、ミリ秒)
    • 0 = 無効
    • その他の値 = パフォーマンス劣化のチェック間隔(ミリ秒)
  • --stall-timeout {0,60,120,300,600} - ストールタイムアウト(秒)(デフォルト: 最後の設定)
    • 0 = 無効(タイムアウトなし)
    • その他の値 = この秒数間データ転送の進行がない場合に消去を停止

詳細オプション

  • --firmware-wipes または -F - ファームウェア消去を有効にする
    • ハードウェアベースのセキュアイレース操作(NVMe Sanitize/Format、SATA ATA Security Erase)を有効化
    • このフラグがない場合、ソフトウェア消去(Zero/Rand)のみ利用可能
  • --dump-lsblk - 解析したデバイス情報をダンプして終了(デバッグ用)
  • --help - 利用可能なすべてのオプションを含むヘルプメッセージを表示

カラー凡例

dwipe は色分けを使用して、デバイスと操作の状態に関する即時の視覚的フィードバックを提供します:

  • 薄暗い(グレー) - マウント済みまたはブロックされたデバイス(消去不可)
  • デフォルト(白) - 消去可能、アイドル状態、または以前に消去済み(今回のセッション前)
  • 明るいシアン/青 + 太字 - アクティブな消去または検証が進行中(0-100% 書き込み、v0-v100% 検証)
  • 太字黄色 - 停止したまたは部分的に完了した消去
  • 太字緑 - ✅ 今回のセッションで正常に完了した消去(交換準備完了!)
  • さらに薄い緑 - ✅ 前回のセッションで正常に完了した消去
  • 太字オレンジ - 新しく挿入された(ホットスワップされた)デバイス
  • 太字赤 - 破壊的操作のプロンプト(消去確認)

カラーテーマ

dwipe は視認性と美観を向上させるための複数のカラーテーマをサポートしています。

利用可能なテーマ:

  • default - 端末デフォルト(基本 ANSI カラー)
  • dark-mono - ダークモノ(ほぼ白をほぼ黒の背景に、明るい色)
  • light-mono - ライトモノ(ほぼ黒をほぼ白の背景に、明るい色)
  • solarized-dark - Solarized Dark パレット
  • solarized-light - Solarized Light パレット(明るい端末背景用)
  • gruvbox - Gruvbox Dark パレット
  • nord - Nord パレット

テーマの変更方法:

  • メイン画面で t を押すとテーマプレビュー画面が開きます
  • テーマ画面では、各色の目的(DANGER、SUCCESS、WARNING など)ごとに色の例が表示されます
  • テーマ画面で t を押すと、利用可能なテーマを順に切り替えてライブプレビューできます
  • ESC または ENTER でメイン画面に戻ります
  • 選択したテーマは保存され、セッション間で保持されます

テーマの特徴:

  • 停止した消去(状態 s)の黄色/警告色 - 選択されていなくても非常に視認性が高い
  • 消去確認プロンプトの赤/危険色
  • 端末の読みやすさを考慮して調整されたカラーパレット

デバイス状態値

STATE 列は各デバイスの現在の状態を示します:

利用可能なアクション

上部の行に利用可能なアクションが表示されます。一部はコンテキスト依存です(特定のデバイスでのみ利用可能):

履歴画面

h を押すと消去履歴ログが表示されます。履歴画面には、タイムスタンプ、デバイス情報、結果を含むすべての消去および検証操作が表示されます。

履歴画面のアクション:

  • e - エントリを展開/折りたたんで完全な JSON 詳細を表示
  • c - 現在のエントリをクリップボードにコピー(下記参照)
  • / - エントリを検索/フィルタリング(先頭に / を付けると JSON 内を深く検索)
  • a - 時刻形式を切り替え(ago+time, ago, time)
  • ESC - メイン画面に戻る

クリップボードコピー方法(自動検出):

注: OSC 52 がターミナルで動作しない場合でも、画面上にテキストが表示されるので手動で選択できます。tmux の場合は、.tmux.conf に set -g set-clipboard on を追加してクリップボードを有効にしてください。

消去タイプ

dwipe はファームウェア消去(ハードウェアアクセラレーション)とソフトウェア消去をサポートしています。ファームウェア消去には --firmware-wipes または -F フラグが必要です。以下の表は、消去方法を最も望ましいもの(ランク1)から順に示しています。

NVMe ドライブ

SATA SSD(暗号化/サニタイズ機能搭載)

SATA HDD(回転ドライブ)

注: HDD にはウェアレベリングや隠しブロックがないため、ソフトウェア消去はファームウェア消去と同程度に徹底していますが、より優れた制御(進行状況、一時停止/再開、中断可能性)を提供します。

パーティションと USB/サムドライブ

ランク略称正式名称備考
1RandSoftware Random Write推奨。予測不可能なパターン。統計的検証
2ZeroSoftware Zero Writeよりシンプル。高速検証(最初の非ゼロバイトで失敗)

注記:

  • ファームウェア消去では、各ドライブがサポートする方法のみ表示されます(FwCAPS 列を参照)。
  • ファームウェア消去には自動スポットチェック検証が含まれます。
  • +V サフィックスはソフトウェア消去後の自動検証を有効にします。+V がない場合は、v を押して手動で検証します。
  • マルチパスソフトウェア消去(2または4)はゼロ/ランダムパターンを交互に使用し、選択したモードで終了します。
  • USB ドライブとパーティションにはファームウェア消去はなく、ソフトウェア消去のみ利用可能です。

停止したソフトウェア消去の再開

停止した消去(状態 s)は、デバイスで w を押すと再開できます。同じタイプの消去を選択するか、選択しないと0%からやり直しになります。

再開の仕組み:

  • 消去開始時と同じ消去モード(Rand または Zero)を保持
  • 現在のパス設定を使用して、あとどれだけ書き込むかを決定
  • 停止位置(バッファ境界に丸められた正確なバイトオフセット)から継続。「マーク」は約30秒ごとに書き込まれるため、グレースフルに終了しなかった消去の場合、最後に消去されたディスクブロックから最大30秒(またはそれ以上)ずれる可能性があります。

再開の例:

利点:

  • 再開前にパス設定を変更することで、より早く終了する(減らす)か、またはパスを追加する(増やす)ことが可能
  • 最初からやり直す必要なし
  • 進行マーカーは30秒ごとに更新されるため、クラッシュや電源喪失後でも再開可能
  • 最終パターンの破損を防ぐ自動検証

ソフトウェア消去の検証戦略

ソフトウェア消去は、統計分析と高速フェイル最適化を備えたインテリジェントな検証を使用します。検証は設定可能でオプションです。

スマートサンプリング:

  • ディスクを100の等しいセクションに分割
  • 各セクションから設定可能な割合(1%、3%、10%、30%、100%)をランダムにサンプリング
  • 1%の検証でもディスク全体のカバレッジを保証
  • 検証パーセンテージは --verify-pct コマンドラインオプションで設定(設定として保存)

パターン検出:

  • ゼロ検証: 最初の非ゼロバイトで即座に失敗(高速!)
  • ランダム検証: バイト分布の統計分析
    • バイト分布が均一かどうかをテスト(すべてのバイト値 0-255 がほぼ均等に出現するか)
    • 非ランダムパターンが検出された場合、定期的に高速フェイル
    • 構造化データと区別するためにランダム性の証拠をチェック

検証モード:

  1. 自動検証(消去後): +V サフィックス付きのモード(Rand+V または Zero+V)を使用し、検証%を0より大きく設定
  2. 手動検証(v を押す): 以前に消去したデバイスの検証、またはマークされていないディスクのパターン検出(検証%が0より大きい必要あり)
  3. マークなしディスクの検出: ファイルシステムのないディスクを検証し、すべてゼロかランダムかを検出可能
    • 合格した場合、ディスクが消去されたかのようにマーカーを書き込み
    • 事前に消去されたドライブの検出やメーカー消去の確認に便利検証状態:
  • ✓ (緑のチェックマーク) - 検証成功
  • ✗ (赤いX) - 検証失敗
  • 記号なし - 未検証
  • 検証中: vN% が進捗を示します (v0% から v100%)

統計的サンプリングが逐次的よりも優れている理由:

  • 100セクションの統計的サンプリングは、同じパーセンテージの逐次読み取りよりも優れたカバレッジを提供します
  • 問題をより速く検出します (初期セクションで不良セクタに当たる可能性があります)
  • 統計分析は実際にランダム性を検証します (逐次ではできません)
  • 100%逐次検証よりもはるかに高速

ファームウェアイレース検証戦略

ファームウェアイレース (SATA/NVMe セキュアイレース) は、すべてのファームウェアイレースに対して自動的に実行される無条件のスポットチェック検証を使用します。これにより、ハードウェアイレースコマンドが実際に実行されたことを検証します。

スポットチェックの方法:

  • イレース前: ドライブの3つの戦略的な場所 (先頭、中央、末尾) にテストデータブロックを書き込む
  • コントローラレベルでファームウェアイレースコマンドを実行する
  • イレース後: それらの3つのテスト場所を読み取り、元のデータが含まれていないことを検証する
  • いずれかのテストブロックに類似したデータがまだ含まれている場合、イレースは失敗とみなされ報告される

スポットチェックが効果的な理由:

  • ドライブの内部イレースが実際に処理されたことを証明する (単なるコマンド応答ではない)
  • 3箇所戦略 (ドライブの0%、50%、100%) により、デバイス全体をカバー
  • 成功を主張するが何もしないファームウェアのバグやハードウェア障害を捉える
  • 逐次検証よりもはるかに高速 (ドライブ全体のパーセンテージではなく、わずか3ブロックの読み取り)
  • 必須かつ無条件: ユーザー設定や追加の検証手順は不要

重要: ファームウェアイレースは、ソフトウェアイレースのようなパーセンテージベースの検証を表示しません。スポットチェックはイレース操作の一部として静かに実行され、成功/失敗は永続的なイレース状態マーカーに記録されます。

進捗情報

デバイスをソフトウェアイレースする場合、dwipe は以下を表示します:

  • 経過時間 - イレース開始からの時間 (例: 1m18s)
  • 残り時間 - 完了までの推定時間 (例: -3m6s)
  • 書き込み速度 - 現在のスループット (例: "45.2MB/s")
  • MaxSlowDown - 最速/最遅の書き込み速度の比率 (例: ÷2)。しきい値を超えると、書き込みジョブは停止します。
  • MaxWriteDelay - 検出された最大書き込み遅延 (例: 𝚫122ms)。しきい値を超えると、書き込みジョブは停止します。

永続状態

W (イレース済み) および s (部分的にイレース済み) の状態は、再起動後も永続します。これは、デバイスの最初の16KBにメタデータを書き込むことで実現されます:

  • 最初の15KB: ゼロ
  • 次の1KB: JSONメタデータ (タイムスタンプ、書き込みバイト数、合計サイズ、モード、検証ステータス)

永続状態を持つデバイスが表示される場合、追加情報が表示されます:

  • いつイレースされたかと完了率
  • 検証ステータス: ✓ (成功)、✗ (失敗)、または記号なし (未検証)

ヘルプ画面

? が入力されると、利用可能なキーとコマンドラインオプションとその現在の設定を確認できます。

ナビゲーション

デバイスリストは以下を使って移動できます:

  • 矢印キー - 上/下でリストを移動
  • Vi風キー - j (下), k (上), g (先頭), G (末尾)
  • Page Up/Down - 長いリストのクイックナビゲーション

デバイスフィルタリング

/ キーでインクリメンタルサーチフィルタリングを起動します (vimスタイルの動作):

動作方法:

  • / を押してフィルタリングを開始
  • 正規表現パターンを入力 - デバイスリストは 入力に応じて 更新されます (リアルタイムフィルタリング)
  • カーソル位置はヘッダーに | で表示されます
  • 矢印キー、Home/End、Backspace が編集に使用できます
  • ENTER でフィルタを確定
  • ESC でキャンセルし、前のフィルタを復元

フィルタ例:

フィルタは正規表現パターンをサポートしています。以下に便利な例を示します:``` /sda # Show only sda and its partitions /sd[ab] # Show sda, sdb and their partitions /nvme # Show all NVMe devices /nvme0n1p[12] # Show only partitions 1 and 2 of nvme0n1 /usb # Show devices with "usb" in their labels

root@kitploit:~
Press **ESC**(メイン画面)でフィルターをクリアし、すべてのデバイスを再表示します。

**注意:** 無効な正規表現パターンは無視されます。フィルターは、入力中に最後の有効なパターンに維持されます。

## セキュリティ上の考慮事項

**ソフトウェアワイプの重要な制限事項:**

- `dwipe` は交互パターンによるマルチパスワイプをサポートしていますが、特定の DoD 5220.22-M や Gutmann 認定パターンシーケンスは実装していません。
- **個人用および業務用データ** には十分以上に適しています(古くなった認定破壊は不要)。
- **機密文書、極秘、または高度に機密性の高いデータ** には適していません。認定されたパターン固有のワイプとコンプライアンス証明書が必要です。
- **SSD に関する考慮事項**:
  - 最新の SSD はウェアレベリングを使用しており、未マッピングのブロックにデータが残る場合があります。
  - TRIM/DISCARD により、完全なデータ消去が妨げられる可能性があります。
  - SSD の場合は、最大限のセキュリティを確保するために、メーカーのセキュアイレーズユーティリティの使用を検討してください。
  - ランダムモードは、SSD ではゼロ書き込み以上の追加のセキュリティを提供しない可能性があります。

**ベストプラクティス:**
- ワイプする前に、デバイスのラベルとサイズを注意深く確認してください。
- **ブロック**機能を使用して、重要なディスクを保護してください。
- 機密データの主要なセキュリティ対策として、暗号化を検討してください。

---
---

## トラブルシューティング

### dwipe が起動しない
- **エラー: "cannot find lsblk on $PATH"** - `util-linux` パッケージをインストールしてください。
- **権限が拒否されました** - `dwipe` は自動的に sudo を要求します。sudo を使用できることを確認してください。

### 端末の表示の問題
- **クラッシュ後の表示の破損** - `reset` または `stty sane` コマンドを実行してください。
- **色が機能しない** - 端末が色をサポートしていることを確認してください(ほとんどの最新端末はサポートしています)。

### ワイプの問題
- **デバイスをワイプできない** - STATE 列を確認してください:
  - **Mnt** - まずパーティションをアンマウント: `sudo umount /dev/sdXN`
  - **Blk** - **b** キーを押してブロック解除
  - **Busy** - ディスク上の別のパーティションがワイプ中です。
- **ワイプが非常に遅い** - 大容量ドライブでは正常です。書き込み速度を確認して進捗を確認してください。
- **ワイプが停止しているように見える** - ほとんどの場合、不良ディスクが原因です。Direct I/O により、正常なディスクでは進捗がほぼ一定になります。

---
### ファームウェアワイプの考慮事項

ファームウェアワイプ(SATA/NVMe セキュアイレーズ操作)は、ソフトウェアワイプとは異なる特性を持ちます。

**フリーズされたドライブ:**
- SATA ドライブは、通常、セキュリティ対策として BIOS/UEFI によって POST 中にフリーズされます。
- これはドライブレベルのセキュリティ機能であり、`dwipe` の制限ではありません。
- **解決策**: システムを一時的にサスペンドし、再開します。`dwipe` は再開を自動検出して再スキャンします(または **r** キーを手動で押します)。サスペンド/レジュームにより SATA リンクが電源再投入され、フリーズが解除されます。
- サスペンド/レジューム後もドライブがフリーズされたままの場合は、完全な電源オフ(ドライブのコンデンサを放電するために 10 分以上)を試してから、起動して再スキャンしてください。

**デバイスの癖と互換性:**
- ストレージデバイスには、セキュアイレーズ操作に影響を与えるさまざまなファームウェア実装とハードウェアの癖があります。
- 一部のドライブは特定のサニタイズ操作を完全にサポートしていない場合、タイミング問題がある場合、または予期しない動作を示す場合があります。
- `dwipe` はすべてのデバイスが正常にワイプされることを保証できません。一部のハードウェアは消去コマンドに協力しない場合があります。
- ワイプ後は必ずドライブを確認してください(**v** キーを使用)。消去が実際に完了したことを確認します。
- 癖のあるハードウェアでミッションクリティカルなデータを破壊する場合は、フォールバックとしてメーカー固有のセキュアイレーズツールの使用を検討してください。

---
### 不良または故障ディスクへの対処

dwipe は、問題のあるストレージデバイスに対する組み込みの保護機能を備えています。

**自動エラー処理。** ディスクエラーが発生した場合のワイプ中:
*   連続書き込みエラー: 3 回連続で書き込みに失敗するとワイプが中断されます。
*   合計エラーしきい値: 合計 100 回の書き込みエラーでワイプが中断されます。
*   自動再試行: 書き込み失敗時、デバイスは自動的にクローズされ、再度オープンされます(一時的エラー回復)。
*   ファイル記述子の回復: 不良 FD 状態が検出され、ハンドルがリフレッシュされます。

**停止と速度低下の検出。** dwipe は書き込みパフォーマンスを監視し、問題のある操作を中断できます。
*   停止検出: 5 分間(設定可能)進捗がない場合に中断。
*   速度低下検出: 最初の 5 秒間のベースライン速度を測定し、速度がしきい値(例: ベースラインの 1/4)を下回った場合に中断。
*   進捗追跡: 継続的な監視により、書き込みが実際にデバイスに到達していることを確認します。

**ワイプがスタックした場合...** ワイプがフリーズまたは応答不能に見える場合:
*   最初の試行: **s** キーを押して、選択したワイプを正常に停止します。
*   辛抱強く待つ: 一部のディスク操作は、カーネルレベルでタイムアウトするまでに数分かかることがあります。
*   それでもスタックする場合: **S** (Shift+s) を押して、すべてのワイプを停止します。
*   最後の手段: インターフェースが完全にフリーズした場合:
    *   Ctrl-Z を押して `dwipe` をサスペンドします。
    *   端末で次を実行します: `sudo pkill -f "python.*dwipe"(dwipe プロセスのみ対象)`
    *   reset を実行して、表示が破損している場合は端末を復元します。

**問題のあるメディアでの問題防止。** 既知の不良ディスクや疑わしいハードウェアの場合:
*   最初に検証: **v** キーを押して読み取り可能性をテストします。
*   低速を使用: ダーティページスロットリングを有効にします(**d** キー)I/O 負荷を軽減します。
*   システムログの監視: 別の端末で `dmesg -w` をチェックしてディスクエラーを確認します。
*   ハードウェアの問題を考慮: USB エンクロージャ、ケーブル、コントローラーが問題の原因になることがよくあります。

**一般的なディスクエラーパターン**
*   USB 接続の切断: dwipe が検出して回復を試みます。
*   不良セクタ: エラーがカウントされます。過剰な場合、ジョブは中断されます。
*   コントローラーのタイムアウト: カーネルがハングする可能性があります。停止検出がトリガーされるはずです。
*   ディスクフル: デバイス終端を超える書き込みエラーは適切に処理されます。

**中断後の回復。** ディスクエラーによりワイプが中断された場合:
*   デバイスの状態は **s**(停止/部分)と表示されます。
*   再開を試みることができます(**w**)一時的エラーであれば成功する可能性があります。
*   または、実際に書き込まれた内容を確認するために検証します(**v**)。
*   エラーが続く場合は、ディスクの交換を検討してください。

注: 一部のディスクは根本的に壊れており、確実にワイプできません。dwipe は自身とシステムを保護しますが、ハードウェア障害を修正することはできません。

---
#### USB 経由での SATA ワイピングに関する推奨事項
* 要件 1: SAT(SCSI-ATA 変換)サポート

  * USB ブリッジは ATA コマンドを「通過」できる必要があります。
  * テスト: アプリがドライブの詳細に「セキュリティ」セクションを表示できる場合、ブリッジは SAT をサポートしています。

* 要件 2: 安定した電力
  * ファームウェアワイプ(特に 3.5 インチ HDD)は、ピーク時に大きな電力を消費します。
  * リスク: USB バスパワーのみのケーブルを使用すると、ワイプ中に電圧が低下し、ブリッジがリセットされてドライブがロック状態で「ブリック」する可能性があります。
  * 推奨: 3.5 インチドライブには、外部電源付きの USB ドックを常に使用してください。

* 要件 3: コマンドタイムアウトの整合性
  * ブリッジに過激な「ウォッチドッグタイマー」が設定されていないこと。
  * リスク: 一部のブリッジは、60 秒間「データ」が表示されないと切断します。ファームウェアワイプ中、ドライブは内部でビジー状態になり、データを送信しません。
  * 推奨: ASMedia(1153E)や JMicron(JMS578)などの高品質チップセットを使用してください。

##### ロックされたデバイスのロック解除```
sudo hdparm --user-master u --security-unlock NULL /dev/sdX
sudo hdparm --user-master u --security-disable NULL /dev/sdX

コントリビューション

Issue やプルリクエストは github.com/joedefen/dwipe までお寄せください。

ライセンス

MIT ライセンス - 詳細は LICENSE ファイルを参照してください。

ツールをダウンロード
  • ドライブが 'Locked' の場合、手動でロックを解除する必要があります(下記の「ロックされたデバイスのロック解除」セクションを参照)。dwipe がロックした場合、パスワードは NULL です。それ以外の場合はロックに使用したパスワードを使用してください。
  • SATA ドライブのホットスワップワークフロー: DEL で取り外し、物理的にドライブを交換し、必要に応じて r で再スキャンします。
  • 状態意味
    -デバイスは消去可能
    ^デバイスは消去可能であり、dwipe 起動後に追加された(ホットスワップ)
    Mntパーティションがマウントされている、またはディスクにマウントされたパーティションがある - 消去不可
    N%消去が進行中(完了率を表示、0-100%)
    vN%検証が進行中(完了率を表示、v0-v100%)
    STOP消去または検証が停止中
    s消去が停止 - デバイスは部分的に消去済み(再開または検証可能)
    W消去が正常に完了(再度消去または検証可能)
    Blkディスクが手動でブロックされている - パーティションは非表示で消去不可
    Unblディスクがブロック解除されたばかり(一時的な状態)
    キーアクション説明
    wwipe選択したデバイスを消去(確認が必要)
    vverify消去済みデバイスの検証、またはマークなしディスクのパターン検出(コンテキスト依存)
    sstop進行中の選択した消去を停止(コンテキスト依存)
    SStop All進行中のすべての消去を停止
    DELdeleteシステムからディスクを削除(ディスク全体のみ、コンテキスト依存)
    bblock/unblockディスクをブロックまたはブロック解除して誤消去を防止
    /filter正規表現パターンでデバイスをフィルタリング(一致するデバイスとすべてのアクティブな消去を表示)
    rrescanすべてのデバイスを再スキャンし、ハードウェア機能の検出をリセット
    hhistory消去履歴ログを表示
    tthemesテーマプレビュー画面を開き、カラーテーマの表示と変更
    q または xquitアプリケーションを終了(最初にすべての消去を停止)
    ?helpすべてのアクションとナビゲーションキーを表示するヘルプ画面
    ESCclear filterフィルタをクリアしてリストの先頭に移動
    ESCbackネストされた画面にいる場合、前の画面に戻る
    atime format消去履歴の時刻表示形式を切り替え(ago+time, ago, time)
    環境方法備考
    SSH セッションOSC 52ターミナルエスケープシーケンス。ターミナルのサポートが必要(iTerm2, kitty, alacritty, Windows Terminal, tmux で set-clipboard on 設定)
    Waylandwl-copywl-clipboard パッケージが必要
    X11xclip/xselxclip または xsel パッケージが必要
    フォールバックターミナルシェルに抜け、手動コピー用にテキストを表示
    ランク略称正式名称備考
    1CryptoSanitize Cryptographic Erase最速。暗号化キーを消去。即座にデータを無効化
    2BlockSanitize Block Erase高速。すべてのブロックを割り当て解除状態にリセット
    3FCryptoFormat with Crypto Erase高速。キー消去で名前空間を再フォーマット
    4FEraseFormat with User Data Erase高速。簡易的なデータ消去で再フォーマット。暗号化ほど徹底されていない
    5OvwrSanitize Overwrite数分。全ブロックにパターンを書き込み。最も徹底的だがほとんど不要
    6RandSoftware Random Writeフォールバック。ソフトウェア経由でランダムデータを書き込み。大容量ドライブでは数時間
    7ZeroSoftware Zero Writeフォールバック。ソフトウェア経由でゼロを書き込み。検証可能だが遅い
    ランク略称正式名称備考
    1SCryptoSanitize Cryptographic Erase最速。暗号化キーを消去。SANITIZE 機能が必要
    2EnhancedATA Security Erase Enhanced高速。ベンダー固有の暗号キー破壊を含む詳細消去
    3SBlockSanitize Block Erase高速。ブロックを工場出荷状態にリセット。SANITIZE 機能が必要
    4EraseATA Security Erase Normal数分。全セクタにゼロを書き込み。広くサポート
    5SOverwriteSanitize Overwrite数分。パターンで上書き。SANITIZE 機能が必要
    6RandSoftware Random Writeフォールバック。ウェアレベリングやリマップされたブロックには到達不可
    7ZeroSoftware Zero Writeフォールバック。ウェアレベリングやリマップされたブロックには到達不可
    ランク略称正式名称備考
    1RandSoftware Random Write推奨。中断可能、再開可能、進行状況表示あり
    2ZeroSoftware Zero Write推奨。中断可能、再開可能、高速検証
    3EnhancedATA Security Erase Enhanced遅い(数時間)。中断不可。進行状況なし。ソフトウェア消去と同じ結果
    4EraseATA Security Erase Normal遅い(数時間)。中断不可。進行状況なし。ソフトウェア消去と同じ結果
    停止時現在のパス数動作
    50%1パス再開: 残り50%を書き込み
    150%(4パスのうち1.5)1パスすでに完了(150% > 100%)
    150%(4パスのうち1.5)4パス再開: 残り2.5パスを書き込み(150% → 400%)
    100%(1パス完了)2パス再開: 2パス目を書き込み(100% → 200%)