强制将硬盘映像克隆到较小的硬盘上

强制将硬盘映像克隆到较小的硬盘上

我有一个使用 Clonezilla 拍摄的图像,作为 SAVEDISK 保存在 160GB 硬盘上。
现在发布了新版 PC,硬盘容量为 120GB,使用的空间只有 20GB

有没有什么办法可以强制 Clonezilla(或任何其他程序)将图像的“原始大小”调整为 120GB 或更低,以便 Clonezilla 可以将其写入新电脑?

答案1

Clonezilla 依靠 Partclone 来保存和恢复文件系统。虽然它很有用,但即使您使用该-icds选项,仅凭这一点也不够。在较小的磁盘上恢复原始文件系统时,Partclone 会在尝试写入超出磁盘边界时遇到寻道错误。因此,这不仅是 Clonezilla 的限制,也是它使用的底层工具的限制。

但是,您可以做的是将映像临时恢复到 160GB 的磁盘上,使用文件系统调整大小工具(例如ntfsresize(对于 NTFS)或resize2fs(对于 ext3/4))缩小文件系统,例如缩小到 25GB。无需调整分区表的大小(GParted 会这样做)。再次使用 Clonezilla 使用“savedisk”选项创建新映像。

在较小的磁盘上恢复映像时,使用-icds选项跳过 Clonezilla 检查磁盘是否与原始磁盘相同或更大。由于您缩小了文件系统,Partclone 不会遇到寻道错误,您的数据将恢复到较小的磁盘上。

如果您使用了按比例恢复分区表的选项(-k1),Clonezilla 将创建一个适当的分区表并调整(扩展)原始文件系统的大小,以便新磁盘上的所有可用空间都可用。

编辑:该-icds选项未传递给ocs-expand-mbr-pt,因此此步骤目前失败。错误报告已向项目提交了此问题。此错误已修复。

答案2

将映像恢复到 160GB 或更大的硬盘驱动器...可以是虚拟的。
使用 PartedMagic Live CD 启动该机器。
使用 parted 调整分区大小。

将驱动器作为 Windows 或 Linux 中的辅助驱动器,
然后使用 parted、gparted 或 Windows 磁盘管理器调整大小。

答案3

我用 Windows 10 镜像解决了这个问题,如下所示

  1. 如果源驱动器几乎已满,请暂时移动一些文件。
  2. 经过碎片整理的驱动器会留下更多空间用于压缩,因此请c:\通过右键单击驱动器 -> 工具进行碎片整理
  3. 通过 windows 磁盘管理缩小到c:\尽可能小
  4. 启动 Clonezilla,专家,设备-设备,本地,选择-icds,最后-k1选择选项
  5. 关闭并断开旧驱动器
  6. 使用新驱动器重新启动并在 Windows 登录时按住 Shift,选择重新启动 -> 故障排除 -> 启动修复

过去,第 4 步失败了,但是自 2015 年起,clonezilla 支持 GPT 选项,-k1所以我认为这就是它现在有效的原因:
http://clonezilla.org/downloads/stable/changelog.php

Clonezilla live 2.4.2-38 ... 可以通过该选项创建比例 GPT 分区布局-k1

需要第 6 步是因为 Windows 无法识别优化工具(SSD trim)中的启动驱动器,并且会尝试随机修复驱动器,因此启动扇区/分区表中似乎有错误,但启动修复会修复它。

编辑:我上传了完整过程的视频(德语):
https://www.youtube.com/watch?v=GJ2LVY5ja-o

答案4

我的情况:

  • 基于 128GB 驱动器(100MB 系统分区 + 117GB“C”)的 Clonezilla 映像(Windows 7),
  • 新的 120GB 硬盘。

遵循以下建议(如https://superuser.com/a/592283/229908) 没有解决我的问题。

对我有用的是:

  1. 将映像还原到另一个(更大的)驱动器,
  2. 对该驱动器进行碎片整理(因为 Clonezilla 似乎按照原始驱动器上的结构恢复数据,因此可能没有足够的可用空间来将分区缩小到目标大小),
  3. 将分区(在我的情况下是 117GB 的“C”)缩小到目标驱动器/分区的大小(在我的情况下是 111GB),或者更安全地缩小到更小的尺寸,
  4. 在目标驱动器上安装 Windows 7(并使用高级选项创建系统分区),
  5. 使用 Clonezilla 将调整大小后的驱动器中的每个分区(使用命令)恢复restorepart到目标驱动器上的相应分区。

这种方法之所以有效,主要秘诀是创建与目标驱动器相对应的分区表(在我的情况下,通过安装 Windows 自动完成),然后只复制restorepart不会触及分区配置的内容(通过)。因此,即使要恢复的源分区小于目标分区,由于分区表不受触及restorepart,因此操作后无需“扩展”目标分区。

相关内容