将两分区硬盘克隆到较小的硬盘上并维护MBR

我有一个包含两个分区硬盘(A) – A1是一个包含Windows操作系统的NTFS分区,A2是一个包含数据的NTFS分区。 我想将这两个分区复制到另一个较小的硬盘(B)上,并且B是可引导的(因此复制MBR将会很有帮助)。

我已经调整了A1的大小,以便A1和A2的总和小于B的总大小,但是我不能使用dd复制驱动器,因为源驱动器仍然较大,并且A1之间的分区表中存在间隙和A2。 我试过clonezilla,但似乎有同样的问题。

有没有办法让我把这些分区复制到B,而不必出去买鬼?

我会用ntfsclone来做。

这里是步骤,但请记住,他们是危险的,并使用他们风险自负!

  1. 使用sfdisk备份初始分区表: sfdisk -d /dev/sda > backup_of_sda

  2. 将MBR和分区表复制到磁盘B dd if=/dev/sda of=/dev/sdb bs=512 count=63

  3. blockdev --rereadpt /dev/sdb – 刷新blockdev --rereadpt /dev/sdb上的分区表

  4. 从sda到sdb的ntfsclone分区是这样的: ntfsclone --overwrite /dev/sdb2 /dev/sda2重复相同的第二个分区。

  5. 克隆与dd窗口救援分区,因为他们是vfat32

  6. 使用cfdisk /dev/sdb将分区types设置为07 – 否则Windows可能无法识别NTFS卷。

  7. 您可能需要运行dd if=/dev/sda of=/dev/sdb bs=512 count=1再次传输MBR。

收缩磁盘A上的文件系统和分区以使其足够小以适应磁盘B是正确的第一步。 如果您确实需要复制MBR,则必须移动A2,以便在A1之后立即启动。 我认为gparted可以做到这一点。