回答:
ウィル
dd if=/dev/zero of=/dev/sda
既存のパーティションテーブルを一掃?
はい、パーティションテーブルはドライブの最初の部分にあるため、上書きすると破壊されます。それはdd
あなたがそれを実行してみましょう場合(それはかなり時間がかかりますので)、ドライブ全体を上書きします。
dd bs=512 count=50 if=/dev/zero of=/dev/sda
MBRパーティションテーブルやプライマリGPTなど、最初の50セクターを上書きするには、次のようなもので十分です。少なくともWikipediaによると、GPTにはドライブの最後にパーティションテーブルのセカンダリコピーがあるため、ドライブの先頭の部分だけを上書きしても十分ではない可能性があります。
(dd
ただし、使用する必要はありません。head -c10000 /dev/zero > /dev/sda
またはcat /bin/ls > /dev/sda
同じ効果があります。)
fdisk /dev/sda g
(GPTのため)によっては/ dev /ゼロ書かれたゼロを一掃?
また、はい(変更を保存した場合)。
(ただし、タイトルにフレージングはただ、混乱され/dev/zero
ていない自体に行う任意のより多くの任意の通常のストレージが行うよりも、何かを。)
/bin/ls
が十分に短い場合、書き込み操作はMBRの数バイトのみを上書きする可能性があり、最も重要な部分(パーティションのセクターの開始と終了)はそのまま残ることができます。grub --install /dev/sda
システムを再び起動可能にするには、MBRの再インストール(最も一般的には)が引き続き必要です。
ls
。のリスト/usr/bin
はおそらく十分に長いでしょう。echo
例として使用するつもりでしたが、IIRCではMBRパーティションテーブルを上書きするためにほぼ500バイトが必要なので、入力するのは少し疲れます。(正確な数は何でも)
パーティションテーブルは、(論理2)ディスクデバイスの先頭1の近くに格納されます。
その領域を何か(ゼロ/dev/zero
またはその他のデータ)で上書きすると、パーティションテーブルが意味不明に置き換えられるため、デバイス上のパーティションがどこから始まるのかが明確になりません。
ただし、ディスク全体をスキャンして、ファイルシステムの開始を示す「マジックバイト」を特定することはできます。
逆に、fdisk
(または他のパーティションツール)を使用して新しいパーティションテーブルを作成すると、ツールはディスクの最初の数バイトを上書きして新しいテーブルを保存します。
ディスクの先頭は1つしかないので、最後に行った操作はすべて「固定」されます。
ただし、一部のパーティションテーブル形式(GPTなど)では、バックアップコピーが別の場所(GPTのディスクの最後など)に保持され、そこからパーティション情報の一部を回復できることに注意してください。
1:たとえば、MBRの場合は最初の512バイト、GPTの場合は最初と最後の17408バイト
2:ドライブは論理ブロックを物理メディアのさまざまな部分に内部的に再マッピングできますが、そのマッピングは見えません(重要ではありません)オペレーティングシステム。
/dev/zero
何かを一掃するのではなく、それdd
をコピーすることによって一掃するのです。バイトがゼロであるという事実、およびゼロのバイトが/dev/zero
他のゼロのソースではなくゼロであるという事実は、わずかな詳細です。