単にコンテンツを復元するだけの場合 (dd を使用)、元のパーティション サイズを増やす必要がありますか?

単にコンテンツを復元するだけの場合 (dd を使用)、元のパーティション サイズを増やす必要がありますか?

パーティションを別のラップトップにコピーしてバックアップしたいと思います。 隣り合ったラップトップをイーサネット ケーブルで接続します。 バックアップを行うには、特に「dd」コマンドを使用します。

簡単にするために、dd と一緒に使用する「netcat」コマンド (ラップトップ間の通信を提供する) は以下に示していません。したがって、バックアップを実行するために実行する予定の有効なコマンドは次のとおりです。

dd if=/dev/sda6 of=/home/name/sda6.img

後でバックアップを復元するには、

dd if=/home/name/sda6.img of=/dev/sda6

しかし、後者のコマンド (最初のコマンドの逆) を実行するには、同じデータを元の場所に戻すだけであっても、宛先パーティションがイメージ ファイルよりも大きくなければならないと読んだことがあります。

これには元のパーティションのサイズを増やすことが必要になり、膨大な作業が必要になる可能性があるため、それは避けたいです。

私の質問は復元する場合、復元先のパーティションのサイズを本当に増やす必要がありますか、それともデータはパーティションにきちんと収まるでしょうか?

また、上記のシナリオでパーティション サイズを増やす必要がある場合、パーティション サイズを増やす必要がなくなるように dd コマンドを調整できますか?

詳細を追加

このようなバックアップを実行するための代替方法には次のようなものがあることは承知していますが、以下の理由により、それらを使用しないことを選択しました。

tar: どうやら特定の属性などはバックアップされないようです。

cp: どうやら ACL などの特定の項目はバックアップされないようです。

rsync: このコマンドにはオプションが多すぎて、混乱して複雑になります。一方、dd では自分がどこにいるのかがわかります。

答え1

いいえ、元のパーティションのサイズを増やす必要はありません。新しいパーティションがファイルシステムと同じかそれ以上の大きさであることが非常に重要ですが、それ以上大きくする必要はありません。通常、ファイルシステムはコピーするパーティションと同じサイズです。

疑問がある場合は、それが安全な選択肢なので、より大きなパーティションを作成するように勧めるアドバイスを見たことがあるかもしれません。たとえば、10 の累乗 (SI 単位) のメガバイト/ギガバイト/テラバイトとバイナリ (2 10の累乗) 単位 (MiB/GiB/TiB) を混同しないようにしてください。ソフトウェアによってはラベルが適切に表示されていないため、どの単位でサイズが表現されているかが明確でない場合があります。小数点付きのサイズを表示するソフトウェアには特に注意してください。その場合は切り上げる必要があり、通常はより大きなパーティションが作成されます。

サイズを正確に報告するソフトウェアを使用している限り、パーティションを大きくする必要はありません。同じサイズにするだけです (もちろん、移動後にファイルシステムを拡大する場合は除きます)。

答え2

あなたはあまりにも多くのことを考えすぎています。もっとシンプルに考えてみましょう。

.img ファイルは、空き領域を含むパーティションのサイズとまったく同じになります。それだけです。他に秘密はありません。したがって、パーティションが 50 GB の場合、.img のサイズは 50 GB になり、パーティションが 100 GB の場合、img のサイズは 100 GB になります。それだけです。復元するには、同じサイズ (またはそれ以上) のパーティションまたはデバイス、または同じパーティションに復元するだけです。

これで答えは終わりですが、役立つヒントをいくつかご紹介します。

1- これにより、特にパーティションに空き領域がある場合、イメージが非常に小さくなります。

dd if=/dev/sda6 | gzip > sda6.img.gz 

2- 復元操作は次のようになります。

gunzip < sda6.img.gz | dd of=/dev/sda6

関連情報