Meines Wissens nach war das einzige, was der MBR / GPT beim Booten betraf, die Bereitstellung des ursprünglichen Codes, von dem aus gestartet werden sollte.
Und das Anfangsmenü ist eigentlich Teil dieses Codes. Es wird nicht vom Betriebssystem bereitgestellt. Es wird vom Bootloader angezeigt (der auch als 'Bootmanager' fungiert).
Der Bootloader ist naturgemäß spezifisch für einen einzelnen Firmwaretyp. (Sogar GRUB2 hat separate Kerne für BIOS und UEFI, und seine Module müssen für beide Typen unterschiedlich kompiliert werden.)
Es ist daher durchaus möglich, dass auf derselben Installationsdiskette völlig unterschiedliche Bootloader für BIOS und UEFI-Systeme verwendet werden (z. B. syslinux für BIOS, aber Systemd-Boot auf UEFI; oder GRUB2 für BIOS, aber ERFInd auf UEFI). Wenn sie Startmenüs bereitstellen, tun sie dies auf ihre eigene Art und Weise, mit ihrem eigenen Erscheinungsbild und eigenen Themen.
(Es kann auch sein, dass das ursprüngliche ISO keine Bootloader für beide Firmwaretypen enthält - in einigen Situationen fügt Rufus seine eigene Bootloader-Konfiguration (syslinux) in den Mix ein.)
Selbst wenn es sich um dieselbe GRUB2 mit derselben Basiskonfiguration handelt, steht in beiden Fällen möglicherweise nicht derselbe grafische Modus zur Verfügung. Menüoptionen können aufgrund von Unterschieden in den Firmwares selbst fehlen: z. B. wird "Boot Vorhandenes Betriebssystem" zwischen BIOS und UEFI völlig unterschiedlich ausgeführt. und "Speichertest" (memtest86) ist ein separates Programm, das selbst in BIOS- und UEFI-Varianten enthalten sein muss ...
Da GRUB im UEFI-Modus laden konnte, warum war es dann im Wiederherstellungsmodus, anstatt Kali einfach wegen dieser Änderung zu booten?
Kann das nicht beantworten, ohne den genauen Fehler zu sehen, der von GRUB gemeldet wird. Möglicherweise hatte Ihre EFI-Partition die GRUB-Kerndateien, aber die Module oder die grub.cfg fehlten.
Denken Sie auch daran, dass BIOS GRUB und UEFI GRUB als zwei separate Softwarekomponenten fungieren. Obwohl sie den größten Teil des Quellcodes gemeinsam nutzen, werden sie in verschiedenen Formaten kompiliert, an verschiedenen Orten im System installiert und von den Firmwares unterschiedlich gestartet.
Warum konnte GRUB Windows im Legacy-Modus nicht erkennen? Ich hätte gedacht, da das BIOS seine Aufgabe beim Laden von GRUB bereits erfüllt hatte, hätte es keine Probleme, da ich weiß, dass GRUB keine Probleme hat, Windows zu erkennen, wenn es im UEFI-Modus installiert ist.
Das Windows-System ist so konfiguriert, dass es im UEFI-Modus gestartet wird. Dies bedeutet, dass nur ein UEFI-kompatibler Bootloader installiert ist.
Wenn sich das System jedoch im BIOS-Modus befindet, können UEFI-Programme nicht gestartet werden, da sie davon abhängig sind, dass der UEFI-Kernel vorhanden ist und bestimmte Dienste bereitstellt. (Genau wie MS-DOS keine Möglichkeit hat, Windows-Programme zu starten ...)
Im Legacy-Modus wird das Betriebssystem die Firmware nur so sehen, als wäre es ein herkömmliches PC-BIOS. Alle UEFI-Dienste sind unsichtbar.
(Ebenso bin ich nicht sicher, ob es für eine UEFI-Anwendung möglich ist, das System auf den 16-Bit-Modus herunterzustufen, um den BIOS-kompatiblen Startcode zu verketten.)