
Ich habe 2 ESP, was das Problem sein könnte, aber ich denke, es lässt sich beheben, da ich mit GRUB SET manuell booten kann. Das ist jedenfalls mein Setup. Bitte ignorieren Sie einen möglichen Tippfehler, da ich es auf einer anderen Maschine neu eingebe:
fdisk -l
/dev/sda1 Windows recovery
/dev/sda2 EFI system
/dev/sda3 Microsoft reserved
/dev/sda4 Microsoft basic data
/dev/sda5 Windows recovery
/dev/sda6 EFI System (linux)
/dev/sda7 Linux fs
innerhalb von Linux:
# grub-probe --target=fs_uuid /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
4C77-A2D0
# grub-probe --target=hints_string /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
--hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2
also verwende ich im GRUB-Eintrag:
insmod part-gpt
insmod fat
insmod search_fs_uuid
insmod chain
search --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 4C77-A2D0
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
Dies führt beim Versuch, Windows zu starten, zu folgendem Fehler:
error: unspecified search type
error: file '/EFI/Microsoft/Boot/bootmgfw.efi' not found.
Also gehe ich in die GRUB-Befehlszeile:
grub> set
...
cmdpath=(hd1,gpt6)/EFI/grub
...
grub> search.fs_uuid 4C77-A2D0
hd1,gpt2
Ich bin in hd1 statt hd0 und Grub konnte es anhand der UUID finden. Ich habe versucht, meine Menüeintrag-Hinweiszeichenfolgen so zu ändern, dass sie hd1,gpt2
stattdessen suchen, aber es tritt immer noch derselbe Fehler auf. Ich habe es auch versucht drivemap -s hd1
. Es kann die Partition immer noch nicht finden.
Meine Frage ist, warum GRUB unterschiedliche Festplattennummern anzeigt. Und wie kann ich die Partition finden?
Antwort1
Das habe ich # grub-mkconfig -o /boot/grub/grub.cfg
nach dem Bearbeiten vergessen /etc/grub.d/40_custom
…