Starten Sie Linux, geben Sie die folgenden drei Befehle in eine Shell ein und veröffentlichen Sie die Ausgabe hier:
ls -l `find /boot/efi -iname "*\.efi"`
ls -l `find /boot/efi -iname "*\.bkp"`
sudo parted /dev/sda print
Beachten Sie, dass dies Back-Ticks (links von der Taste "1" bei den meisten Tastaturen) um die find
Befehle sind.
Das Ergebnis sollte eine Liste aller Bootloader auf Ihrem ESP sein, einschließlich der regulären Namen und der von Boot Repair erstellten umbenannten Versionen. und eine Liste aller Partitionen auf Ihrer Festplatte.
Welche Art von Computer verwenden Sie? (Marke und Modell.) Wurde es mit Windows 8 geliefert oder haben Sie es selbst installiert?
Leider spielen einige Hersteller mit ihren Bootloadern auf vorinstallierten Windows 8-Computern sehr nervige Spiele. IMHO, diese Installationen wegzublasen und von vorne zu beginnen, sieht immer mehr nach einer guten Lösung aus.
Bearbeiten / Antworten mit neuen Informationen:
Ihre Ausgabe enthält nichts, was seltsam oder unerwartet ist. Es sieht also so aus, als würde etwas in Windows das reparieren, was es als seinen eigenen "kaputten" Bootloader ansieht. Dies erfordert einige Ausarbeitungen, die Ihnen helfen, zu verstehen, was los ist:
Eine EFI-Implementierung (oder UEFI, bei der es sich nur um EFI 2.x handelt) soll NVRAM-Einträge überprüfen, um zu entscheiden, welcher Bootloader (eine Datei mit einer .efi
Erweiterung) beim Booten ausgeführt werden soll . Einige Implementierungen sind jedoch fehlerhaft und starten nur den EFI/BOOT/bootx64.efi
oder EFI/Microsoft/Boot/bootmgfw.efi
Bootloader. Andere booten andere Bootloader, jedoch nur, wenn sie den Namen "Windows Boot Manager" oder "Red Hat Enterprise Linux" haben.
Um diese Art von Fehler zu umgehen, implementiert das Ubuntu Boot Repair-Tool einen Fix, der mindestens so hässlich und verwirrend ist wie der Fehler, den es umgeht: Es benennt diese beiden Standard-Bootloader mit .bkp
Erweiterungen um, platziert Kopien von GRUB an ihrer Stelle und passt GRUB an Damit werden die Windows-Bootloader mit ihren neuen Namen gestartet. Dadurch wird GRUB gebootet, aber auf eine Weise, die Windows nicht versteht und möglicherweise versucht, sich selbst zu "reparieren". Ich denke, dass dies der Fall ist - wenn Windows startet, wird der Bootloader von einem anderen überschrieben und versucht, das Problem zu beheben.
Ich empfehle Ihnen Folgendes zu versuchen:
- Überprüfen Sie auf der Website Ihres Herstellers, ob ein Firmware-Update vorliegt. Wenn dies der Fall ist, aktualisieren Sie Ihre Firmware auf die neueste Version, nur für den Fall, dass eine Fehlerbehebung für diese Art von Startfehler vorliegt.
- Starten Sie Windows und starten Sie neu, um sicherzustellen, dass Sie beim Neustart direkt zu Windows wechseln. Sie möchten von diesem Punkt aus beginnen, da dies mehr Standard ist als die Art und Weise, wie Boot Repair eingerichtet wird.
- Starten Sie eine Linux-Notfalldiskette im EFI-Modus. (Die Ubuntu-Installations-CD sollte hierfür einwandfrei funktionieren.)
- Installieren Sie
efibootmgr
gegebenenfalls das Dienstprogramm. In der Ubuntu-Live-CD würden Sie dies durch Eingabe tun sudo apt-get install efibootmgr
.
- Typ
sudo efibootmgr -c -l \\EFI\\ubuntu\\shimx64.efi -L "Windows Boot Manager" -p 2
. Geben Sie diesen Befehl genau wie angegeben ein, einschließlich der doppelten Backslashes als Trennzeichen für Verzeichnispfade. Dies sollte GRUB so einrichten, dass es als Standard-Bootloader gestartet wird, und ihm die Firmware-Bezeichnung "Windows Boot Manager" geben, falls Sie diesen Fehler haben. (Sie könnten versuchen , mit einem weniger trügerisch Namen, und auf den meisten Systemen , die funktionieren, aber vielleicht nicht für Sie.) Wenn Sie nicht Secure Boot verwenden, könnten Sie ersetzen grubx64.efi
für shimx64.efi
in diesem Befehl, aber wenn man bedenkt , dass shimx64.efi
auf Ihrem System vorhanden ist , Mein Verdacht ist, dass Sie Secure Boot verwenden.
- Starten Sie neu und testen Sie es.
Wenn es an diesem Punkt funktioniert, dann großartig. Wenn es Stiefel GRUB aber GRUB können Windows starten, müssen Sie Ihre GRUB - Konfiguration anpassen , so dass es verweist EFI/Microsoft/Boot/bootmgfw.efi
statt EFI/Microsoft/Boot/bootmgfw.efi.bkp
.
Wenn Sie Ihr System nicht dazu bringen können, GRUB auf diese Weise zu starten, haben Sie möglicherweise eine sehr gehirngeschädigte Firmware in Kombination mit etwas in Windows, das automatisch einen "beschädigten" Bootloader bei jedem Start "repariert" und Ihr Bestes gibt ( wenn auch hässlich) Reparaturweg. In diesem Fall habe ich einige weitere Vorschläge:
- Wenn der Computer neu genug ist, geben Sie ihn in den Laden zurück und holen Sie sich einen neuen. Machen Sie sowohl dem Geschäft als auch dem Hersteller klar, warum Sie es zurücksenden.
- Suchen Sie nach dem, was in Windows den Bootloader überprüft und "repariert", und deaktivieren Sie ihn. Sie sollten dann in der Lage sein, Ubuntus Boot Repair zu verwenden oder etwas Ähnliches manuell zu tun, damit alles funktioniert.
- Erstellen Sie ein zweites ESP und installieren Sie GRUB (oder einen anderen Linux-Bootloader) unter Verwendung der Microsoft-Namen. Durch das Jonglieren von Partitions-ID-Nummern (z. B. mit gdisk - verwenden Sie die
t
Option im Expertenmenü) können Sie möglicherweise die Firmware dazu bringen, den gewünschten Bootloader zu verwenden, während Windows den eigenen Bootloader überprüft. Dies ist jedoch höchst spekulativ; es könnte überhaupt nicht funktionieren.
- Erstellen Sie mit meinem rEFInd-Boot-Manager ein USB-Flash-Laufwerk . Sie können es dann in den Computer einstecken und vom USB-Gerät booten, um rEFInd zu erhalten. Dieses sollte dann sowohl Windows als auch GRUB erkennen und Ihnen die Möglichkeit geben, entweder zu booten. Mit einer kleinen zusätzlichen Neukonfiguration können Sie Linux direkt starten. Wenn Sie Ihre Firmware so einstellen können, dass sie standardmäßig vom USB-Gerät startet, können Sie das USB-Laufwerk für eine dauerhafte Lösung dauerhaft angeschlossen lassen.
- Installieren Sie rEFInd oder GRUB unter Windows. Ich bin mir nicht sicher, aber wenn Sie einen Bootloader von Windows installieren (wie auf der Website von rEFInd beschrieben), wird möglicherweise alles umgangen, was in Windows mit den Bootloadern jongliert, sodass Ihr bevorzugter Bootloader standardmäßig ausgeführt werden kann.
Beachten Sie, dass Sie bei Verwendung einer Lösung, die rEFInd umfasst, diese möglicherweise mit Secure Boot einrichten müssen, wobei Sie durch einige zusätzliche Rahmen springen müssen. (Diese Situation wird sich mit der Zeit verbessern, ist aber vorerst noch etwas umständlich.) Alternativ können Sie Secure Boot in Ihrer Firmware deaktivieren.
Ich hoffe das hilft!