Gliederung

Gliederung

Ich weiß, dass es unter Umständen schwierig sein kann, eine Windows-Installation von einem Computer auf einen anderen zu übertragen (die Festplatte physisch zu verschieben), aber wie funktioniert das unter Linux? Werden die meisten Treibermodule nicht beim Booten geladen? Wäre das theoretisch also so umständlich?

Offensichtlich würden sich Xorg-Konfigurationen ändern und proprietäre ATI-Treiber und dergleichen müssten neu kompiliert werden (vielleicht?). Steckt da mehr dahinter, als ich denke?

Gehen Sie davon aus, dass die beiden Computer aus derselben Ära stammen, d. h. beide i7 sind, aber die Hardware leicht unterschiedlich ist.

Update:
Danke für die Antworten. Das ist hauptsächlich aus Neugier. Ich habe mein Linux-System bei der Arbeit installiert und am Laufen, aber irgendwann würde ich gerne auf einen Computer umsteigen, in den ich zwei Grafikkarten einbauen kann, damit ich mehr als zwei Monitore betreiben kann. Aber nicht in naher Zukunft.

Antwort1

Das Verschieben oder Klonen einer Linux-Installation ist ziemlich einfach, vorausgesetzt, Quell- und Zielprozessoren haben dieselbe Architektur (z. B. beide x86, beide x64, beide ARM …).

Ziehen um

Beim Verschieben müssen Sie sich um Hardwareabhängigkeiten kümmern. Die meisten Benutzer werden jedoch keine weiteren Schwierigkeiten haben xorg.conf(und selbst dann brauchen moderne Distributionen dies in der Regel nicht) und vielleicht den Bootloader.

  • Wenn die Festplattenkonfiguration anders ist, müssen Sie möglicherweise dieBootloaderUndDateisystemtabellen( /etc/fstab, /etc/crypttabwenn Sie Kryptografie verwenden, /etc/mdadm.confwenn Sie md RAID verwenden). Für den Bootloader ist es am einfachsten, die Festplatte in die neue Maschine einzulegen, die Live-CD/USB Ihrer Distribution zu booten und das Bootloader-Reparaturtool zu verwenden.

    Beachten Sie, dass es schneller und einfacher ist, ganze Partitionen zu kopieren (mit (G)Parted oder ), wenn Sie die Daten kopieren und nicht die Festplatte physisch verschieben (z. B. weil ein oder beide Systeme einen Dual-Boot mit Windows durchführen) dd.

  • Wenn Sie einxorg.confDatei, um Anzeigeoptionen zu deklarieren (z. B. in Bezug auf einen proprietären Treiber), muss sie geändert werden, wenn das Zielsystem eine andere Grafikkarte oder ein anderes Monitor-Setup hat. Sie sollten auch dieproprietärer Treiberfür die Grafikkarte des Zielsystems, bevor Sie ggf. verschieben.

  • Wenn Sie erklärt habenModuloptionenoder Blacklists in /etc/modprobe.d, müssen diese ggf. für das Zielsystem angepasst werden.

Klonen

Beim Klonen einer Installation sind dieselben Hardwareprobleme wie beim Verschieben zu beachten, es sind jedoch einige zusätzliche Dinge zu beachten, um der neuen Maschine eine neue Identität zu geben.

  • Bearbeiten Sie , um der neuen Maschine einen neuen Namen zu geben. Suchen Sie unter nach anderen Vorkommen des Hostnamens . Gängige Standorte sind (Alias ​​für 127.0.0.1) und /oder andere Mailsystemkonfigurationen./etc/hostname
    /etc/etc/hosts/etc/mailname

  • Regenerieren Sie dieSSH-Host-Schlüssel.

  • Nehmen Sie die erforderlichen Änderungen an derNetzwerkkonfiguration(z. B. eine statische IP-Adresse).

  • Ändern Sie die UUID von RAID-Volumes (nicht notwendig, aber empfohlen, um Verwirrung zu vermeiden), z. B. mdadm -U uuid.

Siehe aucheine Schritt-für-Schritt-Anleitung zum Klonen speziell für Ubuntu.

Die Installation meines aktuellen Desktop-Computers wurde von seinem Vorgänger geklont, indem ich eine der beiden gespiegelten RAID-1-Festplatten aussteckte, sie in den neuen Computer verschob, ein RAID-1-Volume auf der bereits vorhandenen Festplatte erstellte, die Spiegelung neu synchronisieren ließ und gegebenenfalls die oben beschriebenen Änderungen vornahm.

Antwort2

Ich bin nicht sicher, ob das Ihre Frage beantwortet, aber normalerweise machen Sie genau das Gegenteil – Sie verschieben Ihren Benutzerordner und installieren alles neu. Theoretisch sollten sich alle Ihre Anpassungs- und individuellen Konfigurationsdateien in Ihrem Benutzerordner befinden, das ist also das Einzige, was Sie wirklich übertragen müssen.

Einige Paketmanager bieten eine Möglichkeit, alle installierten Pakete aufzulisten (Debian/Ubuntu haben dpkg --list, Gentoo hat /etc/worldusw.), sodass Sie einfach Folgendes tun können:

  1. Installieren Sie die Basisdistribution auf einem neuen System
  2. Sagen Sie ihm „Installiere alle Pakete, die ich auf dem anderen Computer hatte“
  3. Kopieren Sie Ihren Benutzerordner

Und Sie sollten am Ende ein funktional identisches System haben.

Antwort3

Während es unter Windows fast unmöglich ist, eine Installation auf einen neuen PC zu übertragen, indem man einfach den Festplatteninhalt kopiert oder die Festplatte zwischen den PCs austauscht, funktioniert dies unter Linux erstaunlich gut. Ich bin von einem Thinkpad R52 auf ein Thinkpad T400 umgestiegen, indem ich einfach den Inhalt meiner alten Festplatte auf die neue kopiert habe (indem ich die alte in ein externes Gehäuse gesteckt habe, das über USB angeschlossen war, und alles auf eine Gparted-Live-CD kopiert habe). Danach musste ich nur noch Grub manuell in den MBR einfügen und booten. Bei mir hat immer noch alles funktioniert.

Wie Michael sagte, ist ein neuer PC normalerweise eine gute Gelegenheit, den im Laufe der Zeit angesammelten Datenmüll loszuwerden. Manchmal muss man jedoch einfach sehr schnell wieder mit der Arbeit beginnen, und dann funktioniert das einfache Kopieren des Festplatteninhalts unter Linux hervorragend, da alle im Kernel enthaltenen Treiber dem Kernel ohne Installation zur Verfügung stehen. Heutzutage werden die Treiber automatisch geladen und nicht mehr manuell in modprobe.conf aufgelistet, und sogar xorg konfiguriert sich automatisch für mich.

Lediglich wenn Sie auf dem alten PC die Treiber manuell konfigurieren mussten (zB bei Raid-Systemen, proprietären Grafiktreibern etc.) kann es unter Umständen zu Problemen kommen.

Antwort4

Gliederung

Kürzlich habe ich eine Arch Linux-Installation auf ein anderes Laufwerk verschoben, daskleinerals das Originallaufwerk.

Das Originallaufwerk verwendete nur eine Partition, was die Dinge vereinfachte. Wenn Sie eine von der Root-Partition getrennte Boot-Partition haben,hier ist eine Antwortdas könnte dir helfen.

Die Schritte waren:

  1. Sichern Sie die Daten.
  2. Erstellen Sie auf dem Ziellaufwerk eine Partition mit einem ext4-Dateisystem.
  3. Kopieren Sie alle Daten von der Quellpartition auf die Zielpartition.
  4. InstallierenRODENals Bootloader auf dem Ziellaufwerk.

Hinweise

Ein Hinweis vorweg: Um die Pfade meiner angeschlossenen Geräte (z.B. /dev/sdb) zu ermitteln und generell den Zustand von Geräten sowie Partitionen im Auge zu behalten, verwende ichwatchkombiniert mitlsblk:

watch lsblk -o tran,name,model,fstype,label,mountpoints,fssize,fsavail,fsused,fsuse%

Es wird alle zwei Sekunden aktualisiert und erzeugt eine Ausgabe wie diese:

TRAN   NAME   MODEL                   FSTYPE LABEL        MOUNTPOINTS                FSSIZE FSAVAIL FSUSED FSUSE%
sata   sda    SanDisk SSD PLUS 1000GB
        ├─sda1                         ext4   VM partition /sda1                        108G     50G  53.4G    49%
        └─sda3                         ext4                /                            808G  561.3G 205.7G    25%
usb    sdb    SABRENT
        └─sdb1                         ext4   new_daedalus /run/media/me/new_daedalus  29.2G   25.3G   2.4G     8%
sata   sr0    MATSHITADVD-RAM UJ8A2

Da wir den Inhalt einer Partition auf eine andere kopieren, ist es eine gute Idee, den Müll loszuwerden, der viel Platz einnimmt: Überprüfen Sie die Quellpartition mitncduSuchen Sie nach den Verzeichnissen mit den meisten Daten und löschen oder verschieben Sie diese, wenn möglich.

Noch etwas: Ich verwende SATA-zu-USB-Adapter wiedieseum Quell- und Ziellaufwerke mit meinem Computer zu verbinden.

Einzelheiten

Angenommen, Sie haben Ihre Daten gesichert und Ihr Ziellaufwerk befindet sich unter /dev/sdb. Lassen Sie uns ins Detail gehen:

  1. Erstellen Sie auf dem Ziellaufwerk eine Partition mit einem ext4-Dateisystem:

    • Erstellen Sie eine Linux-Partition (Typ 0x83imMBR):
      sudo sfdisk /dev/sdb <<< "type=83"
      
    • Erstellen Sie das Dateisystem auf der neuen Partition:
      sudo mkfs.ext4 -L new_partition /dev/sdb1
      
  2. Alle Daten von der Quellpartition auf die Zielpartition kopieren:

    • Im Folgenden wird davon ausgegangen, dass sowohl Ihre alte als auch Ihre neue Partition gemountet sind:
      sudo rsync -a --hard-links --delete --progress --human-readable --stats /run/media/me/old_partition/ /run/media/me/new_partition/
      
    • ich benutztersynchier. Sie können auch die gute alte Methode verwenden, cpum dasselbe zu erreichen:
      sudo cp --recursive -a /run/media/me/old_partition/* /run/media/me/new_partition/
      
  3. InstallierenRODENals Bootloader auf dem Ziellaufwerk:

    • Fügen Sie Ihrer neuen Partition die zum Ausführen erforderlichen virtuellen Dateisysteme hinzu grub-install:
      sudo mount --bind /dev /run/media/me/new_partition/dev; sudo mount --bind /proc /run/media/me/new_partition/proc
      
    • Machen Sie das Stammverzeichnis Ihrer neuen Partition zum aktuellen Stammverzeichnis:
      sudo chroot /run/media/me/new_partition/
      
    • Installieren Sie GRUB auf dem Ziellaufwerk (sieheDasWeitere Informationen zu den Geschehnissen finden Sie hier):
      grub-install /dev/sdb; grub-mkconfig -o /boot/grub/grub.cfg
      
    • Beenden chrootmit Ctrl+ doderexit
    • Hängen Sie virtuelle Dateisysteme und die Partition selbst aus:
      sudo umount --recursive /run/media/me/new_partition
      

new_partitionDas war's. Jetzt sollten Sie Ihre Linux-Installation auf dem Laufwerk verwenden können /dev/sdb.

verwandte Informationen