でしょうか
dd if=/dev/zero of=somepartition bs=512
また、の後にパーティションを消去するかsomepartition
、最後に停止しsomepartition
ますか?
でしょうか
dd if=/dev/zero of=somepartition bs=512
また、の後にパーティションを消去するかsomepartition
、最後に停止しsomepartition
ますか?
回答:
dd
dd
非常に強力ですが、危険なツールです。それはあなたがそれを質問なしでするように言うことをします。したがって、家族の写真を消去するように指示した場合、...そしてそれはちょっとしたタイプミスです。
ただし、チェックして再確認すれば、使用できます。
dd if=/dev/zero of=somepartition bs=512
または私はお勧めします
dd if=/dev/zero of=/dev/sdxn bs=4096
ここx
で、ドライブ文字とn
パーティション番号とブロックサイズ4096バイトは、書き込みプロセスを高速化します。
この場合、パーティションに書き込むことが重要です。ドライブ全体(ドライブヘッドエンド)に書き込むと、ドライブ/dev/sdx
全体が上書きされます。ただし、パーティションへの書き込みはパーティションの終わりで中断され、その背後のパーティションは保持されます。(私がテストした今、私はそれがそのように動作することを知っているので、Lubuntu 16.04 LTSでUSBペンドライブに。)
拡張パーティション(MSDOSパーティションテーブルに4つ以上のパーティションがあるための論理パーティションのコンテナ)には例外があります。これについては、次のリンクで説明しています。
ddを使用して「拡張」パーティションのイメージを作成できますか?
しかし、別の問題もあります。テスト環境でコマンドをテストしました。拡張パーティションのイメージを作成したいときに、ddは1キビバイト(1024バイト)だけを読み取りました。
また、これをLubuntu 16.04 LTSのUSBペンドライブでテストしました。これは、書き込み(および読み取り)に適用されます。最初のキビバイトのみが上書きされます。
要約すると、プライマリパーティションと論理パーティションの上書きは、この回答の主な説明に従って機能します。ただし、最初のキビバイトのみが上書きされるため、このメソッドを使用して拡張パーティションを上書きしないでください。拡張パーティションの論理パーティションはパーティションテーブルからは検出されなくなりますが、そこに保存されているデータはまだ存在しています。
dd
し、それが危険であることがより重要であるため、使用するときは非常に注意してください。幸運を祈ります:-)一般的に、すべてのファイルのバックアップを常に用意しておくべきです。
あなたの質問は、どのようにdd
(そして実際にはUnixに似たオペレーティングシステム)が機能するかについての根本的な誤解に基づいていると思います。
dd
いうだけの理由で上書き隣接パーティション、できないdd
缶上書きしないパーティション、期間。
dd
単にファイルに書き込みます。それでおしまい。
さて、もしあなたが合格dd
表すファイルの複数のパーティションを、その後、dd
上書きされます、そのファイルを。しかし、その場合、dd
パーティションの終わりを超えて書き込むことはありません。dd
まだファイルの終わりまで書き込み、およびますのみ、ファイルの終わりまで。
ただし、dd
1つのパーティションのみを表すファイルを渡すと、dd
このパーティションの終わりを超えて書き込むことはありません。繰り返しますが、これはとは関係ありませんdd
。dd
書き込むように指示したファイルに書き込むだけです。このファイルが単一のパーティションを表すという事実は、(この場合)カーネル内のブロックデバイスドライバーによって保証されます。dd
それとは何の関係もありません。
要するにdd
、ファイルへの書き込みです。それらのファイルが何を表しているのかは、何もdd
心配していません。dd
パーティションについては何も知りません。
dd
rawパーティションへの書き込みには使用できません。ファイルへの書き込みのみが可能です。あなたはできるブロックデバイスファイルへのコース書き込みの表しパーティションを(など/dev/sda1
)がありますが、生のパーティションに書き込むことはできません。また、パーティションを表すファイルにしか書き込むことができないため、ファイルはパーティションのみを表し、パーティションと末尾を少し過ぎていないため、パーティションの末尾を超えて書き込むことはできません。
/dev/sda
テキストエディタで開いてデータを変更dd
できます。パーティションにアクセスできるという点で、他のプログラムと違いはありません。非常に良い答えです!
危険ではありますが、まれな特別なシナリオがあり、これは非バグブロックデバイスドライバーでも発生する可能性があります。
ddに注意する必要があります。間違えた場合は、交渉した以上に上書きできるため、ddの使用目的によって異なります(OPはddの使用が曖昧であり、ddの正確な構文はコマンド)。
パーティションを指定すると、パーティションがいっぱいになるまでそのパーティションに書き込まれます。
ミスをしてドライブ全体を置く場合、例えばof = / dev / sda、ddはドライブ全体に書き込みを開始し、パーティションテーブルを無視(および上書き)します。
パーティションでddを使用して、削除されたファイルを上書きすることもできます(削除されたファイルは、パーティションに残り、さまざまな回復ツールによって、上書きされるまでさまざまな程度で発見される場合があります。ファイルへの書き込み。
dd if=/dev/zero of=/path/to/mount_point/zero_file bs=4096
rm -f /path/to/mount_point/zero_file
ただし、実行内容によっては、代替ツールを使用してファイルを安全に削除することをお勧めします。安全な方法でファイルを削除する方法を参照してください。オプション用。
dd
はそれほど低レベルではありません。実際に、人々が使用しdd
ていることのほとんどは、と同じようにできたかもしれませんcat
。実際にcat
はdd
、デフォルトよりも大きなブロックを使用するため、わずかに高速です。低レベルのコードはすべてカーネル内にあります。そして、ドライバーはあなたがを使用しているdd
かどうかを本当に気にしませんcat
。
dd if=/dev/zero of=/dev/sda bs=512 count=1
またはdd if=/dev/zero of=/dev/sda bs=512
例です。2番目のコマンドを使用すると、書き込みを続け、パーティションテーブルを「無視」してディスク全体を満たします。パーティションを指定した場合、パーティションdd if=/dev/zero of=/dev/sda1
を超えることはありません。並べ替えは、ddで何をしたいかによって異なります。
of=somepartition
ので、ディスクデバイス全体に書き込む場合は当てはまりません。dd
デバイスドライバーの制限を回避できません。
/dev/sda1
、パーティションを表すブロックデバイスは、カーネルによって作成されます。これにより、それらを介して隣接するストレージにアクセスできなくなります(カーネルが最後に読み込んだ後にパーティションテーブルが変更されていないと仮定します)。その方法で隣接ストレージにアクセスできる場合、それは大きなバグと見なされます。