我有一块硬盘(A),其中包含两个分区 - A1 是包含 Windows 操作系统的 NTFS 分区,A2 是包含数据的 NTFS 分区。我想将这两个分区复制到另一个较小的硬盘(B)上,并使 B 可启动(因此复制 MBR 会很有帮助)。
我调整了 A1 的大小,使得 A1 和 A2 的总和小于 B 的总大小,但我无法使用 dd 复制驱动器,因为源驱动器仍然较大,并且 A1 和 A2 之间的分区表中存在间隙。我尝试过 clonezilla,但似乎存在同样的问题。
有没有什么办法可以让我将这些分区复制到 B 盘而不用出去购买 Ghost?
答案1
我会用 ntfsclone 来做这件事。
以下是步骤,但请记住它们很危险,请自行承担风险!
使用 sfdisk 备份初始分区表:
sfdisk -d /dev/sda > backup_of_sda
将 MBR 和分区表复制到磁盘 B
dd if=/dev/sda of=/dev/sdb bs=512 count=63
blockdev --rereadpt /dev/sdb
- 刷新 sdb 上的分区表ntfsclone 分区从 sda 到 sdb 类似:
ntfsclone --overwrite /dev/sdb2 /dev/sda2
对第二个分区重复相同操作。使用 dd windows 救援分区进行克隆,因为它们是 vfat32
将
cfdisk /dev/sdb
分区类型设置为 07 - 否则 Windows 可能无法识别 NTFS 卷..您可能需要
dd if=/dev/sda of=/dev/sdb bs=512 count=1
再运行一次传输 MBR。
答案2
缩小磁盘 A 上的文件系统和分区,使它们足够小以适合磁盘 B,这是正确的第一步。如果您确实需要复制 MBR,那么您必须移动 A2,以便它在 A1 之后立即启动。我认为分区可以做到这一点。