Wie übertrage ich Ubuntu auf eine SSD, aber bleibe auf der Festplatte zu Hause?


7

Ich möchte mein vorhandenes Ubuntu Trusty (14.04.1) -System (einschließlich installierter Apps von PPAs) auf eine SSD übertragen. Ich möchte mein vorhandenes Home-Verzeichnis auf der Festplatte behalten. Was ist die beste Methode, vorzugsweise eine, bei der Ubuntu nicht neu installiert wird?


Mit Clonezilla können Sie ganz einfach ein vollständiges Disc-Image Ihrer Ubuntu-Installation erstellen, wie in dieser Antwort beschrieben . Sie können das Image dann auf Ihrer SSD installieren / wiederherstellen.
Larouxn

Wie würde ich dann Ubuntu dazu bringen, mein Home-Verzeichnis von der Festplatte anstatt von der SSD abzuholen?
John Rose

Haben Sie eine separate Home-Partition?
Larouxn

Außerdem ist der sdd viel kleiner als die Festplatte, dh er enthält das System, jedoch nicht die Daten (on / home).
John Rose

Passt Ihre Ubuntu-Installation von selbst auf die SSD? (ohne Zuhause)
Larouxn

Antworten:


6

Beim Booten von Live-Medien kann dies in drei Schritte unterteilt werden:

  1. Kopieren der Betriebssystemdaten auf das neue Laufwerk

    Stellen Sie vor dem Start sicher, dass das neue Laufwerk über die richtige Partitionstabelle verfügt . 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/
    
  2. 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 gestartet, ausgeführt sudo apt-get install grub-efi-amd64, eine EFI-Systempartition (ESP) auf dem neuen Laufwerk erstellt und das ESP gemountet haben /media/$mountpoint_of_new_drive/boot/efi(oder die --efi-directoryOption verwenden) , schauen Sie sich die Manpage zu grub-install an .

  3. Aktualisieren Sie die Konfiguration

    Sie müssen die UUID /etc/fstabfür aktualisieren /. Rufen Sie die UUID der neuen Betriebssystempartition ab, indem Sie sie ausführen sudo blkid /dev/sdXY, kopieren Sie die UUID ohne Anführungszeichen, führen Sie sudo nano /media/$mountpoint_of_new_drive/etc/fstabdie vorhandene UUID aus und ersetzen Sie sie in einer Zeile, die folgendermaßen aussieht:

    # / was on /dev/sda2 during installation
    UUID=a7aea81b-0e7f-4ec0-8be4-b0ec75c13fdc    /    ext4    errors=remount-ro    0 1
    

    Bevor Sie die Zeile ersetzen, möchten Sie möglicherweise eine Kopie davon erstellen, indem Sie Ctrl+ Kund Ctrl+ drücken U. Da sich Ihr Zuhause noch auf dem alten Laufwerk befindet, sollte die alte UUID korrekt sein und Sie müssten lediglich den Mountpoint aktualisieren /home/$your_username(durch $your_usernameden Namen des Home-Verzeichnisses Ihres Benutzers ersetzen ) und einige Optionen (beachten Sie relatime,aclund 2am Ende):

    # Mountpoint for home or user partition
    UUID=063a996a-0303-42b2-b719-af920fd105fa    /home/$your_username  ext4    relatime,acl     0 2
    

    Speichern Sie mit Ctrl+ Ound beenden Sie mit Ctrl+ X.

    Sie sollten darüber nachdenken, die einzelnen Home-Verzeichnisse in eine separate homePartition zu verschieben (es handelt sich nur um eine Partition, in der die Home-Verzeichnisse des Benutzers wie /homein gemountet fstabsind. Sie können sie sudo rsync -averneut zum Kopieren von Daten verwenden. Weitere Informationen finden Sie unter Wie kann ich mein / home-Verzeichnis auf eine andere Partition verschieben, wenn dies bereits geschehen ist? Teil der / Partition? ), da Sie auf diese Weise für jeden Benutzer eine neue Zeile erstellen müssten.

    Wenn Sie eine neue Swap-Partition auf der SSD erstellt haben, müssen Sie auch hier die UUID aktualisieren:

    # SSD swap
    UUID=b7c315cb-cf89-463b-888a-185a1faa8250       none            swap    sw                              0       0
    

    Außerdem müssen Sie die UUID der Swap-Partition in aktualisieren /media/$mountpoint_of_new_drive/etc/initramfs-tools/conf.d/resume, sudo update-initramfs -k all -unach dem ersten Booten vom neuen Laufwerk ausführen und neu starten , damit der Ruhezustand wieder funktioniert.

    Denken Sie daran, den Mountpoint für das ESP auch in fstab für EFI-Installationen zu aktualisieren .

    Sieht kompliziert aus, ist aber einfach zu handhaben, nur schwer und langwierig im Detail zu beschreiben.


Fehlerbehebung

grub-install lässt sich mit UEFI irgendwie nicht installieren

Hinweis: Sie haben wahrscheinlich vergessen zu rennen, sudo apt-get install grub-efi-amd64als GRUB etwas darüber sagt i386-pc.

  • Sie haben den Inhalt Ihrer root ( /) -Partition kopiert, einschließlich /boot, richtig?
  • Sie haben den Inhalt Ihres ESP kopiert? Tun Sie das, wenn Sie es nicht getan haben.

    • Bearbeiten Sie EFI/ubuntu/grub.cfgauf dem neuen ESP. Das Ersetzen der UUID durch die UUID der neuen Root-Partition sollte ausreichen, wenn nicht auch das hd0,gpt2Teil aus diesem Beispiel entsprechend geändert wird. So sieht der Inhalt einer Datei normalerweise aus:

      search.fs_uuid a7aea81b-0e7f-4ec0-8be4-b0ec75c13fdc root hd0,gpt2
      set prefix=($root)'/boot/grub'
      configfile $prefix/grub.cfg
      
  • Starten Sie von Ihrer alten Installation, führen Sie aus sudo update-grub, os-prober sollte die neue Installation auf der anderen Partition finden und einen GRUB-Eintrag hinzufügen.

    • Starten Sie diesen neuen Eintrag.
    • Sie sollten jetzt von der SSD booten und sudo update-grubhier erneut ausführen , um die GRUB-Konfiguration auf der SSD zu aktualisieren und zu korrigieren.
  • Führen Sie efibootmgr -c -d /dev/sdX -p Y -l \EFI\ubuntu\grubx64.efi -L "Ubuntu"diese Option aus, um den Bootloader für die Neu- / Übertragungsinstallation als neue Startoption zum UEFI-NVRAM hinzuzufügen. /dev/sdXist der Gerätename der neuen Festplatte, Ydie Partitionsnummer.

Danke für die Info: sehr klar und umfangreich. Ich werde jetzt die SSD, die Laufwerksschachthalterung, die Daten- und Stromkabel bestellen.
John Rose

Ich verstehe die Verwendung von / media / $ mountpoint_of_old_drive / in Schritt 1 nicht. Wenn vom alten Laufwerk gebootet wird, hat das alte Laufwerk keinen Mountpoint für sich. Daher sollte der Befehl lauten: sudo rsync -av --exclude = / home / * / / media / $ mountpoint_of_new_drive / Bin ich korrekt?
John Rose

@ JohnRose Die Anweisungen sollten beim Booten von Live-Medien befolgt werden.
LiveWireBT

Entschuldigung: Ich habe das "Booten von Live-Medien" nicht bemerkt. Ich habe mit gparted eine GPT-Partitionstabelle auf der SSD erstellt. Soll ich eine Partition erstellen und wenn ja, welchen Typ? Ich verwende EFI im BIOS. Auf meiner Festplatte (mit GPT & EFI) gibt es 3 Partitionen (mit GPT): fat32 mit einer Größe von 512 MB mit Boot-Set, ext4 mit einer Größe von 690,24 GB, Linux-Swap mit einer Größe von 7,90 GB.
John Rose

Ich habe Partitionen auf der SDD gemäß der Festplatte erstellt (aber mit der ext4, die kleiner ist, da sie / home nicht enthält), dh fat32, linux-swap & ext4, und Schritt 1 (rysnc) OK ausgeführt. Siehe nächster Kommentar.
John Rose
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.