Officially, Clonezilla does not support cloning from a larger hard drive to a smaller one. While this may seem counter-intuitive there are some situations where you may want or need to do this. Such as with my job when images have been created from systems with 500GB drives and the new systems come with 250GB drives, or when going from a large traditional drive to a smaller SSD.If you are in this situation, I have found a way to get this done. We will have to do some prep work on the image (and re-create it) and then some additional prep on the destination drive before final imaging.
To prep what will be the new image we will be creating a new one (if its an already created image) and we will need to shrink the main partition first. You may need to restore your original image on the larger, original disk first and go from there. I use Parted Magic (which also has Clonezilla built into it) to boot the system and shrink the partition using GParted, making sure to give myself a good amount of flex room - we can always grow the partition on the new disk later. In my test I shrunk the main partition of a two partition Windows 7 drive down to about 100GB (160GB total drive capacity) to be able to fit it on a 120GB SSD. You will also want to note sizes of all partitions on the drive, in this case there was the 100MB system/boot partition and the larger main partition. After the partition has been shrunk and everything is smaller than the new destination drive, reboot the system and let the operating system boot and run its file system/drive check - if you skip this test CloneZilla will fail when we get to making an image from the newly shrunk drive. Once the checks are finished, reboot the system again and boot into the Clonezilla environment. Once we start up Clonezilla, set the options desired after choosing to work with the device-image option. When asked what mode to use, we will be choosing "saveparts - Save_local_partitions_as_an_image" and then go through the rest of the option sets, making sure to check all the partitions on the disk.
Once the new image is saved and after installing the new, smaller disk we will again boot into Parted Magic (or GParted Live, or a similar tool), load up gParted and edit the partitions on the new drive. First (if it is a new drive) we will need to create a partition table (I did an msdos table for this restoration) and re-create the partition theme from the old drive. To create an aligned partition (critical for an SSD) create a new partition with 2MiB of space preceding it (in my case I created the 100MB system/boot partition for the Windows 7 dive I was moving over to a smaller drive) apply the change then resize/move the partition and change the 2MiB preceding space to 1mb. After that, create the next partition - again starting with 2MiB preceding space and then resizing/moving with 0 preceding space (always choose align to MiB). Repeat these steps for each additional partition. You may have to mark the appropriate partition with a boot flag either in this step or after running Clonezilla.
Now that the new drive is prepared, we will again boot Clonezilla and this time we will be restoring the recently created image. When we are offed the mode option, we will be choosing "restoreparts - Restore_an_image_to_local_partitions." Set our options of source/destination when prompted and away we go. Once finished reboot and you should now be all good to go. Your operating system may run through its file system checks again and you will want to expand the partition to fill any empty space.
There you have it, a tested procedure to clone a larger drive to a smaller drive using Clonezilla.