Grub reparieren nach wechsel von MBR auf GPT

Pyrukar

Captain
Registriert
Jan. 2013
Beiträge
3.483
Hallo zusammen,

ich habe Gestern meine Festplatten getauscht und da mein Windows jetzt auf einer 4TB SSD liegt wurde es dringend zeit sich von MBR zu verabschieden.

in Windows hat das auch problemlos funktioniert, aber Grub mag mich nicht.

leider Sind die ganzen Tutorials bzgl. Grub reparatur alt und auf MBR ausgelegt ... bestenfalls kommt der Hinweis, dass das unter UEFI anders Funktioniert ... aber leider nicht wirklich wie.

also ich habe eine ext4 SSD mit Swap Partition die ich aber seit der Umstellung auf GPT nichtmehr booten kann. (Den SSD Swich habe ich mittels Live Linux und DD Befehl erledigt ... jedoch nicht geschaut ob es danach auf MBR noch gebootet hat)

das lief unter Windows so unkompliziert, dass ich direkt den Befehl für das Umpartitionieren hinterher geschoben habe nachdem DD fertig war :(

Kann mir bitte jemand erklären, wie ich Grub wieder zum Laufen bekomme unter UEFI, ich habe ein Aktuelles Live Linux Manjaro KDE Plasma falls das relevant ist.
 
okay, ich sehe hier schon meine erstes Problem ... soweit ich das Sehe ist beim umstellen von MBR zu GPT keine EFI Partition erstellt worden. Kann ich das noch irgendwie im nachhinein erstellen oder ist da was grundsätzlich schiefgelaufen?

zum convertieren bin ich diesem Tutorial gefolgt:

und wenn ich es wieder aufrufe sagt die Festplatte auch, dass die GPT Tabelle vorhanden sei. also genau die anzeige die auch am Schluss bei dem Video kommt.

aber wenn ich Gparted anschmeiße ist da 1. die Linux partition ext4 dann meine Swap partition und dahinter noch viel unformatierter Platz (die neue Festplatte ist eben größer als die Alte)
wie gehe ich damit um? denn ich kann ja in der Anleitung von @madmax2010 nichtmal den ersten Schritt machen, wenn ich keine Efi partition habe?!


EDIT: ich habe mal
sudo fdisk -l
gemacht und folgende Angabe bekommen für die Linux Festplatte:


Code:
Festplatte /dev/sdb: 931,51 GiB, 1000204886016 Bytes, 1953525168 Sektoren
Festplattenmodell: CT1000MX500SSD1
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 4096 Bytes
E/A-Größe (minimal/optimal): 4096 Bytes / 4096 Bytes
Festplattenbezeichnungstyp: gpt
Festplattenbezeichner: 47C59CBC-6624-49CE-80FB-5458D8500379

Gerät          Anfang       Ende  Sektoren Größe Typ
/dev/sdb1        2048  958313125 958311078  457G Linux-Dateisystem
/dev/sdb2  1887983616 1953519615  65536000 31,3G Linux Swap
nur bei meiner Windowsfestplatte findet sich eine 100mb Efi-System partition. Aber ich möchte ja Grub auf der Linux Platte haben (dass wenn mal Windows die Platte ausfällt oder ich die Linuxplatte in meinen Laptop stecke ich immer noch booten kann :) )

Edit2:
wenn ich sudo pacman -Ss chroot ausführe bekomme ich nur das hier (aber anscheinend kein arch-chroot

Code:
extra/fakechroot 2.20.1-2
    Gives a fake chroot environment
extra/manjaro-chrootbuild r303.g2b167e8-1
    Build packages and buildlists in a chroot filesystem.
community/alpine-chroot-install 0.14.0-3
    Install Alpine Linux in chroot with a breeze
community/chrootuid 1.3-10
    Runs a command in a restricted environment.
community/pmbootstrap 1.50.1-1
    Sophisticated chroot/build/flash tool to develop and install postmarketOS
community/schroot 1.6.13-3
    Allows users to execute shell commands under different root filesystems. (Successor to dchroot).
 
Zuletzt bearbeitet:
https://www.redhat.com/sysadmin/bios-uefi
Die Anleitung ist zwar für Fedora, sollte dir aber einen guten Eindruck für die grundsätzliche Prozedur geben.

Pyrukar schrieb:
wenn ich sudo pacman -Ss chroot ausführe bekomme ich nur das hier (aber anscheinend kein arch-chroot
The bash script arch-chroot is part of the arch-install-scripts package
https://wiki.archlinux.org/title/Chroot#Using_arch-chroot
Edit: pacman -F arch-chroot wäre hier nützlich gewesen.
 
Zuletzt bearbeitet:
@SJAFNWEIF ok ich bin inzwischen wieder auf meinen MBR install von Manjaro gewechselt den ich derzeit mittels SATA / USB3 Kabel extern angeschlossen habe. gebootet einfach über BIOS :)

dort habe ich den Befehl pacman -F arch-chroot Ausgeführt und folgendes Ergebnis bekomen.

Code:
extra/arch-install-scripts 28-1
    usr/bin/arch-chroot
    usr/share/bash-completion/completions/arch-chroot

da das die Quellinstallation des DD befehls ist, sollte das ja für die Zielfestplatte grundsätzlich die Aussage identisch sein ... Was mache ich jetzt mit arch-chroot? so wie ich es verstehe hatte ich es ja auf meinem System (das nichtmehr das Live System von vorhin ist) installiert.

kann ich die Befehle auch von der MBR Platte schicken oder muss ich dazu wieder in eine Live Umgebung wechseln?
 
@agon kann ich meine Installierten progamme und Daten irgendwie behalten?

Wenn ich mit Timeshift sichere kommt dann das MBR mit oder nur die Dateienstellungen... anders Ausgedrückt: könnte ich mit einer Timeshift wiederherstellung mein System auf einen Neuen Install wiederherstellen, der dann unter GPT / EFI läuft?

falls nicht mit Timeshift ... gibts andere Backup Programme die das können?
 
Pyrukar schrieb:
kann ich meine Installierten progamme und Daten irgendwie behalten?
https://wiki.archlinux.org/title/Migrate_installation_to_new_hardware
Paketlisten erstellen:
Code:
pacman -Qqen > pkglist.txt
pacman -Qqem > pkglist_aur.txt
Wiederherstellen mit
Code:
sudo pacman -S --needed - < pkglist.txt

Es würde wahrscheinlich ausreichen, dein HOME-Verzeichnis & /etc/ zu sichern. Nicht alles wiederherstellen.
Kenne mich nicht wirklich mit Timeshift aus.
Eine Möglichkeit: https://wiki.archlinux.org/title/Rsync#Full_system_backup

Vor Neuinstallation, evtl. Firmware-Update durchführen.
Warte am besten noch auf Antworten anderer.
 
Zuletzt bearbeitet:
Du kannst die Swap-Partition verkleinern löschen und (verkleinert) neu erstellen und die EFI Partition als sdb3 hinten dran setzen. Sie muss nicht unbedingt sdb1 sein.
 
@Uridium ich habe noch ca 500gb unpartitioniert auf der Platte ... Das ist kein Problem ... die Frage ist nur wie erkläre ich Linux das das die EFI Partition werden soll? Ich hatte jetzt schon den Gedanken, dass ich ggf den Freien Platz auf der Platte nutze um eine zusätzliche Neue Instalation von Manjaro zu erstellen nur um nacher die EFI Partition zu bekommen. Später kann ich das ja wieder Löschen sobald meine bisherige Installation die neue EFI partition erkennt.
 
@Uridium Habe ich berichtigt.

@Pyrukar
Backup sollte man trotzdem machen.
Aus meinem "Arch Guide":

2.9.2 Create EFI System Partition (ESP)
gdisk
/dev/sdb
n
enter (default: 3)
enter (default: ...)
+1g
ef00 (EFI System)

p, dann w


2.10.3 Preparing the EFI system partition (ESP)
mkfs.fat -F32 /dev/sdb3;
mount -m /dev/sdb3 /mnt/efi;


# WENN du das "Unified kernel image" (anstelle von GRUB) einrichten möchtest
  • 4.9.2 Unified kernel image (UKI)
  • Deine Kernel Parameter in /etc/kernel/cmdline kopieren
  • 4.11 Create UEFI boot entries using efibootmgr

Oder du machst einfach alles platt :-)
 
okay ich habe jetzt ein paar sachen versucht aber irgendwie komme ich nicht ganz klar:

also Wenn ich das Richtig verstanden ist die EFI immer als FAT32 formatiert, korrekt?

Wenn ich versuche den Schritten von @agon zu folgen komme ich an folgende probleme:
1. Wenn ich versuche mit dem Befehl gdisk eine neue Partition zu erstellen, dann kommt ein fehler das die entsprechende Datei nicht existiert. ergo das ist vermutlich der Falsche weg
2. Wenn ich auf eine erstellte FAT-32 Partition verweise, dann komme ich direkt zu dem Punkt wo ich p und dann w eingeben muss, ohne eine Chance
agon schrieb:
enter (default: 3)
enter (default: ...)
+1g
ef00 (EFI System)
einzugeben?! Was mache ich hier falsch und wie erkläre ich dem System, dass es ein EFI sein soll?
Ergänzung ()

Okay jetzt wirds absurd und kurios:

ich habe gerade herausgefunden, dass ich zwar das Grub auf der via USB verbundenen SSD angesprochen habe, jedoch die Interne SSD vom aufgerufenen Grub gebootet wurde ... Ich bin also auf der Installation auf der ich das EFI Grub installieren möchte nicht wie angenommen auf dem Fallback auf meiner USB SSD. Vermutlich über MBR gebootet aber seis drum. Ich denke die Logische Variante wäre hier wirklich einfach auf den bisher unformatierten Platz ein neues Efi Manjaro drauf zu installieren einfach um die entsprechenden Partitionen zu bekommen :) oder?

(ach ja, woher ich das Weis? ich habe meine USB-SSD abgezogen und beiseite gelegt :D )
 
Zuletzt bearbeitet:
Nicht blind abtippen. Als Hilfestellung ok, aber vergewissere dich vorher, dass die Daten stimmen. Mit 'lsblk' schauen, ob /dev/sdb die richtige Platte ist. In gdisk mit (p) die Partitionen und dessen Größen überprüfen. Arbeitet man an der falschen Platte, kann man schnell im Land der Tränen landen.

Wenn die Partition erstellt wurde, muss noch Grub installiert werden.
 
@Uridium keine angst ich tippe nicht blind ab ... aber wie installiere ich Grub?

bzw. ich installiere gerade ein neues Linux auf dem Verbleibenden Platz, damit sollte sich ggf das Problem lösen weil das ja im EFI mode installiert wird
Ergänzung ()

Okay, also ich bin einen großen Schritt weiter:
ich habe auf dem leeren Festplatten bereich ein neues Manjaro installiert mitsamt Grub EFI Partition und was alles dazu gehört ... das Grub hat sofort beide Systeme erfolgreich erkannt und in meine Gewünschte (ehemals zerschossene) Installation gebootet ...
Jetzt bleibt eigentlich nur die Frage: Kann ich das Gerade Installierte Linux direkt wieder Runterwerfen (genau wie die 2te Swap Partition, oder muss ich erst noch etwas einstellen, dass das Grub nicht wieder Verschwindet sobald ich die Manjaro version die ich gerade Installiert habe wieder verschwindet?

Bonusfrage: ich habe damals Grub Customizer genutzt um mein Windows auch von Grub aus erreichen zu können und beim Starten automatisch nach 3 Sek in Manjaro zu booten. Wenn ich jetzt versuche Grub customizer aufzurufen gibts ne Fehlermeldung und das Programm öffnet sich nicht. Funktioniert das einfach mit EFI grundsätzlich nichtmehr oder mache ich einen Fehler?
 
Zuletzt bearbeitet:
okay ... ich verstehe jetzt gerade, warum weder windows mein linux erkennt noch grub mein windows ...

Grub ist immer noch im Legacy Mode :( der Standard bei meinem Motherboard ist eben Legacy+UEFI und dann tauchen natürlich beide auf, aber sobald man nur UEFI einstellt, dann taucht die Linux Platte plötzlich nichtmehr auf :(

also bin ich zwar nichtmehr ganz am Anfang (über die Bootauswahl des MB komme ich gerade auf beide) aber wie überrede ich jetzt mein Linux auch endlich mal auf UEFI umzusteigen ... ich dachte eigentlich mit einem Neuinstallation hätte ich das geschaft, aber anscheinend hat Linux sich eine Hintertür offen gehalten :( mit MBR :(
 
WIN! Problem gelöst ... ich habe endlich Grub im EFI und es erkennt auch noch Windows sodass ich nichtmehr übers MB die Partition wählen muss :)

Falls hier mal noch jemand drüberstolpert ... ich bin gestern dauernd darüber gestolpert, dass ich die Efi partition nicht in /boot/efi einhängen konnte ... Weil mir dabei ein dummer Fehler unterlaufen ist. /boot/efi existierte gar nicht. mit sudo mkdir schnell einen neuen Ordner im /boot erstellt und schon lief alles wie am Schnürchen

Jetzt bleibt mir aber immer noch das Problem, dass ich nicht weis, wie ich ohne grub-costumizer mein Grub nach meinen vorstellungen Anpassen soll. Kann mir dabei noch jemand helfen?
im Speziellen stört mich gerade 1. dass das Manjaro Linux anscheinend 2x drin steht (+1x Manjaro Linux das ich extra erstellt habe um die Efi Partition zu bekommen) und Windows steht ganz unten in der Liste.
ich hätte gerne dass Windows als 2 oder 3 Eintrag auftaucht und nicht direkt über memtest :)

gruß
Pyrukar
 
Zurück
Oben