
Die Frage erschien, nachdem ich dies gefragt hatteeins. Es scheint, dass der Win8.1 UEFI x64 Boot Manager nichts anderes als Windows selbst (winload.efi) booten kann. Der Versuch, ein anderes UEFI-Image (.efi) davon zu starten, führt zum Fehlercode 0xC000007B und ich bin ziemlich sicher, dass dies nicht an einer fehlenden Datei liegt, sondern daran, dass die Datei „ungültig“ ist, denn wenn ich diese Datei umbenenne, ändert sich der Fehler in 0xC000000F. Ich habe den sicheren Start deaktiviert, aber ohne Erfolg.
Im Moment versuche ich dierEFIndBootloader. Ich kann sagen, dass das UEFI-Image funktioniert, da es mit der Firmware von einem USB-Flash-Laufwerk booten kann. Die Verwendung des Windows-Boot-Managers führt jedoch zu den gleichen Ergebnissen wie oben (Fehlercode 0xC000007B). Im Moment ist meine BCD-Konfiguration (Bild):
Screenshot der Befehlszeile http://imageshack.com/a/img811/7857/kbth.png
Ebenso F:\rEfit\refind
das Verzeichnis, in dem refind gespeichert ist und „refind_x64.efi“ ist das Programmabbild.
HINWEIS: Ich frage mich auch, ob in einem UEFI-Windows nur UEFI-Images (.efi-Dateien) gebootet werden dürfen und welches Format die Nicht-UEFI-Images (wie ntldr
, bootmgr
) haben?
BEARBEITEN: Das Verschieben von rEFInd in ein Standardverzeichnis („EFI“) hat das Problem nicht gelöst.
Antwort1
Nach einem Jahr stieß ich wieder auf dasselbe Problem. Zum Glück habe ich diesmal eine Lösung gefunden. Um einen OsLoader im Windows-Boot-Manager hinzuzufügen, der nicht-Windows-UEFI-Images lädt, müssen Sie die BCD-Registrierung manuell bearbeiten. In RegEdit gibt es einen Schlüssel namens „HKEY_LOCAL_MACHINE\BCD00000000“ – der von der Windows EFI-Systempartition geladen wird und dessen Unterschlüssel direkt die BSD-Datei bearbeiten. Darunter befindet sich ein Schlüssel namens „Description“, aber wir konzentrieren uns auf den anderen namens „Objects“. Darunter müssen Sie ein neues Objekt erstellen (oder ein vorhandenes ändern). Dann müssen Sie unter dem Zielobjekt-GUID-Namen den Wert „Description“ in „0x10100003“ ändern (was Firmware-Anwendungsosloader bedeutet – Credits für diesen Fund finden Sie hierSeite). Das war's - dann geben die Elemente „Pfad“ und „Gerät“ dieses Objekts eine UEFI-Datei an, die geladen wird, wenn der OS-Loader ausgewählt wird.
GROSSE WARNUNG:
Führen Sie das oben genannte Verfahren nicht nur zum Testen aus. Wenn Sie ein Uefi auf diese Weise laden, wird es in die Uefi-Boot-Konfiguration eingebrannt, und nach dem Laden können Sie Windows möglicherweise nicht mehr starten (es sei denn, die geladene App setzt die Uefi-Boot-Konfiguration nicht zurück). Verwenden Sie dies also nur, wenn Sie sich sicher sind.
Ich habe dies getan und dann sollte ich meinen Windows-Start manuell reparieren mitUefi Boot Cfg. Welches wird bevorzugt verwendet.
BEARBEITEN: Ich habe vergessen hinzuzufügen, dass Sie zuerst die Berechtigung zum Bearbeiten von „HKEY_LOCAL_MACHINE\BCD00000000“ benötigen, was einfach ist – klicken Sie einfach auf „Eigenschaften“ und ändern Sie die Berechtigungen ;).
BEARBEITEN: Diese Entdeckung zeigt, dass die leistungsstärkste (und einfachste – zumindest für mich) Methode zum Bearbeiten von Windows BSD die Verwendung der Registrierung ist. Das Verhalten, das ich dadurch erreicht habe, ist mit BCDedit und auch mit BCD WMI nicht möglich.
Antwort2
EFI ist einvor dem BootenUmgebung. Daher ist EFI selbst kein Windows-Tool, kein Linux-Tool und auch kein anderes Tool auf Betriebssystemebene. Ich möchte das klarstellen, weil einige Ihrer Formulierungen den Eindruck erwecken, als ob Sie denken, EFI sei ein Teil von Windows. Das ist es aber nicht.
Der Pfad rEfit\refind
ist für ein EFI-Bootprogramm ungewöhnlich. Solche Programme befinden sich normalerweise in Unterverzeichnissen des EFI
Verzeichnisses auf dem ESP, wie in EFI\refind
oder EFI\Microsoft
. Obwohl ein solcher nicht standardmäßiger Speicherort wahrscheinlich nicht die Ursache Ihres Problems ist, kann ich diese Möglichkeit nicht ausschließen. Daher ist die Verwendung eines normaleren Speicherorts mein erster Vorschlag.
Ich bin mit der Ausgabe des bcdedit
von Ihnen angezeigten Windows-Befehls nicht sehr vertraut und kann daher dazu keinen Kommentar abgeben. Ich kann Ihnen jedoch empfehlen, die Installationsanweisungen für rEFInd zur Installation unter Windows durchzulesen. Es ist durchaus möglich, dass Sie bei der Eingabe eines der Befehle einen Fehler gemacht haben.
Wenn das nicht hilft, versuchen Sie, rEFInd von einem anderen Betriebssystem aus zu installieren. Vermutlich haben Sie rEFInd installiert, um neben Windows noch etwas anderes zu booten. Für die meisten Leute ist das Linux, und wenn die Windows-Tools nicht funktionieren, sollten Sie rEFInd von Linux aus installieren können.
Antwort3
Alle EFI-Bootmanager/-Loader müssen sich auf der ESP-Partition befinden. Sie können refind nicht auf Ihrem Laufwerk F: haben, das wahrscheinlich als NTFS-Laufwerk formatiert ist. EFI-Systeme suchen in einer bestimmten Partition, die als „ESP“ bezeichnet und als FAT32 formatiert ist. EFI-Systeme haben keine Treiber für andere Dateisysteme.
refind enthält Treiber für ext2/4 Reiserfs Btrfs und iso9660, aber wie Sie sehen, befindet sich Ihr Windows EFI Loader unter \EFI\Microsoft\Boot\bootmgfw.efi. Diese Partition ist unter Windows nicht sichtbar, da sie versteckt ist, aber wenn Sie mit einem Linux Live booten (zum Beispiel mit gparted), können Sie sie sehen. Dann müssen Sie refind in \EFI\refind einfügen, damit sich der rEFInd Loader unter \EFI\refind\bootx64.efi befindet.
Dann können Sie versuchen, es über den Windows Loader per Chainload zu laden, aber es wäre viel besser, Ihr System auf die .efi-Datei von refind als Standard-Loader zu richten, da dieser Ihr System scannt und Ihnen Symbole anzeigt, die die verfügbaren EFI-/Legacy-Boot-Optionen darstellen. Ich verwende refind und wenn ich meinen Laptop einschalte, habe ich ein Windows 7-Symbol, ein Windows 8-Symbol, ein Ubuntu-Symbol, ein Fedora-Symbol und ein Ubuntustudio-Symbol zur Auswahl. Wenn ich bootfähige USB-Sticks oder DVDs eingelegt habe, wird auch für diese ein Symbol angezeigt.
Es funktioniert hervorragend mit den Standardeinstellungen, lässt sich aber auch leicht anpassen. Sie können keinen EFI-Bootloader von einer anderen Partition als der FAT32-ESP-Partition laden, obwohl refind, nachdem es von der ESP-Partition geladen wurde, auf EFI-Loader und Legacy-Loader auf anderen Partitionen zugreifen kann.