Um Ihre letzte Frage zuerst zu beantworten: Wenn ein Betriebssystem auf einem EFI-basierten Computer installiert wird, muss es seinen Bootloader beim EFI registrieren, der einen Zeiger auf diesen Bootloader im NVRAM speichert. Linux-Distributionen verwenden das efibootmgr
Tool hierfür, andere Betriebssysteme verfügen jedoch über andere Tools mit ähnlichen Funktionen. (Microsoft hat das bcdedit
Tool beispielsweise erweitert, um den Bootloader beim EFI zu registrieren.) Mindestens ein Betriebssystem (FreeBSD) tut dies jedoch nicht. Es speichert seinen Bootloader mit dem Fallback-Dateinamen ( EFI/BOOT/bootx64.efi
), was meiner Meinung nach eine schlechte Wahl ist - aber wenn sie kein Äquivalent zu habenefibootmgr
, könnte es ihre einzige Option sein. Ich kenne keine EFIs, die aktiv nach Bootloadern mit beliebigen Namen suchen, obwohl sie mit dem Fallback-Dateinamen booten, wenn nichts anderes vorhanden ist. Einige behandeln den Microsoft-Bootmanager ( EFI/Microsoft/Boot/bootmgfw.efi
) auch als Ersatzdateinamen.
Es hört sich so an, als ob Ihr EFI und seine NVRAM-Einträge durcheinander geraten sind. Normalerweise würde ich empfehlen, die Firmware auf die Standardeinstellungen zurückzusetzen, in der Hoffnung, dass durch diese Aktion das Problem behoben wird, aber Sie haben dies bereits getan. Vielleicht sollten Sie überflüssige Einträge mit efibootmgr
oder ähnlichem entfernen und dann versuchen, den NVRAM zurückzusetzen. ( Entfernen Sie jedoch nicht alles. Ich habe gesehen, dass sich EFIs nach dem Entfernen aller Starteinträge sehr seltsam verhalten. Betriebssystemeinträge, wie für Debian und Windows, sollten sicher entfernt werden können, aber Einträge, die eindeutig hardwarespezifisch sind, wie z Dies bezieht sich auf Festplattenmodelle oder PXE-Boot-Optionen.) Wenn Sie diese Einträge entfernen, kann der Computer möglicherweise nicht mehr booten, sodass mein rEFInd-Boot-Manager verfügbar istauf einem USB-Stick oder einer CD-R kann hilfreich sein; Sie sollten in der Lage sein, von dort zu booten und dann REFInd zu aktivieren, um jedes erkannte Betriebssystem zu booten, das Sie dann verwenden können, um funktionierende Boot-Einträge neu zu erstellen.
Einige zusätzliche Ansätze umfassen:
- Entfernen Sie alle Festplatten und starten Sie den Computer. Dies kann "in die Hose treten" und dazu führen, dass das Boot-Entry-Problem behoben wird.
- Aktualisieren Sie Ihre Firmware. Sogar ein "Update" auf genau dieselbe Version könnte helfen (obwohl das Update-Dienstprogramm möglicherweise ein Update ohne Upgrade ablehnt). Ein Update behebt möglicherweise einen Fehler, der das Problem verursacht. Ebenso wichtig ist jedoch, dass einige Variablen oder der Speicherplatz zurückgesetzt werden, die selbst beim Zurücksetzen auf die Standardeinstellungen nicht betroffen sind.
Dies sind beides Maßnahmen der Verzweiflung mit einer geringen Erfolgschance, also machen Sie sich keine Hoffnungen. Trotzdem sind beide einen Versuch wert, IMHO. Bereiten Sie sich auf eine rEFInd-Notfalldiskette vor, da beide möglicherweise alle funktionierenden Starteinträge löschen, die Sie bereits haben.
Wenn Ihr System vollständig ausgelastet ist und nicht repariert werden kann, können Sie versuchen, den von Ihnen bevorzugten Boot-Manager auf der Festplatte unter zu platzieren EFI/BOOT/bootx64.efi
und ihn so zu konfigurieren, dass er Startoptionen für Ihre anderen Betriebssysteme bietet. Es gibt Computer mit stark defekten EFIs, die diesen Ansatz erfordern, auch wenn sie brandneu sind, und es würde mich nicht überraschen, EFIs zu kennen, die defekt sein können, um diese Problemumgehung zu erfordern, obwohl sie in der Vergangenheit einwandfrei funktioniert haben.