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