web-dev-qa-db-ja.com

GPTパーティションスキームをあるハードドライブから別のハードドライブにすばやくコピーするにはどうすればよいですか?

非GPTパーティションテーブルで私ができる

sfdisk -d /dev/sda | sfdisk /dev/sdb

ただし、sfdiskはGPTパーティションテーブルをサポートしていません。代わりに何を使用できますか?

パーティションサイズを出力するためにGNU partedを使用してから手動で再度作成するだけでなく、1つまたは2つのコマンドソリューションを探しています。

79
Kris Harper

gdisk をインストールします。これはUbuntu Universeリポジトリで利用可能です。

次に、sgdiskコマンド( manページはこちら )を使用して、パーティションテーブルを複製します。

sgdisk /dev/sdX -R /dev/sdY 
sgdisk -G /dev/sdY

最初のコマンドは、sdXのパーティションテーブルをsdYにコピーします(これらを混同しないように注意してください)。 2番目のコマンドは、ディスクおよびすべてのパーティション上のGUIDをランダム化します。これは、同じマシンでディスクを使用する場合にのみ必要です。それ以外の場合は不要です。

120
Kris Harper

試しましたが、うまくいきませんでした。私が見つけた解決策は次のとおりです。

sgdisk --backup=table /dev/sda
sgdisk --load-backup=table /dev/sdb
sgdisk -G /dev/sdb
28
Serafin Rusu
dd if=/dev/sda of=GPT_TABLE bs=1 count=A
dd if=GPT_TABLE of=/dev/sdb bs=1 count=A
partprobe /dev/sdb

aは次のとおりです。

A=(128*B)+1024
B=parted -ms /dev/sda print |tail -1|cut -b1
8
Petroff

私はsgdiskで複製を試みましたが、うまく動作します-readline構文規則に従う必要があります:

   sgdisk --replicate=/dev/target /dev/source

または

   sgdisk -R/dev/target /dev/source

そしてすべてが動作します。

2
al3xxx