Wechseln Sie zwischen Windows- und Linux-Festplatten

Wechseln Sie zwischen Windows- und Linux-Festplatten

Ich habe einen Laptop (ASUS Harman/Kardon) mit zwei Laufwerken, einer kleinen SSD und einer 1-TB-Festplatte. Auf der SSD war Windows installiert, und auf der Festplatte habe ich Linux installiert.

Da ich fast ausschließlich die Linux-Partition verwende, gibt es eine Möglichkeit, die Linux-Partition einfach auf das andere Laufwerk zu übertragen und Windows auf die Festplatte zu installieren (ich möchte meine Windows-Lizenz nicht verlieren).

Ich möchte das Linux-Image so belassen, wie es ist. Es macht mir nichts aus, wenn ich Windows von Grund auf wiederherstellen muss.

Mir ist bewusst, dass ich möglicherweise zusätzlichen Speicherplatz benötige, und ich verfüge über eine externe Festplatte, die groß genug ist, um beide Partitionen unterzubringen.

Ist es also möglich, Linux auf die SSD und Windows auf die Festplatte zu übertragen, ohne auf beiden von vorne beginnen zu müssen?

Versuch 1

Ich habe die Linux-Partition auf der Festplatte verkleinert, um Platz für eine Windows-Partition zu schaffen. Dann habe ich eine Windows-Installationsdiskette erstellt, um Windows auf der Festplatte zu installieren. Leider übernimmt diese Installationsdiskette die andere Windows-Installation. Außerdem bekomme ich nur eine Schaltfläche „Jetzt installieren“, was sehr nutzlos ist, da ich keine Ahnung habe, wo es installiert wird.

Sieht so aus, als müsste ich die SSD physisch entfernen, meine Linux-Sachen von der Festplatte woanders speichern und dann die Windows-Installation ausführen und sie die Kontrolle übernehmen lassen (denn welcher Benutzer braucht schon die Kontrolle über das Betriebssystem?). Irgendwelche anderen Ideen? Gibt es eine Möglichkeit, Windows zu zwingen, an einem bestimmten Ort zu installieren?

Aktualisieren

Ich habe eine Partition auf der Festplatte erstellt und konnte Windows darauf installieren. Anschließend habe ich die SSD neu formatiert (wobei ich die Bootpartition intakt ließ) und mit rsync (aus der verlinkten Frage) alle Daten von der alten Festplatte auf die neue Festplatte kopiert.

Ich habe dann ausgeführt sudo grub-install <SSD>, aber beim Booten nimmt Grub nur die Installation auf der Festplatte auf (und auch den Windows-Bootmanager, was immer der Fall ist). Habe ich einen Schritt verpasst? Muss ich irgendwie grub-install ausführen, wenn ich von der neuen „Installation“ boote? Wenn ja, wie boote ich davon?

Bearbeiten:Sieht so aus, als müsste ich chroot auf die neue „Installation“ umstellen. Dabei verliere ich jedoch die Festplatte (/dev/nvme0n1), auf der ich Grub installieren möchte. Gibt es eine Möglichkeit, Grub so einzurichten, dass es funktioniert, wenn es bootet und diese Festplatte vorhanden ist (ich weiß, dass sie vorhanden sein wird)?

Antwort1

Ich habe es also endlich geschafft, und es hat definitiv viel Arbeit gekostet, aber es ist geschafft und es scheint gut zu laufen (und viel schneller). Das Einzige, was noch übrig bleibt, ist, mich um den Swap zu kümmern, der sich immer noch auf der Festplatte befindet.

Schritt 1:

Erstellen Sie eine Linux-Livediskette, booten Sie sie und verkleinern Sie die Festplatte, um genügend Platz für eine Windows-Installation zu lassen (machen Sie sich keine Gedanken über die genaue Größe, da die Partitionen irgendwann in der Größe angepasst werden). Ich habe eine Linux-Livediskette verwendet, weil ich gparted mag und dies mit meinem laufenden Linux-System nicht möglich war, da das Laufwerk gemountet war und seine Größe nicht angepasst werden konnte.

Hinweis: Sie können die Windows-Partition nach der Installation von Windows nicht mehr verschieben. Ich bin davon ausgegangen, dass das möglich ist. Das bedeutet, dass der Speicherplatz verschwendet wird, wenn sich die Linux-Partition am Anfang der Festplatte befindet (wie bei mir). Ich empfehle, alles ans Ende der Festplatte zu verschieben und die Windows-Partition dann an den Anfang zu setzen, da sie immer erweitert werden kann (das dauert allerdings ziemlich lange).

Schritt 2:

Erstellen Sie eine Windows-Bootdiskette - kann getan werdenauf der Windows-Site. Idealerweise wäre dies auf einem zweiten Flash-Laufwerk, da Sie keine neue Linux-Festplatte erstellen müssen, wenn (nicht falls) etwas schief geht und Sie von vorne beginnen müssen.

Schritt 3:

Installieren Sie Windows, klicken Sie auf „Jetzt installieren“ und gehen Sie dann weiter, bis Sie eine Partition auswählen können. Wählen Sie die Partition aus, die Sie beim Ändern der Größe der Festplatte erstellt haben (sie muss nicht einmal formatiert sein, Windows erledigt dies mit dem freien Speicherplatz auf einem Laufwerk). Lassen Sie Windows seine Arbeit machen. Wenn Sie sich zum ersten Mal bei der neuen Windows-Installation anmelden, wird der Lizenzschlüssel überprüft.

Schritt 4:

Kopieren Sie alles, was Sie möchten, aus der ursprünglichen Windows-Installation.

Schritt 5:

Booten Sie Linux von Ihrer Live-Festplatte (nicht von der auf der Festplatte installierten). Zerstören Sie die SSD und erstellen Sie eine ext4-Partition. Achten Sie darauf, die FAT32-Partition am Anfang nicht zu berühren, dies ist die Boot-Partition und sie ist wichtig.

Schritt 6:

rsyncen Sie alles auf das neue Laufwerk. Dazu müssen Sie die alte und die neue Festplatte mounten und alles synchronisieren (einige Dinge können fehlschlagen, wie /proc/devices, das ist kein Problem, aber stellen Sie sicher, dass Sie Root sind). Das sieht so aus:

mount /dev/sda2 oldDisk/ #the existing linux partition
mount /dev/nvme0n1p2 newDisk/ #The new, empty partition on SSD
rsync -avz oldDisk/ newDisk

Schritt 7:

Starten Sie Ihre ursprüngliche Linux-Installation zurück (dies funktioniert möglicherweise auch auf dem Live-Flash-Laufwerk).

mount /dev/nvme0n1p2 /mnt #Mount the new drive somewhere
mount --bind /dev /mnt/dev/
grub-install --boot-device=/mnt /dev/nvme0n1 #note this is the whole device, not just the patition (akin to /dev/sda)
update-grub #so the new stuff is picked up.

Dies ist skizziertHier.

Das sollte alles sein. Ich habe die Linux-Installation inzwischen aufgeräumt. Der Windows-Bootmanager scheint endlich mit sich selbst zufrieden zu sein (ich schätze, ein paar Neustartzyklen reichen aus).

Es bleibt die alte Linux-Installation übrig, die ich noch bereinigen muss. Ich weiß auch nicht, wie ich den Windows-Bootmanager bereinigen soll, da dieser durch die fehlenden Windows-Installationen auch ein wenig durcheinander geraten ist, aber zumindest bootet er.

verwandte Informationen