我们经常遇到的一个问题是,我们用来构建主映像的计算机的硬盘可能比某些目标系统的硬盘更大。众所周知,Clonezilla 不会将磁盘映像放在较小的驱动器上。
除了找到比我们所有目标系统都小/一样小的物理驱动器之外,我还使用这种方法来解决我们的问题:
- 准备好主计算机后,使用 gparted 缩小分区,以便它们都能容纳在较小尺寸的磁盘上。
- 创建具有目标大小硬盘的虚拟机。
- 通过在虚拟机上安装目标操作系统的副本,在虚拟机上创建正确的分区。
- 使用保存/恢复分割Clonezilla 中的功能将每个分区从主计算机复制到 VM。
- 创建虚拟机的映像。使用此映像作为计算机映像的黄金母版。
有没有办法在克隆主驱动器之前使用 gparted(或其他程序)调整主驱动器的大小?我知道如何调整单个分区的大小,但如果我能做些什么让 Clonezilla 认为原始驱动器较小,那就真的非常方便了。这样我就可以使用恢复磁盘制作一个足够小的图像以适应所有目标系统的功能。
由于各种问题,对于我们的情况来说,直接在虚拟机中构建主映像是不可行的。
答案1
在每个 clonezilla 映像中,都有一个名为 的文件sda-pt.parted
。您可以编辑 的扇区大小,/dev/sda
使其小于目标硬盘。
以下是我们的做法:
- 安装操作系统和程序
- 将操作系统中的分区缩小到尽可能低的值(我们发现低于 80 效果最好)
- Sysprep 和克隆
- 编辑
image/sda-pt.parted
sda-pt.parted
以下是编辑后的文件示例
Model: ATA ST31000524AS (scsi)
Disk /dev/sda: 78200000s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 2048s 206847s 204800s primary ntfs boot
2 206848s 78135295s 77928448s primary ntfs
原来的:
Model: ATA ST31000524AS (scsi)
Disk /dev/sda: 1953525168s
答案2
在创建主映像时,调整分区或“总非可用空间区域”的大小,使其小于最小目标驱动器的大小。
在 Clonezilla 中使用专家模式而不是初学者模式。
如果您确定映像中的所有数据都可以容纳较小的磁盘,请添加选项“-icds”
CloneZilla 可以很好地将映像传输到比创建映像时更小的驱动器。
答案3
这里提供的其他修复对我有用。要编辑的文件是图片/sda-pt.parted在图像文件夹内。
在该文件中,只需缩小以下行中的数字即可
Disk /dev/sda: #########s
如果您知道所需的目标大小(以字节为单位),则可以除以扇区大小以获得所需的扇区数。就我而言,我构建了一个 40GB 的系统,其中有 40GB 的分区,但它位于 320GB 的驱动器上。果然,只需将磁盘大小更改为 40GB/512 个扇区(40000000000/512=78125000s)就可以了。
或者,您可以查看该文件中分区表的末尾,并使用比最后一个分区的端点更大的数字。
我还应该指出,当我搜索 clonezilla 帮助以将较大的映像推送到较小的驱动器时,我找到的所有选项(“专家模式”、调整大小等)都不起作用。似乎最好的方法是构建映像,然后在推送之前将磁盘大小调整到尽可能小。
答案4
我发现编辑文件不起作用,而且有问题。Clonezilla(当前版本 2.6.0-37)支持恢复到较小的目标按照以下指南。