マニュアルwipefs
ページには次のように記載されています。
-f, --force
ファイルシステムがマウントされていても強制的に消去してください。 これは、ブロックデバイスのパーティションテーブル署名を消去するために必要です。。
つまり、ブロックデバイスのパーティションテーブル署名を上書きしたいときはいつでも-f
。
マニュアルページの後半で提供される使用例の1つは次のとおりです。
wipefs --all --backup /dev/sdb
すべての署名を削除/dev/sdb デバイスで~/wipefs-sdb-<offset>.bak
各署名の署名バックアップファイルを作成します。
したがって、この例では、明らかにパーティションテーブル署名を含むブロックデバイスのすべての署名をカバーしています。前に述べた内容によると-f
。
今はそれを使うべきかどうかわかりません-f
。消そうとするとみんなパーティションテーブルを含むディスクの署名には--force
このオプションが必要ですか?
答え1
私はマニュアルページの表現が不明であるか、誤解を招くことに同意します。オプションの前の最後のテキストは次のとおりです。
デフォルトでは、Wiefsはディスク全体ではなくデバイスからネストされたパーティションテーブルを消去しません。これを行うには、--force オプションを使用します。
-f
ここでは、含まれているオプションの下のテキストとは異なり、ディスク全体ではなくデバイスについて話しています。
--forceは、「すべての」パーティションデータを消去するのに必要でも十分ではありません。
まだ明確ではないので、次のスキームを使用してパーティションテーブルデータを消去するいくつかのテストを実行しました。
- デバイス(フラッシュドライブ)にMBRパーティションテーブルを作成する
- 単一パーティションの作成
- パーティションに vfat ファイルシステムを配置し、ファイルシステムにラベルを付けます。
wipefs
さまざまなパラメータを使用してパーティションテーブルデータを消去する- 結果の確認:これには、
wipefs
作業中の出力、デバイスの出力、およびlsblk
からデバイスを開いた結果が含まれますcfdisk
。また、cfdisk
デバイスに同じパーティションテーブルとパーティションを再作成し、再作成されたパーティションに古いラベルがあることを確認してください。
結論として:
この単純なパーティションスキームを使用してパーティションをアンマウントすると、強制オプションは
wipefs
(パーティションではなく)デバイスで実行されたときに削除されるデータには影響しません。つまり、パーティションテーブルは、実行しているかどうかwipefs -a /dev/sdX
に関係なくwipefs -af /dev/sdX
デバイスから消去されます。ただし、パーティションテーブルがから再作成されると、古いラベルが見つかり、cfdisk
新しいパーティションに適用されます。したがって、パーティションテーブルは消去されますが、パーティション自体のデータは消去されません。実行中の出力はwipefs
これと一致します。実際の削除みんなデバイスのパーティションテーブルだけでなく、パーティションに関するデータ、すべてのパーティションは、デバイスがリストされる前に明示的にリストされている必要があります。マニュアルページは、テキストの3番目の段落の例でこれについてヒントを与えます(ターミナルへのコピー/貼り付け中に予期しないことが発生しないようにsdcをsdXに変更しました)。
wipefs -a /dev/sdX1 /dev/sdX2 /dev/sdX
または、シェルにワイルドカード式を使用して値を埋めるようにします。
wipefs -a /dev/sdX? /dev/sdX
これにより、デバイス上のすべてのパーティションデータとパーティションテーブル自体が正常に削除されます。