将两个分区的 HDD 克隆到较小的 HDD 上并维护 MBR

将两个分区的 HDD 克隆到较小的 HDD 上并维护 MBR

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

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

有没有什么办法可以让我将这些分区复制到 B 盘而不用出去购买 Ghost?

答案1

我会用 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- 刷新 sdb 上的分区表

  4. ntfsclone 分区从 sda 到 sdb 类似: ntfsclone --overwrite /dev/sdb2 /dev/sda2对第二个分区重复相同操作。

  5. 使用 dd windows 救援分区进行克隆,因为它们是 vfat32

  6. cfdisk /dev/sdb分区类型设置为 07 - 否则 Windows 可能无法识别 NTFS 卷..

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

答案2

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

相关内容