I’ve just gone through this process for the first time with a GPT volume and the fdisk steps do not work as this utility does not support GPT.
To correct the GPT, gdisk needs to be used. As for as I can tell, this process needs to performed whether or not there was an unwanted partition at the end as GPT stores a header at the start of the disk indicating its size and a secondary header on the last sector that obviously does not get copied when migrating to an SSD that is smaller than the original HDD.
After the ddrescue process completes, install the SSD and disconnect all other internal and external storage devices apart the bootable Linux USB stick (if using one.) Then boot back into the live Linux OS.
Perform the steps as follows from the terminal:
[li]Type in ‘gdisk’ and press enter.
[/li][li]For the device, type in the following and press enter: /dev/sda
[/li][li]It should show a warning at this point about the disk size being smaller or larger than the main header indicates. If not, type in ‘quit’, start from step 1 again, but try a larger letter such as ‘/dev/sdb’ for step 2.
[/li][li]Type in ‘p’ and press enter.
[/li][li]If the drive has an unwanted partition at the end, type in ‘d’, press enter, type in the number of that last unwanted partition and press enter.
[/li][li]Type in ‘w’ and press enter.
[/li][li]Type in ‘y’ to proceed and press enter.
[/li][li]Finally to shut down the Linux OS, type in the following and press enter: shutdown -h 0