如何快速将 GPT 分区方案从一个硬盘复制到另一个硬盘?

如何快速将 GPT 分区方案从一个硬盘复制到另一个硬盘?

在非 GPT 分区表上我可以这样做

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

sfdisk不支持 GPT 分区表。我可以用什么来代替?

我正在寻找一个或两个命令解决方案,而不仅仅是使用 GNU parted 来输出分区大小,然后手动再次制作它们。

答案1

安装磁盘分区可以在 Ubuntu Universe 存储库中找到。

然后使用sgdisk命令(手册页在这里)复制分区表:

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

第一个命令将分区表复制到sdXsdY注意不要混淆)。第二个命令将磁盘和所有分区上的 GUID 随机化。这只有在磁盘要在同一台机器上使用时才有必要,否则就没有必要。

答案2

我试过了,但没用。我找到的解决方案是:

sgdisk --backup=table /dev/sda
sgdisk --load-backup=table /dev/sdb
sgdisk -G /dev/sdb

答案3

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

答案4

的手册页sfdisk说:

自 2.26 版起,sfdisk 支持 MBR (DOS)、GPT、SUN 和 SGI 磁盘标签

所以

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

将与 sfdisk 2.26 及更高版本兼容。

相关内容