How do I clone a larger disk to a smaller disk using clonezilla?

My solution is the same as JackeJR but I like to elaborate my case.

I have tried a disc to disc clone from a 930GiB HDD (source drive) with a GPT partition table to 890GiB SSD (destination). Please note I am a Linux user and I have a dual boot with windows 10. I have tried to left unchanged all the partitions and to reduce slightly the size of my data partition only.

  1. With gparted, I resized the bigger data partition in order to have an overall size that fits the destination SSD, and moved all free space at the end
  2. I used clonezilla-Live from USB pen, with advanced mode and -icds enabled.

It failed. It looks like Clonezilla fails, at start, to clone the partition table to the destination disk because it wrongly uses sfdisk utility that is for older partition types instead of sgdisk utils. My solution:

  1. The same as previous (overall size must fit)
  2. I manually copied the partition from one drive to another, using Clonezilla shell with sgdisk (only for GPT partitions):

    sgdisk /dev/sdSourceDeviceName -R /dev/sdDestinationDeviceName
    
  3. Performed Clonezilla disc-to-disc clone, selecting the option -icds: Skip checking destination size before creating partition table, and then the option -k: Do NOT create partition table on boot sector on target machine. (In this case Clonezilla uses the destination partitions as they are, and resizes partitions when sizes are smaller, in order to fit, it performs a good "best effort").

It worked. I obtained all the partitions the same size as source (Yes I only reduced the bigger partition a bit). Dual boot with windows keeps working well.