コマンドを実行する前に、dd
コマンドはlsblk
次の出力を返しました。
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931.5G 0 disk
コマンドがdd if=/dev/urandom of=/dev/sda conv=fsync status=progress
実行されました。ただし、デバイスの電源が切れて終了します。電源が回復すると、コマンドはlsblk
次の出力を返します。
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931.5G 0 disk
sda2 8:2 0 487.5G 0 disk
答え1
さまざまな可能性:
Linuxはさまざまなパーティションテーブルタイプをサポートしており、そのうちのいくつかはマジックバイトをほとんど使用せず、任意のデータを誤って識別するのは簡単です(*)[したがって、ある程度「有効な」パーティションテーブルがランダムに生成される可能性があります]。
一部のパーティションテーブルタイプには、ディスクの最後に(特にGPT)バックアップがあります。これは、ドライブの先頭がランダムガベージに置き換えられている場合に選択できます。
デバイスが正常に動作しない、データを書き込む前に切断された、または古いデータを引き続き返すことによって、パーティションテーブルがまだ存在します。時にはUSBスティックでこれが起こります。
...
(*)任意のデータを含む1000個のファイルを生成し、結果が何であるかを確認してください。
$ truncate -s 8K {0001..1000}
$ shred -n 1 {0001..1000}
$ file -s {0001..1000} | grep -v data
0099: COM executable for DOS
0300: DOS executable (COM)
0302: TTComp archive, binary, 4K dictionary
0389: Dyalog APL component file 64-bit level 1 journaled checksummed version 192.192
0407: COM executable for DOS
0475: PGP\011Secret Sub-key -
....
ドライブをランダムに破砕する目的は、古いデータを永久に消去することです。ドライブが空で、使用されておらず、クリーンな状態で表示されるという保証はありません。
これは通常削除せずに達成されます。 LVMを使用している場合は、LVMが以前のデータに干渉しないように作成したLVの最初の数セクタをゼロにするのが一般的です。
wipefs
ファイルシステムとパーティションテーブルメタデータを削除するために使用できる古いマジックバイト署名を削除する専用ユーティリティ()もあります。
答え2
ここに示すように、MBR(マスターブートレコード)は比較的簡単です。https://en.wikipedia.org/wiki/Master_boot_record。
使用すると、/dev/urandom
いつでもパーティションテーブルのように見えるものを作成できます。解決策は、パーティションテーブル領域をゼロで埋め、dev/urandom
残りの部分に使用することです。
Linuxはトリガー可能な他の追加のディスクフォーマットもサポートしているため、任意のデータでいっぱいになると「無効な」パーティションが表示されます。
答え3
512バイトのコレクションを次のように定義します。マスターブートレコード0x55 0xAA
最終値の存在です。そのような値を生成する確率は65,536分の1です/dev/urandom
。可能性は希薄ですが、同じように可能性のないことが常に発生する可能性があります。
(次のような他のパーティションテーブルもあります。Appleパーティションマップ、同様の短い署名があります。すでにこれらのいずれかを作成している可能性があります。 )
答え4
このパーティションは以前このディスクに存在していましたか?ディスクが GPT を使用している場合、セカンダリ GPT ヘッダーが復元された可能性があり、まだ古いパーティションテーブルが残ります。