如何快速将GPT分区方案从一个硬盘驱动器复制到另一个硬盘驱动器?
在非GPT分区表上,我可以做到
sfdisk -d /dev/sda | sfdisk /dev/sdb
sfdisk -d /dev/sda | sfdisk /dev/sdb
。
但是sfdisk
不支持GPT分区表。 我可以用什么呢?
我正在寻找一个或两个命令解决方案,而不仅仅是使用GNU parted来输出分区大小,然后再手动制作它们。
安装Ubuntu Universe存储库中提供的gdisk 。
然后使用sgdisk
命令( 此处的手册页 )复制分区表:
sgdisk /dev/sdX -R /dev/sdY sgdisk -G /dev/sdY
第一个命令将sdY
的分区表复制到sdY
(注意不要将它们混合起来)。 第二个命令随机化磁盘上的GUID和所有分区。 仅当磁盘要在同一台机器中使用时才需要这样做,否则就没有必要了。
我试过,它对我不起作用。 我找到的解决方案是:
sgdisk --backup=table /dev/sda sgdisk --load-backup=table /dev/sdb sgdisk -G /dev/sdb
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
我刚尝试使用sgdisk进行复制,它运行得很好 – 你只需遵循readline语法规则:
sgdisk --replicate=/dev/target /dev/source
要么
sgdisk -R/dev/target /dev/source
一切正常。
最简单的答案是:
sudo sfdisk -d /dev/sda | sudo sfdisk /dev/sdb --force
将A的’good’分区表配置复制到替换驱动器B(这是新驱动器)。