ddを使用してランダムデータを書き込むと、ディスクパーティション化が発生するのはなぜですか?

ddを使用してランダムデータを書き込むと、ディスクパーティション化が発生するのはなぜですか?

コマンドを実行する前に、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ファイルシステムとパーティションテーブルメタデータを削除するために使用できる古いマジックバイト署名を削除する専用ユーティリティ()もあります。

おすすめ記事