DD を使用して Linux パーティションのみを外付け USB ドライブにクローンしますか?

DD を使用して Linux パーティションのみを外付け USB ドライブにクローンしますか?

1 TB の内蔵ドライブがあり、1/2 TB のパーティションが 2 つあります。1 つは Windows 用、もう 1 つは Ubuntu 14.04 LTS 用です。このステーションは主に Linux ステーションになっており、Windows を起動することはもうありません。

イメージ バックアップを作成したかったので、DD を使用して内部ドライブを 1 TB の外付け USB ドライブにクローンしました。残念ながら、USB ドライブは内部ドライブより数ギガバイト少ないようで、DD は「ドライブの空き容量が不足しています」というエラー メッセージで終了しました。今、奇妙なことが起こっています。USB ドライブを取り出し、再度差し込むと、重複しているように見える 1/2 GB のパーティションが 2 つあります。これらは同一の GUID を持ち、Nautilus は同一のディレクトリ構造とコンテンツを表示します。パーティションの 1 つが不完全なコピーであったために、外付けドライブが壊れた状態になっているのではないかと思います。

DDを使ってLinuxパーティションをクローンするだけ外付けドライブに?それが私が本当に望んでいることです。

答え1

まず HDD に関するデータを調べる必要があるので、ターミナルに次のように入力します。

sudo fdisk -l

次のような出力が得られるはずです:

Disk /dev/sda: 149,1 GiB, 160041885696 bytes, 312581808 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x06bd4abe

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048 230055935 230053888 109,7G 83 Linux
/dev/sda2       292970494 312580095  19609602   9,4G  5 Extended
/dev/sda3       230055936 292968447  62912512    30G 83 Linux
/dev/sda5       292970496 312580095  19609600   9,4G 82 Linux swap / Solaris

Partition table entries are not in disk order.

たとえば、/dev/sda3 がクローンを作成するドライブだとすると、次のように実行できます。

dd bs=512 if=/dev/sda of=/dev/sdb1/partition.ddfile seek=230055936 count=$(expr 292968447 - 230055936)

ここで紹介しているのは、あなたの状況に当てはめる必要がある例にすぎないことを思い出してください。

答え2

もっと簡単な方法:

  1. sudo fdisk -lVideonathが言ったように、クローンしたいパーティションを見つけます
  2. dd bs=512 if=/dev/<partition-name> of=/<external-media-path>

例えばdd bs=512 if=/dev/sda2 of=/dev/sdb1

注記:

  • ddではターゲットのサイズがソースのサイズ以上である必要があります。
  • この方法で作成されたバックアップ(パーティションレベル)は起動できません

答え3

についてお尋ねですがdd、 をお勧めできますかpartclone? パーティションを複製して復元するために作られています。 基盤となるファイルシステムを認識する必要がありますが、 よりも優れているのddは、使用済みパーティションの未使用部分が圧縮可能であることはまれなので (ゼロではなく古いデータ ガベージ)、ブロックされ、多くの時間やスペースを節約できます。

sudo partclone.ext4 -c -b -s /dev/sdaX -o /dev/sdbY 

は、必要な処理を実行します。-cはクローン、-bデバイス間は、-sはソース、-oはターゲットを表します。また、クローンを実行したので、ソースとターゲットの UUID は同一です。 でこれを確認しblkid、 を使用してuuidgen新しい UUID を生成し、 でsudo tune2fs /dev/sdbY -U <uuidgen-generated new UUID>それを変更します。

同じマシン上に 2 つの同一の UUID が存在すると、外部デバイスの「壊れた」状態に関する問題の根本原因となる可能性もあります。

これを実行する前に、新しいパーティションが古いパーティションより小さくならないようにターゲット デバイスを設定する必要がありますfdisk。古いパーティションより大きい場合は、後でクローン パーティションをgparted新しい最大サイズまで拡張できます。

関連情報