Klonen Sie die interne Festplatte auf eine neue SSD

20

Ich habe kürzlich eine SSD in meinen Computer installiert. Bei dem Computer selbst handelt es sich um ein Lenovo Thinkpad W520, das zuvor über eine interne Festplatte verfügte. Ich schob die interne Festplatte in einen Erweiterungsschacht (ersetzte die CD-ROM) und legte die neue SSD in den internen Schacht.

Das Problem, das ich habe, ist, dass ich meine Ubuntu-Konfiguration genau so habe, wie ich es will - ursprünglich habe ich viele Stunden damit verbracht, sie so zu konfigurieren, wie sie jetzt ist. Ich würde das lieber nicht noch einmal machen. Aber ich möchte auch die Boot-Up-Gewinne, die ich vom Betriebssystem auf der SSD erhalten würde.

Ich möchte also meine Ubuntu-Partition auf die SSD klonen. Der Haken ist, dass die Standard-Festplatte deutlich größer ist als die SSD. Und es hat eine Windows-Partition, die ich auf der SSD nicht brauche (ich verwende niemals Windows, also wenn es von der anderen Festplatte bootet, ist das in Ordnung). Das Layout meiner Festplatten sieht wie folgt aus:

/ dev / sda (SSD): Modell: ATA M4-CT256M4SSD2 (scsi) Festplatte / dev / sda: 256 GB Sektorgröße (logisch / physisch): 512B / 512B Partitionstabelle: msdos

Number  Start   End    Size   Type     File system  Flags
 1      1049kB  147GB  147GB  primary  ext4         boot

/ dev / sdb (HDD): Modell: ATA ST9500420AS (scsi) Festplatte / dev / sdb: 500 GB Sektorgröße (logisch / physisch): 512B / 512B Partitionstabelle: msdos

Number  Start   End     Size    Type      File system     Flags
 1      1049kB  1259MB  1258MB  primary   ntfs            boot
 2      1259MB  269GB   268GB   primary   ntfs
 4      269GB   483GB   214GB   extended
 5      269GB   416GB   147GB   logical   ext4
 7      416GB   475GB   58.9GB  logical   linux-swap(v1)
 6      475GB   483GB   8470MB  logical
 3      483GB   500GB   16.8GB  primary   ntfs

Was ich bisher ausprobiert habe:

1) Ändern Sie die Größe der Partitionen / dev / sdb5 und / dev / sda1 auf dieselbe Größe. 2) Starten von Ubuntu 11.04 (von / dev / sdb5) und Ausführen von dd if = / dev / sdb5 von = / dev / sda1 (dies verursacht natürlich Probleme beim Booten, daher musste ich grub neu installieren booten, aber dann habe ich Probleme damit, dass initrd einige Dateien nicht findet ... vermutlich können einige Partitionen nicht geladen werden, denke ich).

Ich halte diese beiden Schritte für den falschen Ansatz, da sie / dev / sdb5 GENAU klonen - einschließlich Referenzen in fstab, die auf die falsche Festplatte verweisen. Ich weiß nicht genau, wie ich das korrigieren soll. Ich könnte Ubuntu 11.04 auf der SSD installieren und dann versuchen, alle meine Konfigurationen zu kopieren, aber ich befürchte, etwas zu verlieren oder etwas wie fstab zu überschreiben, das wieder auf das Original verweist Festplatte.

Beachten Sie, dass ich derzeit immer noch von der Festplatte booten kann. Es ist also nicht zwingend erforderlich, dass ich dies sofort herausfinde, aber ich möchte, dass es genau so ist, wie es jetzt ist, damit ich mein aktuelles Produktivitätsniveau aufrechterhalten kann ( es ist ein Arbeitslaptop).

Vorschläge, wie ich diese Schwierigkeit überwinden kann?

Danke im Voraus!

jwir3
quelle

Antworten:

13

Es gibt mehr als eine Möglichkeit, Ihr altes System auf ein neues Laufwerk zu kopieren, aber Sie haben nicht wirklich danach gefragt, wie das System geklont werden soll.

Ich würde nur gparted von der Live-CD verwenden, damit keine Partition gemountet wird. Sie können die ursprüngliche Partition auf die Größe verkleinern, die Sie auf der SSD haben möchten, und dann die Partition kopieren und auf dem neuen Laufwerk einfügen. Wenn ich mich richtig erinnere, wird dieselbe UUID wiederverwendet, aber Sie können dies später auf der einen oder anderen Partition ändern. Der Befehl hierfür lautet sudo tune2fs -U random /dev/sdb5UUID für sdb5 zuweisen.

Wenn Sie das alte System nicht ändern möchten und es für eine Weile aktiviert lassen möchten, können Sie die UUID für die SSD-Partition ändern und Ihre fstab bearbeiten. Es ist eigentlich gar nicht schwer und ist etwas, über das Sie lernen sollten. Es ist ziemlich selbsterklärend für jemanden mit dem Wissen, das Sie bereits zu haben scheinen. Sobald Sie eine neue UUID zugewiesen haben, können Sie alle mit diesem Befehl sudo blkid -c /dev/nullanzeigen : - Der Parameter -c gibt die Cache-Datei an, und / dev / null bedeutet, dass kein Cache verwendet wird, sodass Sie Änderungen immer sofort erhalten. Ich benutze immer dieses Formular und sehe keinen Nachteil, es sei denn, Sie haben viele Partitionen.

Sobald Sie die UUID erhalten haben, können Sie sie mit gedit oder einem beliebigen Texteditor in / etc / fstab kopieren und über die alte einfügen.

Anstatt sich zunächst Zeit zu nehmen, um die Größe der Partition zu ändern, würde ich die alte Installation einfach auf die neue Festplatte kopieren. Wenn Sie nicht wissen, wie Sie GRUB auf dem mbr installieren können, möchten Sie möglicherweise zuerst ein Basis-Ubuntu installieren, dann / etc / fstab sichern, die alte Installation darüber kopieren und dann die fstab von der neuen Installation kopieren hat nur die richtigen Einträge.

Marty Fried
quelle
Das ist sehr hilfreich, danke. Ich werde es versuchen und sehen, ob ich es zum Laufen bringen kann. Dann komme ich zurück und akzeptiere die Antwort oder frage dich mehr darüber. ;)
jwir3
1
Ich habe die Live-Installations-CD oft benutzt, da sie fast alles enthält, was Sie brauchen. Das beste Rettungsimage, das ich bisher verwendet habe, ist die System Rescue CD . Diese bootfähige CD, die auch als USB-Stick erhältlich ist, hat GRUB für mich einige Male repariert, nachdem etwas (oder jemand, der unbenannt bleiben soll) es ausgelöscht hat. Es hat gparted, Grub-Tools und alles andere, was Sie wollen, um eine Linux-Installation zu reparieren, ohne zu viel Overhead. Ist das die Art von Dingen, nach denen Sie gefragt haben?
Marty Fried
1
Gern geschehen und viel Glück.
Marty Fried
1
Das hat gut funktioniert. Eine Sache, bei der ich ein bisschen unsicher war, war, wie man Grub konfiguriert, und genauer gesagt, dass es sehr unterschiedliche Möglichkeiten gibt, Grub-Legacy und Grub2 zu konfigurieren. Nach der Installation von grub2 ( apt-get install grub2) habe ich Folgendes als Referenz für grub2 verwendet : dedoimedo.com/computers/grub-2.html Ursprünglich verwendete ich eine Installationsmethode für grub2, obwohl grub-legacy auf meinem System installiert war.
jwir3
1
Ah, ja, das liebenswerte Grub, und es wurde verbessert, Grub2 (NEU! VERBESSERT! JETZT NOCH KOMPLEXER!). Entschuldigung, es ist alles meine Schuld. Ich hatte die alte Made richtig verstanden, also haben sie sie natürlich geändert. Als ich dann dachte, ich würde grub2 bekommen, nahmen sie ein paar kleinere Änderungen vor, die mit der vorherigen Version nicht kompatibel waren. Aus diesem Grund habe ich zuerst die Möglichkeit einer Basisinstallation vorgeschlagen, nur um Grub einzurichten. Aber es ist eine gute Idee, Grub zu lernen, und es ist eigentlich gar nicht so kompliziert. Bist du jetzt auf grub2 umgestiegen?
Marty Fried
5

Booten Sie von der Live-CD, mounten Sie beide Laufwerke und kopieren Sie die Dateien einfach mit sudo cp -ax /media/source /media/dest. Bearbeiten Sie die Datei / etc / fstab auf dem Ziel, um auf die richtige UUID zu verweisen (suchen Sie mit blkid), und installieren Sie grub erneut.

Psusi
quelle
Genau das würde ich tun, aber ich habe ewig gebraucht, um grub2 in den Griff zu bekommen - hauptsächlich aufgrund der Vielzahl von Methoden, die ich gelesen habe und von denen keine vollständig zu sein schien. In Ihrem Beitrag wird davon ausgegangen, dass sich die Person auf derselben Ebene wie Sie befindet, oder Sie nehmen einfach an, dass sie nach den Teilen fragt, die nicht bekannt sind (was wahrscheinlich in Ordnung ist). Aber es ist merkwürdig, dass Sie den einfachsten Teil, den Kopierbefehl, angegeben und die schwierigeren Teile irgendwie beschönigt haben. :)
Marty Fried
3
@MartyFried, ein kurzer Sprung von Google direkt zu help.ubuntu.com/community/Grub2#Reinstalling_GRUB2 , der besagt, dass es so einfach ist, grub-install --root-directory /mnt /dev/sdanach dem Mounten der Ubuntu-Partition in / mnt;)
psusi
Ah, ich bin froh zu hören, dass sie die Dokumentation verbessert oder ergänzt haben. Es war eine Weile für mich, aber als ich versuchte, es in den Griff zu bekommen, war selbst die offizielle GRUB-Dokumentation nicht ganz korrekt. Es gab auch eine Versionsänderung für GRUB2, die dazu führte, dass eine undurchsichtige Fehlermeldung fehlschlug. Aber das Problem mit den Ubuntu-Foren, die ich öfter besuchte, ist, dass viele Fehlinformationen wiederholt werden, bis sie von Leuten wahr werden, die kaum wissen, wovon sie sprechen - nicht von allen, aber manchmal ist es schwierig, sie zu klären.
Marty Fried
2

Ich würde empfehlen, die Verwendung zu vermeiden, dd if=/dev/sdb5 of=/dev/sda1wenn Ihr System von /dev/sdb5sich aus ausgeführt wird (und vermutlich nicht schreibgeschützt gemountet ist).

Eine andere Möglichkeit, Partitionen zu kopieren, besteht darin, von der Live-CD (oder USB) zu booten und GParted zu starten. Sie können Strg + C / Strg + V verwenden, um Partitionen von einer Festplatte auf eine andere zu kopieren.

Eine Kopie wird erstellt (und möglicherweise muss nach dem Neustart die Partitionstabelle aktualisiert werden). Hängen Sie Ihre neue Root-Partition von der Live-CD mithilfe eines Terminals ein:

sudo mount /dev/sda1 /mnt

Bearbeiten Sie dann, um /mnt/etc/fstabauf die richtigen Positionen zu verweisen.

Bruno
quelle
1
Wenn Sie ddvon der Live-CD kommen, müssen Sie die fstab nicht bearbeiten, vorausgesetzt, sie verwendet UUIDs (die sollten).
Alecz
0

Das Bash-Skript clone-ubuntu.shautomatisiert die Schritte, die von den akzeptierten Antworten vorgegeben werden. Ein Menü wird bereitgestellt, um das Auffinden der neuen Partition zu vereinfachen:

clone-ubuntu.png

Besuchen Sie den obigen Link, um eine Kopie des Skripts und wichtige Punkte zu erhalten, die Sie berücksichtigen sollten, z.

  • rsync wird verwendet, um eine gebootete Partition zu klonen, und virtuelle Systemverzeichnisse werden korrekt übersprungen.
  • /etc/fstab des Zielklons wird mit den richtigen UUIDs zum Booten aktualisiert.
  • /etc/grub/grub.cfg wird für nahtloses Grub-Booten aktualisiert.
WinEunuuchs2Unix
quelle