`dd if=/dev/zero of=/dev/sda`の機能は何ですか

`dd if=/dev/zero of=/dev/sda`の機能は何ですか

編集:データを削除したくない限り、テストするためにこれを実行しないでください。

私が何を得ているのかを理解するのに役立つ人はいますか?

  1. dd if=/dev/zero of=/dev/sda bs=4096 count=4096

    Q:なぜ具体的には4096ですかcount

  2. dd if=/dev/zero of=/dev/sda bs=512 count=4096 seek=$(expr blockdev --getsz /dev/sda - 4096)

    Q:正確にどのような役割を果たしますか?

警告:上記のコードは、指定された一部/すべてのデバイス/ディスクのデータを無駄にします!

ベストアンサー1

dd if=/dev/zero of=/dev/sda bs=4096 count=4096 Q: 4096 が特別にカウンターに使用されるのはなぜですか。

これにより、ドライブの最初の16MiBが0になります。 16MiBは「ディスクから始まった」構造を破壊するのに十分ですが、時間がかからないほど小さいです。

dd if=/dev/zero of=/dev/sda bs=512 count=4096eek=$(expr blockdev --getsz /dev/sda - 4096)

Q:正確にどのような役割を果たしますか?

blockdev --getsz「512バイトセクタ」からブロックデバイスのサイズを取得します。したがって、このコマンドはドライブの最後の2MiBを0に設定するように設計されているようです。

残念ながら、このコマンドは構文が壊れています。私はコマンドの元の目的が次のようになると予想しました。

dd if=/dev/zero of=/dev/sda bs=512 count=4096 seek=$(expr `blockdev --getsz /dev/sda` - 4096)

そして、人々が環境間でコピー/貼り付ける過程でバックティックが失われます。

古いパーティションテーブル、LVMメタデータ、RAIDメタデータなどは、ドライブを再利用するときに問題を引き起こす可能性があります。ドライブの始まりと終わりにあるゼロ化セクションは、ドライブ全体をゼロ化するよりもはるかに高速であり、これらの問題を回避することがよくあります。

おすすめ記事