在较小的硬盘上强制克隆硬盘图像


9

我有一个用Clonezilla作为160GB硬盘上的SAVEDISK拍摄的图像。
现在发布了具有120GB硬盘的PC的较新版本,正在使用的空间仅为20GB

有没有一种方法可以强制Clonezilla(或任何其他程序)将图像的“原始大小”控制为120GB或更小,以便Clonezilla可以将其写入新PC?


我不知道clonezilla的工作原理,但是如果只有20GB的数据,您遇到的确切问题是什么?
Michael K

1
由于该映像是从160GB磁盘上拍摄的,因此它包含一个160GB分区表,因此我无法覆盖它。
桑德

有没有办法“打开”图像并将数据复制掉?
Michael K

我有各种.aa .ab .ac文件(sda1.ntfs-ptcl-img.gz.aa直到sda1.ntfs-ptcl-img.gz.ae),这似乎是硬盘的映像,我想我可以取消将其保存到一个.img.gz文件中,但是然后我需要一种将其写回的方法。
桑德

Answers:


9

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
我对EDIT段落中提到的错误有疑问:哪个版本的clonezilla和partclone受此错误影响?
pefu

5

将映像还原到160GB或更大的硬盘驱动器...可能是虚拟的。
使用PartedMagic Live CD引导该计算机。
用parted缩小分区的大小。

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


我认为这是最简单的方法。
Sekhemty

1
此外,虚拟驱动器可以放在压缩的基础存储上,因此您实际上并不需要160GB或更大的驱动器,仅足以容纳压缩数据(约20GB左右?)
qasdfdsaq 2015年

2

我用Windows 10映像解决了如下问题

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

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

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

需要执行第六步,因为Windows无法在优化工具(SSD修剪)中识别启动驱动器,并且会尝试随机修复驱动器,因此启动扇区/分区表中似乎出现了问题,但是启动修复将对其进行修复。

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


0

如果未使用该空间,请进入专家模式并启用-icds然后还原映像。它将跳过分区大小检查,并将成功还原它(仅在使用<120 GB的情况下)。


0

我的情况:

  • 基于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,也无需在操作后“扩展”目标分区。


0

就我个人而言-icds,并不能解决问题。我不知道问题是否和我的完全一样。但是我把我的钱留在了这里。

我尝试了一种光盘,用于将具有GPT分区表的930GiB HDD(源驱动器)克隆到890GiB SSD(目标)。请注意,我是Linux用户,并且具有Windows 10双重引导功能。我试图保持所有分区不变,并仅减小数据分区的大小。

  1. 使用gparted,我调整了更大的数据分区的大小,以使其总大小适合目标SSD,并在最后移动了所有可用空间
  2. 我使用了USB笔的clonezilla-Live,具有高级模式并已-icds启用。

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

  1. 与以前相同(必须适合所有尺寸)
  2. 我通过此命令使用Clonezilla shell将分区从一个驱动器手动复制到另一个驱动器(仅适用于GPT分区!):

    sgdisk / dev / sdSourceDeviceName -R / dev / sdDestinationDeviceName

  3. 执行Clonezilla磁盘到磁盘克隆,选择选项-icds,然后选择不在目标磁盘上创建分区表的选项option -k。(在这种情况下,Clonezilla照原样使用目标分区,并在目标分区较小时调整分区大小,以使其适应大小,这是“尽力而为”)。

它奏效了。我获得了与源大小相同的所有分区(是的,我只缩小了较大的分区)。Windows双重启动功能保持良好状态。问候

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.