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/crypttab
wenn Sie Kryptografie verwenden,/etc/mdadm.conf
wenn 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 ein
xorg.conf
Datei, 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/world
usw.), sodass Sie einfach Folgendes tun können:
- Installieren Sie die Basisdistribution auf einem neuen System
- Sagen Sie ihm „Installiere alle Pakete, die ich auf dem anderen Computer hatte“
- 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:
- Sichern Sie die Daten.
- Erstellen Sie auf dem Ziellaufwerk eine Partition mit einem ext4-Dateisystem.
- Kopieren Sie alle Daten von der Quellpartition auf die Zielpartition.
- 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 ichwatch
kombiniert 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 mitncdu
Suchen 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:
Erstellen Sie auf dem Ziellaufwerk eine Partition mit einem ext4-Dateisystem:
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 benutzte
rsync
hier. Sie können auch die gute alte Methode verwenden,cp
um dasselbe zu erreichen:sudo cp --recursive -a /run/media/me/old_partition/* /run/media/me/new_partition/
- Im Folgenden wird davon ausgegangen, dass sowohl Ihre alte als auch Ihre neue Partition gemountet sind:
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
chroot
mit Ctrl+ doderexit
- Hängen Sie virtuelle Dateisysteme und die Partition selbst aus:
sudo umount --recursive /run/media/me/new_partition
- Fügen Sie Ihrer neuen Partition die zum Ausführen erforderlichen virtuellen Dateisysteme hinzu
new_partition
Das war's. Jetzt sollten Sie Ihre Linux-Installation auf dem Laufwerk verwenden können /dev/sdb
.