Installation umziehen

Aus wiki.archlinux.de

Dieser Artikel beschreibt eine einfache Möglichkeit, eine funktionierende Archlinux-Installation von einer Festplatte 1:1 auf eine andere zu übertragen.


Ausgangssituation

Eine bestehende Archlinux-Installation, die auf eine neue Festplatte übertragen werden soll, z.B. wenn man einen neuen Rechner gekauft hat.

 Datensicherung

Zuerst sollte ein Backup des Inhalts des alten Notebooks angefertigt werden. Dieses wird voraussichtlich nicht gebraucht.

selektives Kopieren der einzelnen Partitionen

Diese Methode ist ratsam, wenn z.B. neben Arch noch andere Betriebssysteme auf der Festplatte installiert sind, man aber nur Arch auf die neue Festplatte übertragen möchte.

 Partitionierung

Mit cfdisk oder fdisk -l die Partitionstabelle der alten Festplatte anzeigen lassen. Alernativ gdisk, wenn die Festplatte mit Gpt formatiert wurde.

Ein Archlinux-Installations-Medium von CD oder USB auf einem beliebigen Rechner booten, und mittels cfdisk die neue Festplatte so partitionieren, dass die Reihenfolge und Typen der Partitionen genau wie im alten System aufgebaut sind. Die einzelnen Partitionen dürfen dabei durchaus eine andere (im Zweifelsfall größere) Größe haben.

Die neuen Partitionen mit den selben Dateisystemen formatieren, wie es auf der alten Festplatte der Fall ist.

 Kopieren der Daten

Es ist empfohlen auch den Kopiervorgang über das Live-System abzuwickeln, da man so sichergehen kann, dass keine Dateien in Benutzung sind. Es sollte nun also die alte Festplatte angeschlossen und die Mountpunkte erstellt werden.

Im Live-System wird für jede Partition der zwei Festplatten ein Ordner erstellt. Die Ordnerstruktur könnte z.B. so aussehen:

/mnt/alt/boot
/mnt/alt/root
/mnt/alt/home
/mnt/neu/boot
/mnt/neu/root
/mnt/neu/home

In die entsprechenden Ordner die jeweiligen Dateisysteme der alten und der neuen Festplatte mounten.

Also z.B.:

mount /dev/sda2 /mnt/neu/root
mount /dev/sdb2 /mnt/alt/root
...

Falls die home-Partition verschlüsselt war, muss vorher mit cryptsetup noch eine verschlüsselte home-Partition erstellt, und dann erst gemountet werden. Die alte, verschlüsselte home-Partition muss dann ebenfalls erst mittels cryptsetup geöffnet und gemountet werden. Siehe Festplatte verschlüsseln für Details.

Für jedes Ordnerpaar den gesamten Inhalt von der alten auf die neue Festplatte kopieren. Dabei werden die Rechte und Gruppen erhalten.

cp -ax /mnt/alt/root/* /mnt/neu/root/
...

Installation des Boot-Managers 

Bis auf root auf der neuen Festplatte werden nun alle anderen Dateissysteme wieder ausgehangen.

In den Ordner /mnt/neu/root/boot das Dateisystem, das vorher in /mnt/neu/boot eingehängt war, mounten:

mount /dev/sda1 /mnt/neu/root/boot

In das lokale System chrooten:

arch-chroot /mnt/neu/root/

Grub konfigurieren und installieren:

grub-mkconfig -o /boot/grub/grub.cfg
grub-install /dev/sda  

mkinitcpio neu laufen lassen:

mkinitcpio -p linux

Die chroot-Umgegbung verlassen, Dateisysteme aushängen, und das System neu starten.

exit
umount /mnt/neu/root/boot
umount /mnt/neu/root/
reboot

Komplettes Systemabbild

Sollte man die Festplatte vollständig klonen wollen, kann man dd verwenden. Das bietet sich an, wenn die neue Festplatte mindestens die gleiche Größe wie die alte hat. Auch hier sollte man den Vorgang über ein Live-System durchführen, es ist zu beachten, dass bei dieser Methode die Dateisysteme nicht gemountet werden.

dd if=/dev/sda of=/dev/sdb

Für weitere Optionen siehe den dd-Artikel.

Erster Start des neuen Systems

Wenn alles funktioniert hat, wird das alte System auf dem neuen Rechner einwandfrei starten. Dabei muss man natürlich beachten, dass eventuell auf dem neuen System noch Treiber installiert werden müssen, so kann es vorkommen, dass der X-Server nicht startet, wenn im neuen Rechner eine Grafikkarte eines anderen Herstellers verbaut ist.