如何使用 clonezilla 将较大的磁盘克隆到较小的磁盘?

如何使用 clonezilla 将较大的磁盘克隆到较小的磁盘?

我有一个较大的磁盘Disk A和一个小的磁盘Disk B

  • Disk A包含几个分区,但所有分区的总大小小于的容量Disk B
  • Disk A是 GPT 格式的磁盘。

我尝试在专家模式下使用 clonezilla(ubuntu,精确的 pangolin 版本)并选择该icds选项,但在启动克隆过程时,它总是出错,提示无法创建分区。

有什么方法可以让它工作吗?

答案1

我的解决方案与 JackeJR 相同,但我喜欢详细说明我的案例。

我尝试过从具有 GPT 分区表的 930GiB HDD(源驱动器)到 890GiB SSD(目标)进行磁盘到磁盘克隆。请注意,我是 Linux 用户,并且有 Windows 10 双启动。我尝试过保持所有分区不变,并仅稍微减小数据分区的大小。

  1. 使用 gparted,我调整了较大的数据分区的大小,以便整体大小适合目标 SSD,并将所有可用空间移到最后
  2. 我使用 USB 笔中的 clonezilla-Live,启用高级模式-icds

失败了。看起来 Clonezilla 在启动时无法将分区表克隆到目标磁盘,因为它错误地使用了适用于较旧分区类型的 sfdisk 实用程序,而不是 sgdisk 实用程序。我的解决方案:

  1. 与之前相同(整体尺寸必须合适)
  2. 我使用 Clonezilla shell 手动将分区从一个驱动器复制到另一个驱动器sgdisk仅适用于 GPT 分区):

    sgdisk /dev/sdSourceDeviceName -R /dev/sdDestinationDeviceName
    
  3. 执行 Clonezilla 磁盘到磁盘克隆,选择以下选项-icds在创建分区表之前跳过检查目标大小,然后选择-k不要在目标机器的引导扇区上创建分区表(在这种情况下,Clonezilla 会按原样使用目标分区,并在分区大小较小时调整分区大小,以适应分区大小,从而实现“尽力而为”的效果)。

有效。我获得了与源大小相同的所有分区(是的,我只是稍微缩小了较大的分区)。Windows 的双启动继续运行良好。

答案2

该错误似乎源于使用 GPT 分区。解决方法是使用 clonezilla 中的手动创建分区表选项。所需的命令是这里

sgdisk /dev/sdX -R /dev/sdY
where:
sdX = Disk A
sdY = Disk B

请注意磁盘的顺序,否则您将遇到问题:GPT 表恢复

答案3

我们通过编辑图像中的以下文件来匹配目标驱动器的总扇区数,从而使其工作:

  • sda-pt.sf (编辑 last-lba)
  • sda-pt.parted.compact(编辑磁盘 /dev/...)
  • sda-pt.parted(编辑磁盘 /dev/...,不要忘记末尾的 s)
  • sda-gpt.sgdisk(编辑磁盘 /dev/...:... 扇区,... GiB)

我不确定哪些是真正需要的,所以你可能用较少的钱就可以了。

相关内容