Ich habe Windows 8 und Ubuntu 12.10 beide im UEFI-Stil installiert (zuerst Win8, dann Ubuntu). GRUB2 zeigt mir sowohl Ubuntu- als auch Win8-Einträge.
Wenn ich in Ubuntu boote, ist das in Ordnung. Ich könnte jederzeit neu starten, wenn ich GRUB2 unverändert sehe.
Die Geschichte ändert sich, wenn ich Win8 starte. Wenn ich mit GRUB2 zu Win8 starte, gehe ich zum Windows-Boot-Manager (der nur den Windows 8-Eintrag enthält). Ich drücke Windows und es bootet gut. Beim Neustart gibt es weder GRUB2 noch Win Loader. Es hat keinen Bootloader.
Ich habe eine LiveCD gebootet und die Boot-Reparatur heruntergeladen und alles ist zurück. Es ist ein nie endender Zyklus.
Soll GRUB2 den Win Bootloader laden? Was kann ich tun, um das Problem zu beheben?
Mehr Informationen:
USER@MACHINE:~$ ls -l `find /boot/efi -iname "*\.efi"`
-rwxr-xr-x 1 root root 1357480 Dec 9 21:41 /boot/efi/EFI/Boot/bootx64.efi
-rwxr-xr-x 1 root root 1357480 Dec 9 21:41 /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
-rwxr-xr-x 1 root root 1350896 Jul 25 20:57 /boot/efi/EFI/Microsoft/Boot/bootmgr.efi
-rwxr-xr-x 1 root root 1357480 Dec 9 21:41 /boot/efi/EFI/Microsoft/Boot/bootx64.efi
-rwxr-xr-x 1 root root 1263856 Jul 25 20:57 /boot/efi/EFI/Microsoft/Boot/memtest.efi
-rwxr-xr-x 1 root root 897400 Dec 9 21:41 /boot/efi/EFI/ubuntu/grubx64.efi
-rwxr-xr-x 1 root root 1357480 Dec 9 21:41 /boot/efi/EFI/ubuntu/shimx64.efi
USER@MACHINE:~$ ls -l `find /boot/efi -iname "*\.bkp"`
-rwxr-xr-x 1 root root 1354480 Jul 25 20:57 /boot/efi/EFI/Boot/bootx64.efi.bkp
-rwxr-xr-x 1 root root 1354480 Jul 25 20:57 /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi.bkp
USER@MACHINE:~$ sudo parted /dev/sda print
Model: ATA ST31000524AS (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 316MB 315MB ntfs Basic data partition hidden, diag
2 316MB 420MB 105MB fat32 EFI system partition boot
3 420MB 555MB 134MB Microsoft reserved partition msftres
4 555MB 751GB 750GB ntfs Basic data partition
5 751GB 998GB 248GB ext4
6 998GB 1000GB 2000MB linux-swap(v1)
Antworten:
Starten Sie Linux, geben Sie die folgenden drei Befehle in eine Shell ein und veröffentlichen Sie die Ausgabe hier:
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 denEFI/BOOT/bootx64.efi
oderEFI/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:
efibootmgr
gegebenenfalls das Dienstprogramm. In der Ubuntu-Live-CD würden Sie dies durch Eingabe tunsudo apt-get install efibootmgr
.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 ersetzengrubx64.efi
fürshimx64.efi
in diesem Befehl, aber wenn man bedenkt , dassshimx64.efi
auf Ihrem System vorhanden ist , Mein Verdacht ist, dass Sie Secure Boot verwenden.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
stattEFI/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:
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.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!
quelle
Versuchen Sie anstelle der empfohlenen Reparatur Folgendes:
Backup and rename EFI files
-> TickRestore EFI backups
-> Apply aus.Ubuntu
Eintrag gestartet wird, und starten Sie ihn neu.quelle
Microsoft ist wie immer scheiße, sie wollen kein anderes Betriebssystem, also überschreiben sie einfach den Boot-Manager. Suchen Sie
bcdedit
in Windows 8. Ich habe bis jetzt nicht herausgefunden, wie ich es ändern kann.Verhindern Sie, dass Windows 8 das Standard-Bootmgr überschreibt
quelle
Windows 8 mit aktivierter Funktion für den schnellen Neustart stellt beim Herunterfahren einige Daten, einschließlich EFI-Bootloader, wieder her. Nachdem Sie die Dual-Boot-Umgebung eingerichtet und Windows 8 einmal gestartet haben, gehen Ihre Dual-Boot-Einstellungen beim nächsten Start verloren. Aus diesem Grund müssen Sie die Schnellstartfunktion deaktivieren.
Starten Sie cmd.exe als Administrator und geben Sie Folgendes ein:
powercfg /h off
Überprüfen Sie die Einstellungen:
powercfg /a
quelle