概述

通过 Clonezilla 保存的源镜像在恢复时很难保证目标磁盘与源磁盘是一致的大小,比如网上购买的microSD卡,即使都是标注为16GB,不同厂商的容量还是会有差别。当目标磁盘比源磁盘小的时候,即使是小那么几个字节,也会提示 Destination disk is too small! ,导致无法正常恢复。本文就此问题提供一个可行的解决方案。

img

  • 文中举例的源磁盘大小是15.9G,目标磁盘大小是15.6G
  • Clonezilla 版本是 2.8.1-12

主要思路

  • 修改源镜像的分区表
  • 使用-icds参数跳过大小检查
  • 使用-k1参数自动创建合适的分区表

修改源镜像分区表

进入到镜像目录,可以看到有以下3个与镜像分区相关的文件:

  • sdb-pt.parted
  • sdb-pt.parted.compact
  • sdb-pt.sf

通过fdisk -l先查看到自己目标磁盘的实际大小,15.6G,30540800个扇区

image-20220711111753814

修改 sdb-pt.parted

下图是源镜像的大小参数

image-20220711111035642

其中,扇区大小是 512字节,总共31116288个扇区,总共15931539456字节也就是15.9G的,使用fdisk -l查看了目标自盘的扇区情况,是30540800个扇区,总共15636889600字节也就是15.6G。所以根据目标磁盘的参数修改,如下图

image-20220711105544185

修改 sdb-pt.parted.compact

源镜像设置

image-20220711111312828

修改后的设置

parted-compact-fixed

修改 sdb-pt.sf

修改后的文件

parted-fixed

注意:最后一行的End要比总扇区数少1,Size = End - Start + 1

使用-icds参数跳过大小检查

按正常流程进入镜像恢复模式,过程中选择Expert专家模式,然后如下图选中 -icds参数

image-20220711112404023

使用 -k1参数创建合适的分区

image-20220711112516203

之后开始恢复,就可以恢复成功了。


兆鑫软件
42 声望6 粉丝

引用和评论

0 条评论