Clonezilla relies on Partclone to save and restore filesystems. Although it's useful, even if you use the -icds
option, that alone isn't enough. When restoring the original filesystem on the smaller disk, Partclone will encounter a seek error trying to write beyond the disk boundary. So this is a limitation of not only Clonezilla, but the underlying tools it uses.
What you can do however, is to restore the image temporarily on a 160GB disk, use a filesystem resize tool such as ntfsresize
(for NTFS) or resize2fs
(for ext3/4) to shrink the filesystem, say to 25GB. Resizing the partition table, which GParted does, isn't necessary. Use Clonezilla again to create a new image using the "savedisk" option.
When restoring the image on the smaller disk, use the -icds
option to skip Clonezilla checking if the disk is the same or larger than the original disk. Since you shrunk the filesystem, Partclone won't encounter a seek error and your data will be restored on your smaller disk.
If you used the option to restore the partition table proportionally (-k1
), Clonezilla will create a proper partition table and resize (expand) the original filesystem so that all the free space on the new disk becomes available.
EDIT: The -icds
option isn't passed to ocs-expand-mbr-pt
, so this step currently fails. A bug report has been filed about this with the project. The bug has been fixed.