/home/<user> kopieren reicht nur, wenn Linux auf der neuen Kiste mit allem Pipapo mindestens für denselben Nutzer genauso eingerichtet wird wie vordem. Dann darf man aber auch root einrichten etc.
Man kann aber das gesamte Linux umziehen lassen und am neuen laufenden System Feintuning später betreiben.
Die Vorgehensweise ist ganz grob so:
1. Neues System mit 'ner Live CD vorbereiten: partitionieren (und zwar so, daß die Mountpoints des alten Systems im neuen System wieder irgendwohin gehängt werden können. Ob /home zuvor sda3 war und jetzt sda5 werden soll, ist aber egal, nur der Platz muß für den jeweiligen Datenbestand reichen): fstab... , Filesysteme draufschreiben ("Formatieren") mkfs....
2. Sich eine Umzugskiste besorgen (z.B. USB-HD mit Platz für das gesamte Linux - oder das zu erstellende .tar packen).
3. Grafiktreiber für das neue System besorgen
4. Altes Linux mit init S starten
5. USB-drive mounten und für jeden mountpoint ( /, /home usw.)
tar -one-file-system -cpf /media/<mountpointname>.tar *
aufrufen, ggf. mit bzip2-Kompression
6. Mit Live CD im neuen System den USB-drive mounten und je mountpoint
tar -xf /media/<mountpointname>.tar
ausführen.
7.ein paar Anpaßarbeiten in den /etc/udev/rules.d
8.xorg.conf löschen (daher Nr. 3!)
9. Die fstab mit den Mountpoints bekanntmachen (zunächst ohne UUID, die setzt Linux erst selber)
A. Die proc-Symboldateien mounten und Devicedateien binden
B.
(kann später geändert werden).
C. Neues System booten und die fstab mit /dev/disk/by_uuid Einträgen versehen
Wenn ich mich richtig erinnere, gab's eine detaillierte Beschreibung in c't 2011.07 pp 178,180.