Windows 8 entfernt Grub als Standard-Bootmanager

37

Ich habe eine Sony VAIO S-Serie mit Windows 8 vorinstalliert und Ubuntu 12.10 auf einer neuen Partition installiert. Wenn der PC hochfährt wird Grub angezeigt, und ich kann zwischen Windows 8 (hat am Anfang nicht funktioniert, musste die Grub-Einstellungen ändern) und Ubuntu 12.10 wählen. Wenn ich Ubuntu 12.10 auswähle, ist alles in Ordnung, aber wenn ich Windows 8 verwende und Grub neu starte, wird dies nicht mehr angezeigt (Windows 8 startet sofort).

Ich habe ein Ubuntu 12.10 LiveUSB gestartet, verwendet efibootmgrund festgestellt, dass Windows 8 (bei jedem Start ) den EFI-Standard-Bootloader von Grub auf Windows Boot Manager ändert.

Wie ändere ich das in Windows 8? Ich habe etwas darüber gelesen bcdedit, aber es funktioniert nicht oder ich weiß nicht, wie ich es verwenden soll ...

Kouros
quelle
Ich denke, Sie sind auf einem guten Weg, dies selbst zu lösen. Grabe einfach weiter [;
Melone
3
Ja, ich brauche nur eine Kleinigkeit, dann schreibe ich ein Tutorial, wie es geht. Microsoft nervt, warum sie den Standard-Boot-Manager ändern müssen? Meiner Meinung nach soll verhindert werden, dass andere Benutzer als Microsoft-Produkte verwenden.
Kouros
Naaah, ich denke, das interessiert sie einfach nicht. Wie auch immer, wir hoffen, bald Ihr Tutorial zu sehen.
Melone
Ich habe gerade den Microsoft-Kundendienst danach gefragt, und sie haben mich zu ihren Foren weitergeleitet. In den Foren sagte mir ein Typ, dass sich die Fenster an erster Stelle stellen. Zeitraum. Wenn es mir nicht gefällt, erstelle einfach eine Batch-Datei in Windows, die bei jedem Start ausgeführt wird. Nett.
netom
Das GPT-Dateisystem enthält ein Duplikat der Startsektoren. Offenbar überprüft Windows nur die MBR-Prüfsumme und "repariert" sie, indem es sie mit den ursprünglichen MBR-Schutzdaten überschreibt. Eine bewährte Sicherheitsmethode. en.wikipedia.org/wiki/GUID_Partition_Table

Antworten:

33

Ich kann keine Zusagen machen, versuche dies jedoch in einem Windows-Eingabeaufforderungsfenster, das mit Administratorrechten gestartet wurde:

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

Beachten Sie, dass {bootmgr}genau eingegeben werden sollte; Das ist keine Variable. Wenn das nicht funktioniert, können Sie dies unter Linux versuchen:

  1. Sichern Sie den gesamten Inhalt von /boot/efi(Ihrer EFI-Systempartition oder Ihrem ESP).
  2. Typ sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft.
  3. Typ cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi.
  4. Erstellen Sie einen neuen /etc/grub.d/40_customDateieintrag, auf den verwiesen wird EFI/Microsoft/bootmgfw.efi. Modellieren Sie es nach dem vorhandenen Eintrag /boot/grub/grub.cfg, auf den sich bezieht EFI/Microsoft/Boot/bootmgfw.efi. einfach Bootaus dem bootpfad entfernen und dem eintrag einen neuen namen geben.
  5. Geben Sie ein sudo update-grub, um den neuen GRUB-Eintrag zu installieren.

Beim Neustart sollte GRUB angezeigt werden. Das Problem ist, dass das System, wenn Windows den Bootloader neu installiert, wieder direkt zu Windows bootet.

Für Schritt 4 können Sie:

  1. Kopieren Sie den 40_customEintrag, der mit menuentry 'Windows ...'einem Satz von ### BEGIN <path> ###und ### END <path> ###Tags / Kommentaren beginnt . Dies ist der Eintrag, der den Pfad enthält Boot.
  2. Erstellen Sie einen neuen Eintrag in der Datei, /etc/grub.d/40_customindem Sie den kopierten hinzufügen menuentry.
  3. Ändern Sie den Namen des neuen Eintrags (Original sollte sein Windows Boot Manageroder ähnliches).
  4. Ändern Sie den Pfad von EFI/Microsoft/Boot/bootmgfw.efinach EFI/Microsoft/bootmgfw.efi.

BEARBEITEN:

Seit ich diese Antwort schreibe, ist mir ein Windows-Tool eines Drittanbieters mit dem Namen EasyUEFI bekannt geworden, das ein einfacheres GUI-Tool ist als das bcdeditAnpassen der EFI- Startreihenfolge unter Windows. Ich weiß nicht, ob EasyUEFI Windows daran hindert, Änderungen vorzunehmen, wenn Windows die Gewohnheit hat, sich bei jedem Start als Standard festzulegen. Somit bcdeditnoch erforderlich sein kann, aber EasyUEFI ist auf jeden Fall einen Versuch wert, auch.

Rod Smith
quelle
5
Würden Sie mir / uns einen Gefallen tun und uns die spezifischen Terminal-Eingabeaufforderungen für Schritt 4 geben? Bis auf diesen Schritt habe ich alles andere getan, da ich nicht genau wusste, welche Befehle ich eingeben sollte. Grub funktioniert jetzt, aber ich kann Windows nicht mehr starten. Eek!
Bitte erläutern Sie Schritt 4
ji-ruh
\EFI\ubuntu\shimx64.efigefunden auf Ubuntu 18.0.4 LTS
CSGO
2

Wie ändere ich das in Windows 8? Ich habe etwas über bcdedit gelesen, aber es funktioniert nicht oder ich weiß nicht, wie ich es verwenden soll ...

Gleiches Problem hier, ich habe endlich herausgefunden, dass dieses letzte W8.1-Update das getan hat, und das weiß ich, weil ich gerade heute aktualisiert habe und es seit ungefähr 33 Tagen nicht mehr getan habe, sagte mir mein HP Pavilion.

Wie auch immer, hier ist was funktioniert:

Ich bin diesem Utube-Video gefolgt, um die automatische [Boot] -Reparatur zu beenden: http://www.youtube.com/watch?v=VRQYmtysFkg

Ändern Sie dann das Bootmgr mit der von Rod bereitgestellten obigen Lösung: bcdedit / set {bootmgr} path \ EFI \ ubuntu \ grubx64.efi

Bingo!

Übrigens: Boot Repair von meinem LiveUsb hat nada aber einen kurzen Flash ausgelöst, während W8 seinen Boot-Eintrag repariert hat.

Widerstand ist zwecklos
quelle
1
Schön, dass Sie sich entschieden haben zu helfen! Aber Ihre Antwort bietet keinen Kontext für die (Video) Link Sie auf dem Laufenden und wir hier bei Fragen Ubuntu es wollen . Wir möchten, dass die Antworten hier Kontexte liefern, da (Video-) Links früher oder später tot sein können.
VenkiPhy6,
0
  1. run - Boot-Repair ‚s Recommended Repairaus Live - CD, dann starten Sie den PC.
  2. Wenn das Problem weiterhin besteht, führen Sie Boot-Repair -> Erweiterte Optionen -> Deaktivieren Sie " Backup and rename EFI files" -> Häkchen " Restore EFI backups" -> Übernehmen aus
LovinBuntu
quelle
2
Nop Probleme kommen von Windows 8
Kouros
0

Ich habe nur einen Teil einer Antwort: Eine funktionierende Lösung, die fast in Ordnung ist, bis ich herausgefunden habe, wie sie dauerhaft behoben werden kann.

Hatte das gleiche Problem: Thinkpad Edge mit Windows 8 ausgeliefert; ubuntu als dual boot installiert und meistens Windows vergessen, bis 8.1 herauskam und ich dachte, ich würde es versuchen, bevor ich Windows endgültig lösche. Nach der Installation von 8.1 erscheint grub nicht mehr beim Start, ABER wenn ich F12 drücke, erscheint ein anderes Menü, in dem ich Ubuntu booten kann. So starte ich meinen Computer jetzt: aber jedes zweite Mal, wenn ich die Taste F12 vergesse, wird Windows gestartet (was ich fast nie möchte).

Das Drücken von F12 hilft für eine Weile (nicht sicher, ob dies in Ihrem Fall funktioniert, aber es kann einen Versuch wert sein). Ich weiß, dass es Anweisungen zum Wiederherstellen von Grub gibt, aber ich werde nichts tun, bevor ich mir völlig sicher bin.

lebatsnok
quelle
0

Irgendwie blockiert Windows 8.1 Ubuntu ist ein Duplikat dieser Frage. Ich glaube nicht, aber ich kann hier nur einen Kommentar abgeben. Ich habe die gleichen Symptome festgestellt, als Windows 8.1 Ubuntu vollständig blockiert .

In meinem Fall bestand die Lösung darin, beim Booten F2 zu drücken und die Bootreihenfolge so zu ändern, dass Ubuntu ganz oben auf der Liste stand. Aus irgendeinem Grund wurden nach dem Upgrade meines Dualboot-Laptops (Win / Ubuntu) von Win 8 auf Win 8.1 oben in der Startliste vor Ubuntu, DVD, USB usw. Fenster angezeigt, und mein Laptop wurde direkt in Windows 8.1 gebootet, ohne zu geben mir eine Wahl.

Durch Drücken von F2 während des Startvorgangs und Aufrufen der Liste wurde das Problem behoben und Ubuntu (zusammen mit Windows 8.1) wieder verfügbar gemacht, nachdem ich vom Microsoft Store auf Windows 8.1 aktualisiert hatte.

riedlblower
quelle
0

Mit Windows 10 und Ubuntu 14.04 auf einem Acer E17 hatte ich ein ähnliches Problem (Windows Boot Manager übernahm, konnte beim Booten nicht auf Grub zugreifen). Ich habe die Anweisungen von Rod Smith befolgt, aber kein Glück. (sehr nette Anleitung, übrigens)

Ich fand eine Einstellung im BIOS in der Startreihenfolge, in der zuerst der Windows-Start-Manager und dann die Festplatte aufgelistet waren. Ich habe sie getauscht, gespeichert und beendet / neu gestartet, und Grub ist sofort aufgetaucht.

Ich habe an anderer Stelle gelesen, dass einige BIOS eine Schnellstartoption haben, die Sie möglicherweise auch deaktivieren müssen, aber meine hatten das nicht.

mason81
quelle
0

Auf einigen Computern steuern die BIOS-Einstellungen die Startpriorität von * .efi-Dateien in der UEFI-Partition. Ich fand, dass mein HP Pavilion 15-f039wm-Laptop dies tat, obwohl es nicht sofort offensichtlich war, dass es diese Funktion hatte. Wenn Sie es im BIOS einstellen, ist es einfacher, direkt mit den .efi-Dateien zu arbeiten und bcdedit zu verwenden.

Für diesen Computer drücke ich F10, um zum BIOS-Setup zu gelangen, gehe dann mit dem Cursor auf und wähle "Boot Options". Es gibt Optionen für UEFI-Startprioritäten, die neu angeordnet werden können, darunter "OS Boot Manager". Diese Option hat jedoch die zusätzliche Funktion, dass, wenn ich sie hervorhebe und die Eingabetaste drücke, ein Popup zum Neuanordnen der Prioritäten für "ubuntu" und "Windows Boot Manager" im "OS Boot Manager" angezeigt wird. Ich setze "ubuntu" mit F5 / F6 obenauf, speichere den Inhalt des Popups mit F10 und drücke dann erneut F10, um zu speichern und das BIOS-Setup zu verlassen.

Jetzt ohne Eingriffe pro Boot bekomme ich das Grub-Menü, das Ubuntu standardmäßig bootet. Ich kann immer noch über das Grub-Menü nach Windows booten oder durch Eingreifen von F9 einen sicheren Start ausführen, um das UEFI-Boot-Manager-Menü aufzurufen.

Diese BIOS-Funktion erklärt, warum UEFI-Code scheinbar Änderungen an BootOrder außer Kraft setzte, die ich mit efibootmgr in Ubuntu vorgenommen habe.

sudr minz
quelle