Hace no mucho migré todo a un disco duro más grande. Los pasos que seguí fueron estos:
1) Arrancar desde una live con los dos discos duros enchufados, particionar el disco nuevo y tomar nota desde el mismo particionador de las UUID de las nuevas particiones.
2) Copiar los datos de las particiones viejas a las nuevas con rsync usando las opciones de mantener los propietarios y permisos originales. Se tarda lo mismo que clonando y tiene la ventaja de que te quitas de encima la desfragmentación que hayas podido acumular y puedes actualizar el sistema de ficheros si es una instalación muy vieja.
3) Editar la copia de /etc/fstab del disco nuevo usando las nuevas UUID para automontarlas.
4) Hacer chroot al disco nuevo y reinstalar grub. Dependiendo de en qué enchufe hayas puesto cada disco o si has reordenado las particiones no debería ser imprescindible, pero no cuesta nada y te curas en salud. Son los mismos pasos que el típico tutorial de arreglar grub desde un disco de Ubuntu,
como este por ejemplo.
Apagas, desenchufas el disco viejo y deberías poder arrancar con normalidad. Quizás te toque mirar el boot de la placa si has cambiado de enchufe el disco duro o revisar que instalaste bien el grub, pero si ya has arreglado ordenadores antes es fácil que te salga a la primera. El proceso es más aburrido que difícil.