
Ich möchte mein bestehendes Ubuntu Trusty-System (14.04.1) (einschließlich installierter Apps aus PPAs) auf eine SSD übertragen. Ich möchte mein bestehendes Home-Verzeichnis auf der Festplatte behalten. Was ist die beste Methode, vorzugsweise eine, bei der Ubuntu nicht neu installiert werden muss?
Antwort1
Beim Booten von Live-Medien kann der Vorgang in drei Schritte unterteilt werden:
Kopieren der Betriebssystemdaten auf das neue Laufwerk
Bevor Sie beginnen, stellen Sie sicher, dass das neue Laufwerk dierichtige Partitionstabelle. GPT ist (meistens) für EFI und erfordert eine spezielle Partition für den Bootloader. Vergessen Sie nicht, die neue Betriebssystempartition bei MBR-Installationen als bootfähig zu markieren.
Die Verwendung von rsync von Live-Medien sollte die praktischste Lösung zum Kopieren der Dateien sein:
sudo rsync -av --exclude=/home/* /media/$mountpoint_of_old_drive/ /media/$mountpoint_of_new_drive/
Installieren Sie den Bootloader auf dem neuen Laufwerk
sudo grub-install --boot-directory /media/$mountpoint_of_new_drive/boot /dev/sdX
/dev/sdX
sollte in den tatsächlichen Gerätenamen des neuen Laufwerks geändert werden.Wenn Sie eine EFI-Installation anstelle von MBR haben, sollten Sie sicherstellen, dass Sie das Live-Medium im EFI-Modus gebootet haben, ausgeführt haben
sudo apt-get install grub-efi-amd64
, eine EFI-Systempartition (ESP) auf dem neuen Laufwerk erstellt haben und dass die ESP gemountet ist/media/$mountpoint_of_new_drive/boot/efi
(oder verwenden Sie die--efi-directory
Option, schauen Sie sich diegrub-install-Manpage).Aktualisieren der Konfiguration
Sie müssen die UUID in aktualisieren
/etc/fstab
./
Rufen Sie die UUID der neuen Betriebssystempartition ab, indem Sie ausführensudo blkid /dev/sdXY
, die UUID ohne Anführungszeichen kopieren, ausführensudo nano /media/$mountpoint_of_new_drive/etc/fstab
und die vorhandene UUID in einer Zeile ersetzen, die wie folgt aussieht:# / was on /dev/sda2 during installation UUID=a7aea81b-0e7f-4ec0-8be4-b0ec75c13fdc / ext4 errors=remount-ro 0 1
Aber bevor Sie die Zeile ersetzen, sollten Sie eine Kopie davon erstellen, indem Sie Ctrl+ Kund Ctrl+ drücken U. Da sich Ihr Home noch auf dem alten Laufwerk befindet, sollte die alte UUID korrekt sein und Sie müssen nur den Einhängepunkt aktualisieren
/home/$your_username
(ersetzen Sie ihn$your_username
durch den Namen des Home-Verzeichnisses Ihres Benutzers) und einige Optionen (achten Sie aufrelatime,acl
und2
am Ende):# Mountpoint for home or user partition UUID=063a996a-0303-42b2-b719-af920fd105fa /home/$your_username ext4 relatime,acl 0 2
CtrlMit + speichern und mit + Obeenden .CtrlX
Sie sollten darüber nachdenken, die einzelnen Home-Verzeichnisse in ein separates
home
-partition(es ist nur eine Partition mit den Home-Verzeichnissen der Benutzer, die wie/home
in gemountet sindfstab
. Sie könnensudo rsync -av
sie wieder verwenden, um Daten zu kopieren, sieheWie kann ich mein /home-Verzeichnis auf eine andere Partition verschieben, wenn es bereits Teil der /-Partition ist?), da Sie hierfür für jeden Benutzer eine neue Zeile anlegen müssten.Wenn Sie ein neuesSwap-Partitionauf der SSD muss hierfür ebenfalls die UUID aktualisiert werden:
# SSD swap UUID=b7c315cb-cf89-463b-888a-185a1faa8250 none swap sw 0 0
Zusätzlich müssen Sie die UUID der Swap-Partition in aktualisieren , nach dem ersten Booten vom neuen Laufwerk
/media/$mountpoint_of_new_drive/etc/initramfs-tools/conf.d/resume
ausführen und neu starten, umsudo update-initramfs -k all -u
Winterschlafarbeite wieder.Denken Sie daran, auch den Einhängepunkt für dieESPauch in fstab für EFI-Installationen.
Sieht kompliziert aus, ist aber einfach durchzuführen, nur schwierig und zeitaufwändig im Detail zu beschreiben.
Fehlerbehebung
grub-install kann mit UEFI nicht installiert werden
Hinweis: Sie haben wahrscheinlich vergessen, auszuführen sudo apt-get install grub-efi-amd64
, als GRUB etwas darüber sagt i386-pc
.
- Sie haben den Inhalt Ihrer Root-
/
Partition () einschließlich kopiert/boot
, richtig? Sie haben den Inhalt Ihres ESP kopiert? Tun Sie das, falls Sie das nicht getan haben.
Bearbeiten Sie
EFI/ubuntu/grub.cfg
die neue ESP. Das Ersetzen der UUID durch die UUID der neuen Root-Partition sollte ausreichen. Wenn nicht, ändern Siehd0,gpt2
auch den Teil aus diesem Beispiel entsprechend. So sieht der Inhalt der Datei normalerweise aus:search.fs_uuid a7aea81b-0e7f-4ec0-8be4-b0ec75c13fdc root hd0,gpt2 set prefix=($root)'/boot/grub' configfile $prefix/grub.cfg
Booten Sie von IhremaltInstallation, führen Sie aus
sudo update-grub
, os-prober sollte die neue Installation auf der anderen Partition finden und einen GRUB-Eintrag hinzufügen.- Booten Sie diesen neuen Eintrag.
- Sie sollten jetzt von der SSD booten. Führen Sie es
sudo update-grub
hier erneut aus, um die GRUB-Konfiguration auf der SSD zu aktualisieren und zu reparieren.
- Ausführen
efibootmgr -c -d /dev/sdX -p Y -l \EFI\ubuntu\grubx64.efi -L "Ubuntu"
, um den Bootloader für die neue/übertragene Installation als neue Startoption zum UEFI-NVRAM hinzuzufügen./dev/sdX
ist der Gerätename der neuen Festplatte,Y
die Partitionsnummer.