Ubuntu fails to boot : freezes while starting services
Solution 1:
Just as I suspected, there was a reference to the old hard drive in /etc/fstab of the new hard drive. It's root partition entry was referencing the UUID of the old root partition. I had changed that of the home and swap partitions but forgot to change that of the root partition.
Interestingly, after booting the system, none of the partitions of the old hard drive was mounted (as checked using lsblk) making one not to suspect that there is such an error in /etc/fstab. In addition, you can disconnect the old hard drive without crashing the system. It seems it is only used during boot.
The lesson here is that we should make sure we change the UUIDs in /etc/fstab accordingly following a hard drive swap.