Eigentlich ist es kein Problem ein Linux System auf einen anderen Rechner umzuziehen. Es gibt nur einige Dinge die berücksichtigt werden müssen um das Starten auf dem neuen System zu ermöglichen.

Will man die Distribution ohnehin neu aufsetzen oder eine andere Testen, seine Einstellungen und Dateien aber weiter verwenden möchte, muss lediglich das home Verzeichnis auf die neue Maschine kopiert werden und man ist fertig. Für das gesammte System ist etwas mehr nötig.

Zunächst muss von einem externen Medium gebootet werden um das system kopieren zu können. Altes und neues System erst ein Mal mounten und dann mittels rsync oder cp unter beibehaltung der Dateiattribute (archiv) von alt nach neu übertragen.

Kopiervorgänge:

sudo rsync --stats --progress --numeric-ids -axAhHSP  /mnt/old/ /mnt/new/

oder

sudo cp -avxT /mnt/old /mnt/new

Um nun auch von der neuen Partition oder der neuen Maschine booten zu können, muss noch der Bootmanager neu initialisiert und installiert werden. In einem Zug kann direkt nach dem kopieren, das neue system mit chroot verwndet werden um den bootmanager anzupassen.
Um chroot zu verwenden und die Zugriffe auf die Systeminformationen zu gewährleisten müssen folgende System verzeichnisse in das neue system gemountet werden.

Systeminformationen einbinden

sudo mount -o bind /dev /mnt/new/dev
sudo mount -o bind /sys /mnt/new/sys
sudo mount -t proc /proc /mnt/new/proc

root wechseln

sudo chroot /mnt/new

Jetzt noch den grub2 im neuen system updaten bzw. installieren.

Falls sich die Festplattentruktur in unterscheidet, was sehr warscheinlich ist, muss die fstab noch auf das neue System angepasst werden.

update-grub2
grub-install /dev/sda 
update-grub

Neu booten fertig.
Für weitere Infos ist die Ubuntu wiki zu empfehlen