GRUB reparieren (z.B. Dualboot mit Windows 10)

error: no such partition. Entering rescue mode...
grub rescue>

Falls Du diese Meldung auf Deinem Debiansystem bekommst, hast Du den Grub-Bootloader zerschossen. Jetzt wird es an der Zeit, die Installations-CD oder den USB-Stick von Debian einzusetzten. Lege die CD oder den USB-Stick ein, boote ab diesem Medium und wähle dann im Installationsmenu:

Advanced option > Rescue mode

Du solltest Dein System kennen, bevor Du dich an die Reparatur von GRUB wagst. Der Rettungsmodus wird Dir ganz oben links angezeigt!

  • Sprache, Land und Ort wählen
  • Netzwerk (Kabel, WLAN) wählen.
  • Rechnername wählen (spielt keine Rolle, was hier gewählt wird)
  • Domain-Name wählen (leer lassen)
  • root-Dateisystem wählen! (In diesem Beispiel liegt root auf /dev/sdb2)

01. Das Wählen des richtigen Root-Dateisystems ist relevant! Falls Du das falsche Root-Dateisystem wählst, führt dies unweigerlich zu einer Fehlermeldung!


02. falls der Mountpunkt /boot auf / liegt, ist das Einbinden von /boot sparat nicht nötig und diese Meldung wird nicht angezeigt. Liegt /boot jedoch auf einer separaten Partition, bindet der Rettungsmodus die Partition ein.
/boot ist jedoch nicht mit dem Mountpoint /boot/efi zu verwechseln! /boot/efi wird auf /boot erst später eingehängt.


03. Wähle mit den Pfeiltasten nun auf Eine Shell in /dev/sdXY ausführen


04. GRUB neu installieren

Alternative I
Es kann natürlich auch «Den GRUB-Bootloader neu installieren» gewählt werden. Bei Linux führen manchmal verschiedene Wege zum Ziel und es kann mehrere Lösungen geben.

Alternative II – (EFI-System)
Wir befinden uns nun in der Shell der Rettungsaktion. Installieren nun das Paket grub-efi

# apt install grub-efi

und binde die EFI-Bootpartition ein.

# mount /dev/sdb2 /boot/efi

Installiere jetzt den Bootloader in das Wurzelverzeichnis. Bevor der Bootloader neu geschrieben wird, kann mit lsblk überprüft werden, ob alle Partitionen korrekt eingehängt sind:

$ lsblk

05. Installiere den Bootloader in das Wurzelverzeichnis:
Der Bootloader wird nicht auf die einzelne Partition geschrieben. Liegt Dein root-System zum Beispiel auf /dev/sdb2, wird der Bootloader nicht auf die Partition, sondern auf die Platte geschrieben. Hier wäre dies also /dev/sdb

/dev/sdb2 ≠ /dev/sdb

# grub-install /dev/sdb

führe ein update-grub aus. Dies ist zwar nicht unbedingt nötig, gibt uns aber ein aussagekräftiges Feedback, ob alles geklappt hat.

# update-grub
GRUB-Konfigurationsdatei wird erstellt …
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Linux-Abbild gefunden: /boot/vmlinuz-4.19.0-9-amd64
initrd-Abbild gefunden: /boot/initrd.img-4.19.0-9-amd64
Windows Boot Manager auf /dev/sda1@/EFI/Microsoft/Boot/bootmgfw.efi gefunden
Adding boot menu entry for EFI firmware configuration
erledigt

Verlasse die Shell mit:

# exit

06. und wähle System neu starten aus.


07. Ausgabe lsblk für dieses Beispiel! Auf sda liegt Windows 10 und auf sdb Debian. Die EFI-Boot Partition von Debian ist nicht separat eingebunden, wie unter Punkt 2 beschrieben wird. sda1 und sdb1 sind hier zwei EFI-Boot-Partitionen.

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 931.5G  0 disk 
├─sda1   8:1    0   100M  0 part /boot/efi
├─sda2   8:2    0    16M  0 part 
├─sda3   8:3    0 296.1G  0 part 
└─sda4   8:4    0 634.8G  0 part 
sdb      8:16   0 232.9G  0 disk 
├─sdb1   8:17   0   487M  0 part 
├─sdb2   8:18   0  68.2G  0 part /
├─sdb3   8:19   0     8G  0 part [SWAP]
└─sdb4   8:20   0 156.3G  0 part /home/yuna/media

Hinterlassen Sie einen Kommentar