So kopieren Sie eine Ubuntu-Installation von einem Laptop auf einen anderen


60

Ich werde meine Maschine wechseln: von einem Laptop mit Ubuntu zu einem anderen Laptop, auf dem ich Ubuntu installieren werde ...

Ich bin ziemlich zufrieden mit dem aktuellen System, was ich befürchte, ist, alles von 0 neu erstellen zu müssen.

Was machen die Leute also oft, um ein Ubuntu-System zu klonen? Dies kann die Daten, Pakete, Verknüpfungseinstellungen usw. umfassen.


4
Können Sie die Festplatte nicht einfach von Ihrem alten Laptop extrahieren und auf Ihrem neuen Laptop installieren? Ich habe MB, MicroProcessor, RAM und Festplatten gewechselt, nur um die Boot-Festplatte zu schonen, und ich habe ein großes Problem nach dem Booten erwartet, das nicht aufgetreten ist. Das mag nicht besonders schick sein, aber es funktioniert wie ein Zauber.
Geppettvs D'Constanzo

Oder erstellen Sie einfach einen Klon Ihres Systems mit Remastersys, UCK, Customizer ...
Uri Herrera

8
Ich habe das mehrere Male gemacht: Stecke das alte Laptop-Laufwerk in den neuen Laptop mit einem USB-zu-SATA-Konverter, starte den neuen Laptop von der Ubuntu-Live-CD, wische das neue Laufwerk mit gparted ab, kopiere die gesamte Festplatte von alt auf neu, Größe der Partition ändern, booten, Keks haben, X11 neu konfigurieren. So einfach wird das mit Windows unmöglich sein!
aquaherd

1
Was ist das für ein Teil bei der Neukonfiguration von X11? Ist das Kopieren auch ein normales einfaches Kopieren und Einfügen?
Whirl Mind

Antworten:


39

Es gibt einige Möglichkeiten, Ihre Konfiguration zu kopieren und einzurichten. Es hängt davon ab, wie groß die vorgenommenen Änderungen sind. Und wenn Sie auf eine neue Version aktualisieren. Einige der Methoden sind beim Aktualisieren zwischen Versionen hilfreich, aber seien Sie vorsichtig, da sie die ordnungsgemäße Funktion einiger Software-Formulare beeinträchtigen können.

Methode 1: Neuinstallation

Die robusteste und stabilste Methode ist eine Neuinstallation. Kopieren Sie dann die Konfiguration und installieren Sie alle Ihre Pakete neu. Dies funktioniert auch von einer alten Version zu einer neuen Version. Es gibt Möglichkeiten, dies schnell zu erreichen und den größten Teil des Prozesses zu automatisieren. Am langsamsten wäre es, alle Pakete herunterzuladen, die nicht auf Ihrem Installationsmedium enthalten sind. Ich hatte die 8-DVD-Images, die es mir ermöglichten, sie viel schneller zu installieren als sie herunterzuladen.

Ich würde diese Option empfehlen, da das Einrichten und Installieren von grub Ihr System unbrauchbar machen kann. Sie müssen ein solides Gespür für Maden haben, um Methode 2 anwenden zu können.

Bevor Sie Ihre neue Installation (neuer Laptop) durchführen, müssen Sie einige Informationen von Ihrer alten Installation (alter Laptop) kopieren.

Ihre Einrichtung oder Konfiguration

Alle Dateien, die Ihre Anpassung speichern, werden an zwei Stellen gespeichert. Der erste und wichtigste ist Ihr / home / [Benutzername] -Verzeichnis. Es können Hunderte von. [Package-config-dir] -Dateien und -Verzeichnissen vorhanden sein. Ich werde das Wichtigste auflisten, aber Sie können mehr haben und mehr hinzufügen, wenn Sie wollen. Dieser Prozess kann Probleme mit Paketen verursachen, die nicht ordnungsgemäß funktionieren. Seien Sie also vorsichtig, wenn Sie dies tun. Erstellen Sie eine Sicherungskopie Ihrer Neuinstallation, bevor Sie Ihre neuen Verzeichnisse einfügen.

Diese Verzeichnisse und Dateien sind nicht sehr groß und werden wahrscheinlich nur einige hundert Megabyte benötigen. Diese Methode ist auch zwischen Upgrades nützlich. Sie können alle Konfigurationsänderungen, die Sie zwischen Ubuntu-Versionen vorgenommen haben, recht schnell kopieren.

Standardmäßig erstellen die meisten Programme das Verzeichnis. [Package-config-dir], wenn sie zum ersten Mal ausgeführt werden. Wenn es nicht existiert, wird es neu erstellt. Sie sollten sich nicht auf dieses Verhalten verlassen, da nicht alle Programme so funktionieren.

  1. Navigieren Sie mit Nautilus zu Ihrem Home-Verzeichnis ( /home/[username]).
  2. Wählen Sie "Menü Ansicht → Versteckte Dateien anzeigen" (oder Ctrl+ H)

  3. Sie sollten jetzt alle versteckten .*Verzeichnisse sehen. Möglicherweise müssen Sie dies als root ausführen. starte nautilus einfach als root von einer befehlszeile aus.

    Wählen Sie die folgenden Verzeichnisse aus und kopieren Sie sie in ein separates Verzeichnis.

    /home/aaron/.config  
    /home/aaron/.gconf  
    /home/aaron/.gnome2  
    /home/aaron/.gnome2_private  
    /home/aaron/.local  
    /home/aaron/.mozilla  
    

    Ich habe Änderungen an diesen Dateien vorgenommen. Also kopiere ich sie auch.

    /home/aaron/.bash_aliases 
    /home/aaron/.bashrc 
    /home/aaron/.vimrc
    

    Möglicherweise verwenden Sie viele andere Pakete, in denen die Konfiguration nicht in diesen Verzeichnissen gespeichert ist. Kopieren Sie sie auch, aber seien Sie gewarnt, wenn die Programme nicht wie erwartet funktionieren. Möglicherweise müssen Sie die .*Datei oder das Verzeichnis wiederherstellen . Sie können dies tun, indem Sie einfach die Datei oder das Verzeichnis löschen. Sie sollten jedoch eine Sicherungskopie erstellen, bevor Sie über die Verzeichnisse kopieren.

  4. Abhängig davon, wie Sie Ihr System verwenden. Möglicherweise haben Sie Änderungen an einigen Dateien im /etcVerzeichnis vorgenommen. Wenn Sie haben, sollten Sie sie auch kopieren. Ich erstelle eine benutzerdefinierte smb.conf-Datei für die Arbeit und habe viele virtuelle Apache-Hosts, die ich für die Entwicklung verwende, sodass ich sie auch kopiere. Sie könnten Ihr gesamtes /etcVerzeichnis kopieren , dies kann jedoch zu Problemen führen, wenn auf Ihrem Computer hinsichtlich der Hardware nicht genau die gleichen Einstellungen vorgenommen wurden. Was es nicht von einer Maschine zur anderen geht.

    /etc/samba/smb.conf
    /etc/hosts
    /etc/apache2 # the whole directory.
    

    Kopieren Sie Ihre Konfigurationsdateien vor oder nach der Installation neuer Software. Tun Sie dies nicht, während eine Softwarepaket-Installation ausgeführt wird. Sie könnten die Installation abbrechen.

Ihre installierten Pakete

Mit Synaptic können Sie alle installierten Pakete ganz einfach über die Menüoption Exportmarkierungen exportieren.

  1. Menü Datei → Markierungen speichern unter
  2. Aktivieren Sie "Vollständigen Status speichern, nicht nur Änderungen".
  3. Wählen Sie einen Namen und ein Verzeichnis, um diese Datei zu speichern (Sie müssen diese wahrscheinlich auf ein Flash-Laufwerk kopieren.)

Sie können dann alle installierten Pakete neu laden, indem Sie den Vorgang umkehren:

  1. Menü Datei → Markierungen lesen
  2. Wählen Sie die Datei aus, die Sie im ersten Schritt erstellt haben.

Dies wird wahrscheinlich am längsten dauern. Wenn Sie viele Pakete herunterladen (1 GB Pakete), dauert dies einige Stunden.

Methode 2: Verwenden von Datenträgerabbildern

Ich werde Methode 2 als separaten Beitrag machen. Dies ist eine erweiterte Option. Dazu müssen Sie die Partitionen verstehen, grub installieren und die Befehlszeile verwenden.

So kopieren Sie eine Ubuntu-Installation von einem Laptop auf einen anderen


Was ist, wenn der letzte Schritt zum Wiederherstellen installierter Pakete mit diesen Fehlern fehlschlägt ?
Chris

30

Es gibt einige Möglichkeiten, Ihre Konfiguration zu kopieren und einzurichten. Es hängt davon ab, wie groß die vorgenommenen Änderungen sind. Und wenn Sie auf eine neue Version aktualisieren. Einige der Methoden sind nützlich, wenn Sie ein Upgrade zwischen Versionen durchführen. Seien Sie jedoch vorsichtig, da sie die ordnungsgemäße Funktion einiger Software beeinträchtigen können.

Methode 1: Neuinstallation

Wird separat gebucht. So kopieren Sie eine Ubuntu-Installation von einem Laptop auf einen anderen

Dies ist die sicherste Methode und erfordert nicht, dass Sie Ihr Grub- und Boot-Setup bearbeiten. Einfach, da das meiste mit GUI-Tools erledigt werden kann.

Methode 2: Verwenden von Datenträgerabbildern

Dies kann der schnellste Weg sein, sich zu bewegen. So kopieren Sie Ihre Festplattenpartitionen als Disk-Images sind recht schnell. Wenn Sie nicht jede Software neu installieren möchten. Das Erstellen, Ändern der Größe und Verschieben der Datenträgerabbilder kann jedoch sehr lange dauern. Ich würde dies nur empfehlen, wenn Sie nicht auf eine neue Version von Ubuntu aktualisieren möchten. Stellen Sie sicher, dass Sie sich mit Festplattenpartitionen und Grub auskennen. Das meiste, was ich tue, wird die Befehlszeile verwenden. Sie müssen sicherstellen, dass Sie verstehen, was ein Befehl tut, bevor Sie ihn ausführen. Ich bin nicht verantwortlich für Datenverlust aufgrund der folgenden Anweisungen.

Schritt eins: Erstellen Sie ein Image Ihrer Installation.

Zuerst müssen wir uns über das Setup informieren. Verwenden von parted -lundmount

$ sudo parted -l
Model: ATA ST9320423AS (scsi)
Disk /dev/sda: 320GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type      File system     Flags
 1      32.3kB  197MB   197MB   primary   ext4            boot
 2      197MB   10.2GB  10.0GB  primary   linux-swap(v1)
 3      10.2GB  50.2GB  40.0GB  primary   ext4
 4      50.2GB  299GB   249GB   extended
 5      50.2GB  54.4GB  4195MB  logical   ext4
 6      54.4GB  65.9GB  11.5GB  logical   ext4
 7      65.9GB  299GB   233GB   logical   ext4

$ mount
/dev/sda5 on / type ext4 (rw,errors=remount-ro)
/dev/sda7 on /home type ext4 (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/sda6 on /usr type ext4 (rw)
# I took out the entries that were not need for these instructions

$ cat /etc/fstab 
proc            /proc           proc    nodev,noexec,nosuid 0       0
UUID=ddc8c237-e8ac-4038-a0ed-f7c866d6603b /               ext4    errors=remount-ro 0    1
UUID=aa9881d1-5cc1-4e94-8cd7-8125e18ece2f /boot           ext4    defaults        0      2
UUID=31a6fde1-6b96-4cc3-acfd-88573f52be36 /home           ext4    defaults        0      2
UUID=073146a7-5668-4728-9a6f-1a599f358a8d /usr            ext4    defaults        0      2
UUID=540b96b6-b3c3-4092-b4ad-6b33bcbbe16d none            swap    sw              0      0

Ihr Setup sieht möglicherweise anders aus. Ich habe eine separate Partition für /home, root ( /) und /usr.

Erstellen der Disk-Images

Ich benutze, ddwie es einfach und schnell ist. Stellen Sie sicher, dass Sie lesen und verstehen, wie es funktioniert. Sie benötigen eine leere Partition, die größer ist als die gesamte Partitionsgröße, die Sie kopieren. Dies kann einige Zeit dauern. Das Erstellen und Kopieren der Partitionen kann je nach Größe einige Stunden dauern. Sie müssen das externe Laufwerk durch einen Teil des Speichermediums ersetzen, das Sie für diesen Vorgang verwenden.

sudo dd if=/dev/sda5 of=/media/externaldrive/sda5-root.img
sudo dd if=/dev/sda7 of=/media/externaldrive/sda7-home.img
sudo dd if=/dev/sda6 of=/media/externaldrive/sda6-usr.img

Hier ist ein aktuelles Beispiel für die Ausgabe, nachdem dies auf meinem Setup ausgeführt wurde.

$ sudo dd if=/dev/sda5 of=/media/home0/sda5-root.img
8193087+0 records in
8193087+0 records out
4194860544 bytes (4.2 GB) copied, 55.3159 s, 75.8 MB/s

Mit den von Linux bereitgestellten Tools können wir die Größe dieses Festplattenabbilds reduzieren.

$ sudo resize2fs -P sda5-root.img
 resize2fs 1.41.11 (14-Mar-2010)
 Estimated minimum size of the filesystem: 605972
$ ls -sh ./sda5-root.img
 4.0G ./sda5-root.img
$ sudo resize2fs -M sda5-root.img
 resize2fs 1.41.11 (14-Mar-2010)
 Please run 'e2fsck -f sda5-root.img' first.
$ sudo e2fsck -fy ./sda5-root.img # y makes it run without asking thousands of questions.

e2fsckwird notwendigerweise viele Fehler oder Korrekturen ausgeben. Dies liegt daran, dass die Informationen im Dateisystem in Bezug auf den Beginn und das Ende der Partitionsgrenzen nicht mehr korrekt sind. Dies ist korrekt, da es sich nicht mehr in der Partition befindet, für die es konfiguriert wurde.

$ sudo resize2fs -M sda5-root.img
 resize2fs 1.41.11 (14-Mar-2010)
 Resizing the filesystem on sda5-root.img to 605505 (4k) blocks.
 Resizing the filesystem on sda5-root.img to 605505 (4k) blocks.
 The filesystem on sda5-root.img is now 605505 blocks long.
$ ls -sh ./sda5-root.img
 2.4G ./sda5-root.img

Im Wesentlichen wird der gesamte freie Speicherplatz in der Partition entfernt. Für die größere Partition können dies also mehr als 50% der Festplattengröße sein. Viel schneller, um eine kleinere Datei zu kopieren

Sie müssen jetzt Ihren neuen Laptop mit einer Live-Festplatte starten und hier die folgenden Schritte ausführen. Sie müssen eine Live-Festplatte verwenden, da Sie keine Änderungen an einer laufenden Partition vornehmen können, die derzeit vom installierten Betriebssystem verwendet wird.

Sie können diese Datenträgerabbilder jetzt in die Partitionen auf dem neuen Computer kopieren. Sie sollten diese Partitionen bereits eingerichtet haben. Verwenden Sie die Live-Disk und gpartedist eine schnelle und einfache Möglichkeit, dies zu tun. Stellen Sie sicher, dass Sie alle Partitionen haben, die Ihr System benötigt. Sie können diese Partitionen größer machen als diejenigen, die Sie auf Ihrem vorherigen System hatten. Wenn wir die Disk-Images in sie kopieren, ändern wir die Größe des Dateisystems und es nimmt den gesamten freien Speicherplatz auf der Partition ein.

Jetzt Schritt zwei: Kopieren Sie die Disk-Images auf das neue Laufwerk und in die neuen Partitionen.

sudo dd if=/media/exteranldrive/sda5-root.img of=/dev/sda3 # replace the [sda3] with your partition.  

Auf meinem Computer sah die Ausgabe so aus

$ sudo dd if=./sda5-root.img of=/dev/sdb6 
4844040+0 records in  
4844040+0 records out  
2480148480 bytes (2.5 GB) copied, 87.4921 s, 28.3 MB/s  

$ sudo fsck.ext4 -fy /dev/sdb6  
e2fsck 1.41.11 (14-Mar-2010)  
Pass 1: Checking inodes, blocks, and sizes  
Pass 2: Checking directory structure  
Pass 3: Checking directory connectivity  
Pass 4: Checking reference counts  
Pass 5: Checking group summary information  
root1: 50470/504000 files (1.4% non-contiguous), 616736/2060328 blocks  

Jetzt müssen wir die fstab-Datei bearbeiten, um auf die richtigen Geräte zu verweisen. Wenn Sie die neue Festplattenpartition gerade auf Ihre neue Festplatte kopiert haben, befindet sich die fstab-Datei auf dieser Partition, sodass Sie sie bereitstellen müssen, um auf die Datei zugreifen zu können. Sie müssen auch die Root-Partition gemountet haben, um grub zu installieren, wenn Sie keine separate Boot-Partition haben.

$ sudo mkdir /mnt/tmp  
mount /dev/sdb6 /mnt/tmp  
$ sudo blkid  # to see what the disk uuid is   
/dev/sda5: LABEL="root1" UUID="ddc8c237-e8ac-4038-a0ed-f7c866d6603b" TYPE="ext4"  
/dev/sdb6: LABEL="root1" UUID="ddc8c237-e8ac-4038-a0ed-f7c866d6603b" TYPE="ext4"  
$ gksu gedit /mnt/tmp/etc/fstab  
replace the UUID with the UUID of your partition  
UUID=ddc8c237-e8ac-4038-a0ed-f7c866d6603b /               ext4    errors=remount-ro 0  1

Hier können Sie sehen, dass das neue Festplatten-Image, das ich auf die andere Festplatte kopiert habe, dieselbe UUID wie das ursprüngliche Dateisystem hat. Sie könnten also Ihre fstab-Datei von Ihrer alten Installation in Ihre neue Installation kopieren und ein funktionierendes System haben. Das wird hochfahren. Bei der Einrichtung kann ich meinen Computer nicht so lassen, da er sonst auf dem zuerst gefundenen Gerät startet.

Bearbeiten Sie fstab und stellen Sie sicher, dass die uuid mit den Partitionen übereinstimmt, die Sie für root und home und für jede andere von Ihnen eingerichtete Partition eingerichtet haben.

Der letzte Schritt ist die Installation von grub auf Ihrer neuen Festplatte.

sudo chroot /mnt/tmp # your root partition.   
grub-install /dev/XXX  

In meinem Fall:

grub-install /dev/sdb
update-grub

Bitte lesen Sie diese Anweisungen, bevor Sie beginnen. Es hat keinen Sinn, alle Daten auf Ihrem neuen Laptop zu haben und nicht in der Lage zu sein, ihn hochzufahren.

https://help.ubuntu.com/community/Grub2
https://help.ubuntu.com/community/RecoveringUbuntuAfterInstallingWindows


Ich hatte Zweifel, ob die Zielpartition mehr Speicherplatz als das Festplatten-Image hat. Erlaubt uns dd, den zusätzlichen Speicherplatz zu nutzen, oder wird das verschwendet?
Nikhil

@nikhil. No dd wird den zusätzlichen Platz nicht nutzen. Es ist aber nicht dazu gedacht. Dateisysteme werden nicht verstanden. fsck.ext4 auf der anderen Seite versteht Partitionen und Dateisysteme. Ein Teil der Dateisystemprüfung besteht darin, die Partitionsgröße zu überprüfen und sicherzustellen, dass das Dateisystem mit der Partitionsgröße übereinstimmt.
Nelaaro

8

Versuchen Sie es mit Clonezilla. Clonezilla ist ein Disk-Imaging / Clonning-Tool. Mit diesem Tool können Sie Ihr Ububtu auf ein neues System klonen.

Clonezilla-Boot-Menü

Clonezilla klont Ihre Einstellungen und auch Ihre gesamten Partitionen.

Es gibt zwei Versionen von Clonezilla. Clonezilla live ist zur einmaligen Anwendung geeignet.

Für weitere Informationen besuchen Sie diesen Link .


1
Gute Wahl. Denken Sie daran, dass das Wiederherstellen auf unterschiedlicher Hardware möglicherweise nicht so einfach ist. Ich denke, es sollte in Ordnung sein, wenn Sie auf einer Partition der gleichen Größe wiederherstellen. Sie können auch PING (Partition-Image-Is-Not-Ghost) ausprobieren. Das ist ein anderes Werkzeug.
Whirl Mind
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.