cat を使用してパーティションを複製できますか?

cat を使用してパーティションを複製できますか?

たとえば、次のようなことができますか:

cat /dev/sda1 > /dev/sda2

dd を使用する代わりに、そうでない場合、なぜこれが機能しないのでしょうか?

答え1

原則的には、どちらでも使用できます。重要な違いはいくつかありますが、ここではどれも当てはまりません。

  • リダイレクトを使用すると>、ターゲット ファイルが開かれ、切り詰められます。その後にのみ書き込みが行われます。ただし、これはブロック デバイスには適用されません。ブロック デバイスはサイズが固定されているため、「切り詰め」を行っても何も起こりません。

  • cat簡単に最初のコピーだけを指示することはできませんバイトまたはスキップ/シーク。これはdd役に立つ

  • catブロック サイズを指定することはできません。ブロック サイズが使用されているファイル システムによってマスクされている場合、これは現在では問題になりませんが、特定のブロック サイズ (テープ) でデバイスが読み取られる場所では違いがありました。

  • ハードディスクの場合、cat少し速くなるかもしれない(適切に選択されたブロック サイズを使用する場合よりも優れていますがdd、速度が低下するデフォルトよりも優れています)。

関連情報