10 GB のパーティション (/dev/sda1) があります。また、別の 7 GB パーティション (/dev/sdb1) の "dd" ファイルもあります。
次のようにコマンドを実行すると、
dd if=sdb1.dd of=/dev/sda1
その後、すべてはうまくいきますが、/dev/sda1の残りの3GBのスペースは使用できません。
DD に残りの空き容量 (この場合は 3 GB) を活用するように指示する方法はありますか?
答え1
dd
空き領域 (ファイルシステムの概念のように) をまったく考慮せず、ブロックごとにコピーするだけです。
ファイルシステム イメージの場合は、コピー後に または他のツール (ファイルシステムの種類によって異なります) をsdb1.dd
使用して拡張できる場合があります。resize2fs
resize2fs /dev/sda1
答え2
DD に残りの空き容量 (この場合は 3 GB) を活用するように指示する方法はありますか?
いいえ。
さらに言えば、ターゲット パーティションが適切なサイズであると仮定すると (おっしゃるとおり)、パーティションの最初の部分のみを認識するファイル システムを事実上作成していることになります。dd
ソースまたは宛先に書き込まれたデータの意味は考慮されません。
使用しているファイルシステムによっては、ファイルシステムを拡張するパーティション全体を使用することもできますが、これは の責任範囲をはるかに超えておりdd
、詳細はそのイメージ ファイル内にどのファイル システムが含まれているかによって大きく異なります。
答え3
dd はバイトをコピーする場合、ファイルをコピーしません。これには、7 ギガバイトのファイルシステムであるファイルシステムの構造が含まれます。コピーが完了すると、ファイルシステム データは、7 ギガバイトのファイルシステムであることを示します。
すべてのファイルを複製するだけの場合は、dd を使用してコピーを作成するのは望ましくありません。tar を使用するか、新しく作成したファイルシステムにダンプ/復元してください。