So verschieben Sie Ubuntu auf eine SSD

45

Meine aktuelle Situation ist:

  • Eine Festplatte
  • Dual Boot Ubuntu 11.04 und Windows 7. Partitionen:
    • 100 MB Windows-System-Ding
    • 144GB Hauptfenster
    • 160GB Ubuntu
    • 4 GB Swap
    • 12GB System Restore Zeug

Jetzt möchte ich eine 80GB SSD installieren und Ubuntu darauf verschieben. AFAIK Ich muss:

  • Verkleinern Sie die 160 GB Ubuntu-Partition auf 80 GB
  • Kopieren Sie es auf die SSD
  • Wechseln Sie fstab, um die SSD als zu mounten/

Wie mache ich den zweiten? Und was muss ich gegen Grub tun?

Bart van Heukelom
quelle
[Offtopic, sorry, hätte einen Kommentar abgeben sollen] Es ist auch besser, gleichzeitig die TRIM-Unterstützung für Ihre SSD zu aktivieren
user2074854

Antworten:

56

1) Kopieren von Dateien

Sie möchten die DATEIEN und nicht die gesamte Partition (einschließlich des freien Speicherplatzes) kopieren, damit Sie die Größe der Partition nicht zuerst ändern müssen. Booten Sie von der Live-CD und mounten Sie sowohl die Festplatte als auch die SSD (natürlich nach dem Formatieren einer Partition auf der SSD). Kopieren Sie dann alle Dateien über:

sudo cp -Tax /media/hd /media/ssd

Verwenden Sie natürlich die richtigen Namen für die Einhängepunkte hd und ssd. Dann müssen Sie nur noch die / etc / fstab auf der ssd bearbeiten, um auf die neue fs-UUID zu verweisen (Sie können sie mit nachschlagen blkid). Schließlich müssen Sie grub auf dem ssd installieren.

2) Umgang mit GRUB

a) Befehlszeile:

sudo -s
for f in sys dev proc ; do mount --bind /$f /media/ssd/$f ; done
chroot /media/ssd
grub-install /dev/ssd
update-grub

Verwenden Sie natürlich das richtige Gerät für / dev / ssd. Die gesamte Festplatte, keine Partitionsnummer.

b) Die magische Schaltfläche "Empfohlene Reparatur" in Boot-Repair:

https://help.ubuntu.com/community/Boot-Repair

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

Bildbeschreibung hier eingeben

Starten Sie schließlich neu und vergewissern Sie sich, dass Ihr BIOS so eingestellt ist, dass es von der SSD startet.

Psusi
quelle
8
Ich poste diesen Kommentar von meinem System, das perfekt auf der SSD läuft. Danke
Bart van Heukelom
1
Nur etwas, was ich mit einem zweiten PC gefunden habe: Die Live-CD muss 64 Bit haben, wenn das Betriebssystem, das Sie verschieben, ebenfalls 64 Bit hat, oder das chrootfunktioniert nicht.
Bart van Heukelom
2
Was macht der chrootBefehl und warum ist er notwendig?
codeape
7
Ich fand, der Befehl sollte sein sudo cp -ax --target-directory=/path/to/ssd /path/to/hdd/*oder er kopiert über die Dateien, aber wirft ihn stattdessen in ein Verzeichnis auf der SSD.
Pwnna
2
@Balthazar: Wenn Sie chroot verwenden, muss das neue Stammverzeichnis eine Umgebung sein, die so vollständig ist, dass alle Programme / Skripte, die Sie ausführen möchten, als ob es sich um ein normales Root-Dateisystem handelt. Mit diesen Mount-Befehlen werden die Dateisysteme "sys", "dev" und "proc" (virtuelle Dateisysteme mit nicht festplattengespeicherten Dateien, z. B. / dev / zero, die beim Lesen alle Nullen zurückgeben) an den richtigen Stellen abgelegt erscheinen an der richtigen Stelle, wenn sie aus dem chroot-Gefängnis inspiziert werden.
Azernik
2

Ich konnte diese Migration dank der Anweisungen von @ psusi erfolgreich durchführen, habe jedoch ein "gotcha" festgestellt.

Nach der Installation von Grub auf der neuen SSD konnte es immer noch nicht gestartet werden. Es wurde nach dem RAM-Disk-Image gesucht, das die UUID meines alten OS-Laufwerks verwendete, das ich entfernt hatte. Mit der Option --recheck wurde folgendes Problem behoben:

$ grub-install --recheck /dev/ssd

Dies ermutigt grub, das BIOS erneut zu scannen, das neue Laufwerk zu identifizieren und vermutlich dessen UUID zu verwenden, wenn der Parameter "root =" an den Kernel übergeben wird.

Efpophis
quelle
1

Hier ist eine (für 2018) so gute wie einfache Anleitung von 2013: http://www.sesser.eu/howtos/hdd2ssd.php von Markus Sesser.

Es beschreibt die Migration ohne Booten von einer Live-CD. Es respektiert auch Systemverzeichnisse und verwendet Rsync , Noatime , Nodiratime . Vergessen Sie nicht, die Option discard wegzulassen - sie wird seit Ubuntu 14.04 über cron implementiert.

Kurzer Plan vom Artikel:

  1. Partitionieren und mounten Sie die SSD. Ich empfehle single ext4 auf gpt

  2. Bereinigungsquelle HDD

  3. Daten synchronisieren ( rsync )

  4. Fstab stimmen . Auch wenn Sie die Festplatte im System behalten, empfehle ich, die Festplatte nach Hause zu verschieben, während die Benutzerdaten (~ / Video, ~ / Audio usw.) auf der Festplatte bleiben

  5. installiere grub

Дмитрий Кулешов
quelle
0

Unter Berücksichtigung, dass Ihre Festplatte / dev / sda und SSD / dev / sdb ist und die Partitionen die richtige Größe haben, können Sie einfach cp verwenden:

cp /dev/sdaX /dev/sdbY

Wobei X und Y entsprechende Partitionsnummern sind.

Bei dieser Methode werden jedoch 80 GB Daten kopiert, und alle Sektoren auf Ihrer SSD werden anfangs als "belegt" markiert.

Vilmantas Baranauskas
quelle
Hört sich einfach an, aber der letzte Satz bedeutet mir nicht viel. Ist oder könnte es ein Problem sein?
Bart van Heukelom
Nun, es könnte sich negativ auf Ihre SSD-Geschwindigkeit auswirken (mit TRIM-Unterstützung würde es sich jedoch später erholen). Sie können en.wikipedia.org/wiki/TRIM für weitere Informationen lesen . Aber Sie sollten wirklich den in der anderen Antwort beschriebenen Weg gehen (Dateien kopieren, keine Partitionen). Wenn Sie immer noch die gesamte Partition kopieren möchten, müssen Sie auch grub-install / grup-update ausführen.
Vilmantas Baranauskas
1
Ich würde diesen Ansatz nicht empfehlen, er kopiert alle Dateisystemfehler, die Sie möglicherweise auf Ihrer alten Partition haben. Der cp -axAnsatz ist schneller und sicherer.
Andrei Sosnin