Wie wird GRUB auf einem UEFI-Laptop zum Standard-Bootloader anstelle des Windows-Boot-Managers?

109

Ich habe ein HP Pavilion Touchsmart-Notebook, das mit Windows 8 geliefert wurde. Ich habe auf 8.1 aktualisiert und möchte jetzt eine Ubuntu-Distribution mit Windows 10 dual booten. Beim Dual-Booten mit Windows 8.1 wird der Windows-Boot-Manager immer verwendet Priorität hatte, auch nach der Installation von GRUB. Was muss ich tun, damit GRUB der Standard-Bootloader anstelle von Windows Boot Manager ist?

Michael Hoffmann
quelle

Antworten:

195

Dies ist der längste Beitrag, den ich jemals auf einer StackExchange-Site gemacht habe, aber dieser Prozess erfordert viel Erklärung und Liebe zum Detail. Es ist auch etwas spezifisch für die betreffende Hardware, was näher erläutert werden muss.

Nach viel Kopfzerbrechen, zwei versehentlichen Festplatten-Neuformatierungen und viel Frust über die fehlerhafte Firmware-Implementierung von HP liefen Xubuntu und Windows 10 endlich Seite an Seite. Ich habe das mit Windows 10 gemacht, aber es sollte auch mit Windows 8.1 funktionieren. Beide neueren Betriebssysteme verwenden das neue (ish) UEFI-Firmware-System anstelle des traditionellen BIOS-Systems, bei dem die meisten Verwechslungen mit dem Dual-Boot-Verfahren auftreten. Ich lese viele Dinge von vielen Stellen mit Anweisungen für das Dual-Booten mit einem BIOS-System, die über UEFI sprechen, als wäre es nur eine andere Art von BIOS oder eine optionale Schicht zwischen BIOS und einem Betriebssystem. UEFI und BIOS sind nicht dasselbe. Eine UEFI ist kein BIOS und ein BIOS ist kein UEFI. Sie sind völlig anders.

Zum einen nicht EasyBCD verwenden . Ich habe eine Menge veralteter gesehenDual-Boot-Lernprogramme, die EasyBCD empfehlen, aber für die Verwendung mit herkömmlicher BIOS-Firmware von Windows 7 und Windows Vista entwickelt wurden und nicht für neuere UEFI-Firmware (Windows 8, 8.1 oder 10) geeignet sind. Machen Sie sich keine Sorgen, wenn Sie bereits mit EasyBCD herumgespielt haben. Das Schlimmste ist wahrscheinlich, dass Sie Ihre EFI-Starteinträge durch das Schreiben von Dingen in den MBR durcheinander gebracht haben. Wir werden das in Schritt 4 bereinigen. Apropos MBR, vermeiden Sie das wie die Pest. Der Master Boot Record wird in der herkömmlichen BIOS-Firmware als Liste von Bootloadern verwendet, die in der Bootpartition (oder, falls von Windows geschrieben, in der Partition, die sich zuerst befindet) Ihrer Festplatte gespeichert sind. Es soll die Betriebssysteme auf der Festplatte auflisten und der Firmware mitteilen, welches zuerst gebootet wird. Dies funktioniert nicht gut mit der UEFI-Firmware von HP. Es scheint, dass, wenn es '

Was du brauchen wirst:

  • Eine Live-USB- oder Installations-CD mit Ihrer bevorzugten Ubuntu-Distribution.
  • Installationsmedium für Ihr Windows-Betriebssystem. Wenn Sie ein Upgrade von Windows 8.1 durchführen, müssen Sie nicht mehr als 3 GB .iso für Windows 10 herunterladen. Es gibt ein Webinstallationsprogramm, das es bei der Installation herunterlädt. Für diese Methode muss jedoch die .iso-Datei extrahiert werden auf eine CD oder ein USB-Laufwerk. Es ist auch eine gute Idee, es für die Zukunft griffbereit zu haben. Sie können es also genauso gut jetzt erstellen. Da es sich bei dieser Frage um das Dual-Booten mit einem UEFI-System handelt, benötigen Sie das 64-Bit-Betriebssystem.
    • Stellen Sie sicher, dass Sie Ihren Product Key haben, da Sie sonst kein Upgrade / keine Installation durchführen können.
  • Optional, aber sehr empfehlenswert : Ein Laufwerk, das groß genug ist, um Ihre aktuellen Windows-Dateien zu sichern.
  • Genügend Speicherplatz auf Ihrer Festplatte für beide Betriebssysteme, eine Boot-Partition (nur 200 MB) und eine Linux-Swap-Partition (normalerweise die gleiche Größe wie Ihr physischer RAM).

Schritt 1: Erstellen Sie eine Sicherungskopie

Sichern Sie alle Windows-Dateien und -Ordner, die Sie nicht verlieren möchten. Solange Sie über genügend freien Festplattenspeicher für Ihre neue Ubuntu-Partition verfügen, sollte dieser Vorgang keine Auswirkungen auf Windows-Dateien haben. Sollte aber ein riskantes Wort sein.

Windows 8.1 verfügt über ein Tool zum Erstellen einer Wiederherstellungsdiskette, das jedoch für die Wiederherstellung der von mir erstellten Sicherungskopie unbrauchbar und nicht funktionsfähig war. Der einfachste Weg, um die Dateien zu erhalten, die Sie nicht verlieren möchten, besteht darin, einfach den Windows Explorer zu öffnen und sie auf eine Sicherungsdiskette zu kopieren. Es dauert ewig, aber es lohnt sich.

Schritt 2: Deaktivieren Sie den Schnellstart und fahren Sie Ihren Computer herunter

Sie müssen dazu als Administrator angemeldet sein.

Es ist sehr wichtig, Fast Startup zu deaktivieren, bevor Sie GRUB installieren. Ob das Ubuntu-Installationsprogramm die Anwesenheit von Windows erkennt, hängt davon ab, wie sich Windows in der Startpartition darstellt. Wenn der Schnellstart ordnungsgemäß deaktiviert ist, sollte er erkannt werden. Die Erkennung wird in Schritt 4 behandelt.

Windows 8, 8.1 und 10 verwenden dieses ausgefallene neue Element namens Fast Startup, das Ihre Firmware anweist, einen speziellen Bootloader zu laden, der das System sehr schnell in den Zustand vor dem Herunterfahren zurückversetzt. Ziemlich cool, oder? Nun, da dies die Option für den nächsten Start des EFI-Systems ändert, muss diese Funktion deaktiviert werden, während Sie GRUB installieren. Dies kann folgendermaßen geschehen:

  1. Öffnen Sie die Systemsteuerung (Windows + X-> Systemsteuerung auf dem Desktop in Windows 8+) (anscheinend hasst Microsoft Hauptbenutzer, sodass das Durchsuchen des Startmenüs nach "Systemsteuerung" nun die schnellste Möglichkeit zum Öffnen ist.)
  2. Navigieren Sie zu Energieoptionen
  3. Klicken Sie auf "Auswählen, was der Netzschalter bewirkt".
  4. Klicken Sie auf "Einstellungen ändern, die derzeit nicht verfügbar sind".
  5. Stellen Sie sicher, dass das Kontrollkästchen "Schnellstart einschalten (empfohlen)" unten nicht aktiviert ist.

Nähere Anweisungen finden Sie hier . Sie können Fast Startup nach der Installation von GRUB wieder aktivieren und es scheint keine Probleme mit dem Ubuntu / GRUB-Booten zu geben. Stellen Sie einfach sicher, dass es während der Installation deaktiviert ist.

Nachdem Sie den Schnellstart deaktiviert haben, fahren Sie Ihren Computer herunter. Da der Schnellstart deaktiviert ist, wird Windows vollständig heruntergefahren und die Option für den nächsten Start im EFI-Manager der Firmware nicht geändert. (Bedingungen von Layman: Windows weist Ihr HP-System nicht an, die Schnellstartdatei beim nächsten Einschalten zu starten. Daher wird die Liste des EFI-Start-Managers wie vorgesehen verwendet. GRUB platziert sich an erster Stelle in dieser Liste.)

Schritt 3: Richten Sie die Partitionen mit gparted ein

Bevor Sie Ubuntu installieren, sollten Sie Ihre Live-CD / USB verwenden, um eine separate Partition dafür zu erstellen. Auf diese Weise * wird Windows nicht überschrieben.

* Stellen Sie sicher, dass Sie ein Backup haben. Keine Garantie - dies hängt davon ab, was Windows in Ihrer Boot-Partition getan hat, und es kann auch davon abhängen, welche Ubuntu-Version / -Distribution Sie verwenden. Ich habe sie nicht alle verwendet.

Um die Partitionen zu erstellen, müssen Sie von Ihrer Live-CD / USB booten und gparted öffnen. Es gibt viele Tutorials zur Verwendung von gparted und es ist ziemlich einfach herauszufinden, also überlasse ich die Details Ihnen und dem Internet.

  • Sie benötigen 4 Partitionen:

    1. Eine Startpartition. Wenn Sie Windows bereits installiert haben, sollten Sie nichts tun müssen - es sollte bereits eine der ersten Partitionen in Ihrem Laufwerk sein. Manchmal erstellt Windows am Anfang der Festplatte eine weitere kleine Partition mit dem Namen Recovery . Lass das einfach in Ruhe.

      • Wenn Sie eine Neuinstallation durchführen und alles von Grund auf neu starten möchten ( dies löscht alle Ihre Daten ), löschen Sie zunächst alle Partitionen auf Ihrem Laufwerk und erstellen Sie dann diese Partition. Es sollte die erste Partition sein ; sein Format sollte FAT32 sein ; und es sollte mindestens 200 MB groß sein. Wenn gparted die Möglichkeit hat, es zu beschriften, rufen Sie es einfach an boot. Wenn es keine Beschriftungsoption gibt, machen Sie sich darüber keine Sorgen. Du musstSetzen Sie jedoch die Flags "boot" und "esp" auf dieser Partition. Ohne sie ignoriert das Ubuntu-Installationsprogramm es einfach und verwendet eine Installation im Legacy-Modus, und Windows (10) lehnt die Installation mit der Fehlermeldung "Wir konnten keine neue Partition erstellen oder eine vorhandene lokalisieren" ab. Oder nicht. Es scheint davon abzuhängen, wie sich Windows an diesem Tag anfühlt ...
    2. Eine Windows-Partition. Wenn Sie Windows bereits installiert haben, sollte sich diese Partition nach den Boot- und Wiederherstellungspartitionen natürlich hier befinden. Hier möchten Sie es haben, aber Sie müssen die Größe ändern, um Platz für Ihre Ubuntu-Partition und die Linux-Swap-Partition zu schaffen. Verwenden Sie dazu die Größenänderungs- / Verschiebungsoption von gparted. Ubuntu benötigt mindestens 5 GB und die Linux-Swap-Partition sollte mindestens halb so groß sein wie der physische Arbeitsspeicher. Ändern Sie also die Größe der Windows-Partition, um genügend Platz dafür zu schaffen. gparted warnt Sie vor möglichen Datenverlusten. Durch das Verkleinern Ihrer Partition sollten keine Daten zerstört oder beschädigt werden, solange Sie sie nicht in den verwendeten Speicherbereich verkleinern.

      • Wenn Sie beide Betriebssysteme von Grund auf neu installieren ( dies löscht wiederum alle Ihre Daten ), sagt Microsoft, dass Sie mindestens 20 GB für das 64-Bit-Betriebssystem benötigen. Daher muss diese Partition mindestens 20 GB groß sein . Sie werden jedoch wahrscheinlich mehr wollen: Ich habe nur die Hälfte des Speicherplatzes nach der Startpartition für Windows und die Hälfte für Ubuntu und Linux-Swap verwendet. Wenn Sie von vorne anfangen, muss diese Partition als FAT32 formatiert sein. Wenn Sie Windows installieren, wird es in NTFS formatiert. Tun Sie dies nicht mit gparted; Die Windows-Implementierung von NTFS unterscheidet sich von der Implementierung von gparted, und Windows kann die Partition möglicherweise nicht erkennen. Im Windows 10-Installationsprogramm sollten Sie die Option haben, auszuwählen, auf welcher Partition Windows 10 platziert werden soll. Wenn es als FAT32 formatiert ist, sollte Windows es sehen und sich dort selbst installieren können. Wenn Sie diese Partition kennzeichnen können, kennzeichnen Sie sie Windows. Dies erleichtert Ihnen die Installation unter Windows. Apropos Windows-Installer - fang noch nicht damit an. Wenn Sie gleichzeitig Ubuntu und Windows neu installieren, anstatt von 8 oder 8.1 auf 10 zu aktualisieren, ist es viel einfacher, Ubuntu zuerst zu installieren .
    3. Eine Linux-Partition. Wie die Windows-Partition kann auch diese unterschiedlich groß sein, die Ubuntu-Website empfiehlt jedoch mindestens 5 GB . Auch hier werden Sie wahrscheinlich viel mehr wollen. Wenn Sie ein Upgrade durchführen, anstatt beide Betriebssysteme neu zu installieren, sollten Sie in der Lage sein, diese Partition in dem neuen "nicht zugewiesenen" Speicherbereich zu erstellen, der in gparted angezeigt wird. Machen Sie es so groß wie Sie möchten, aber denken Sie daran , Platz für eine Linux-Swap-Partition zu lassen, wenn Sie vorhaben, eine zu verwenden. Es sollte als ext4 formatiert sein. ext2 oder ext3 sollten auch funktionieren, wenn Sie diese aus irgendeinem Grund bevorzugen.
      • Wenn Sie von Grund auf neu installieren, erstellen Sie Ihre Ubuntu-Partition wie oben beschrieben. Stellen Sie sicher, dass es als ext4, ext3 oder ext2 formatiert ist . Auf diese Weise kann Ubuntu es verwenden, das Windows 10-Installationsprogramm erkennt es jedoch nicht. In diesem Fall wird standardmäßig die in Schritt 3 erstellte FAT32-Partition verwendet, die es lesen kann.
    4. Optional, aber empfohlen: eine Linux-Swap-Partition . Mindestens die Hälfte des physischen Arbeitsspeichers ist ein guter Anfang, aber ich empfehle, die Details zu lesen . Ich habe 8 GB RAM und eine 1-TB-Festplatte, also habe ich diese Partition auf die gleiche Größe wie meinen physischen RAM gebracht.

Schritt 4: Installieren Sie zuerst Ubuntu

Unabhängig davon, ob Sie von einem vorhandenen Windows-Betriebssystem auf Windows 10 aktualisieren oder sowohl Windows 10 als auch eine Ubuntu-Distribution auf einer neuen oder neu partitionierten Festplatte installieren, ist es viel einfacher, Ubuntu zuerst zu installieren. Ubuntu verwendet GRUB 2 als Bootloader, der die Aufgaben eines EFI-Bootloaders übernimmt. Windows 10 verwendet den Windows-Start-Manager, der die Dinge genau so ausführt, wie Windows sie ausführt. Wenn Sie Windows zuerst installieren, können Sie wahrscheinlich nicht mit Ubuntu starten, ohne während des Startvorgangs einen speziellen Schlüssel gedrückt zu halten Beenden des Ladens des Windows-Boot-Managers, da der Windows-Boot-Manager GRUB nicht beachtet, wenn er seiner Liste der Bootloader hinzugefügt wird. Installieren Sie stattdessen zuerst Ubuntu und GRUB und fügen Sie dann einen Eintrag für den Windows-Boot-Manager zu GRUB hinzu.

Schritt 4.1: Alte EFI-Einträge löschen (optional)

Bitte sei hier vorsichtig. Das Löschen des falschen Objekts kann große Probleme verursachen.

Vor der Installation von Ubuntu möchten wir sicherstellen, dass die Geister vergangener Betriebssysteminstallationen uns in Zukunft nicht mehr verfolgen. In einem UEFI-System verwenden Betriebssysteme EFI-Dateien (Extensible Firmware Interface), um der Firmware mitzuteilen: "Hey, ich existiere. Hier finden Sie mich." Wenn ein neues Betriebssystem installiert wird, fügt es der Liste des EFI-Boot-Managers einen Eintrag hinzu, der eine eindeutige Eintragsnummer enthält, und teilt dem EFI-Boot-Manager mit, wo sich die EFI-Datei (en) befinden (Windows registriert mehrere verschiedene EFI-Dateien). eine für den regulären Start, eine für den Wiederherstellungsstart, eine für den Schnellstart (möglicherweise abhängig von Ihrer Firmware und Ihrer Betriebssystemversion). Der EFI Boot Manager verfolgt auch die Startreihenfolge: eine Liste von Eintragsnummern, die angeben, was zuerst gestartet wird. Wenn Sie EasyBCD verwendet haben; bcdedit; Windows ' Boot-Reparatur- oder Wiederherstellungs-Tools; Boot-Reparatur in einem Linux-Betriebssystem; Selbst wenn Sie Windows aktualisiert oder neu installiert haben, besteht eine gute Chance, dass Ihre EFI-Eintragsliste jetzt einige Duplikate enthält. Zumindest war das bei mir so. Wenn Sie hier Duplikate haben, kann dies Ihren Startvorgang beeinträchtigen, da die Firmware veraltete oder falsche Dateieinträge durchsucht, bis ein funktionierender Bootloader gefunden wird. Es kann auch zu einer Boot-Schleife kommen, bei der Bootloader A die Firmware auf Bootloader B verweist und diese dann wieder auf A verweist. Dann dauert es sehr, sehr lange ... Während die Firmware die veralteten oder falschen Dateieinträge durchsucht, findet sie einen funktionierenden Bootloader. Es kann auch zu einer Boot-Schleife kommen, bei der Bootloader A die Firmware auf Bootloader B verweist und diese dann wieder auf A verweist. Dann dauert es sehr, sehr lange ... Während die Firmware die veralteten oder falschen Dateieinträge durchsucht, findet sie einen funktionierenden Bootloader. Es kann auch zu einer Boot-Schleife kommen, bei der Bootloader A die Firmware auf Bootloader B verweist und diese dann wieder auf A verweist. Dann dauert es sehr, sehr lange ...

Verwenden Sie das efibootmgrPaket auf jeden Fall mit Ihrer Live-CD / USB , um Ihre EFI-Eintragsliste anzuzeigen und zu sehen, was gereinigt werden muss . Sie müssen es mit sudo apt-get install efibootmgrin einem Terminal installieren und dann mit ausführen sudo efibootmgr. Standardmäßig wird eine Liste mit Einträgen angezeigt, die ungefähr so ​​aussieht:

Abbildung der EFI Boot Manager-Eintragsliste aus der Ausgabe von efibootmgr

Als ich dieses Tool zum ersten Mal benutzte, nachdem ich mit EasyBCD und bcdedit herumgespielt und versucht hatte, die Dinge in der richtigen Reihenfolge zum Booten zu bringen, hatte ich hier über hundert Einträge, die meisten davon waren Duplikate.

Fahren Sie mit Schritt 4.2 fort, wenn Ihre Boot-Manager-Liste nicht überfüllt ist oder wenn Sie nicht sicher sind, was gelöscht werden kann und was nicht.

Um nicht benötigte Einträge zu löschen, verwenden Sie efibootmgr -b <hex_number> -B, wobei hex_numberdurch die Nummer ersetzt wird, die mit dem Starteintrag angegeben ist. Also, um den USB Drive (UEFI)Eintrag (nummeriert Boot 2001 ) im Bild oben zu entfernen , würde ich verwenden sudo efibootmgr -b 2001 -B. Sie werden feststellen, dass ich einige Duplikate hinterlassen habe (alle über 3000 nummerierten Einträge). Sie können efibootmgrmit verschiedenen Optionen andere Attribute der Einträge anzeigen, z. B. die Dateipfade, auf die sie verweisen. Diese Einträge sehen aus wie Duplikate, verweisen jedoch auf unterschiedliche Dateien, die von meinem HP-Laptop zum Aktualisieren des BIOS verwendet werden. Bitte seien Sie vorsichtig, was Sie entfernen. Es kann sehr schwierig oder unmöglich sein, hier etwas zu ersetzen. Sie können auch efibootmgr verwenden, um die angezeigte BootOrder zu ändern. Siehe die Manpage Weitere Informationen zu diesem nützlichen Tool.

Schritt 4.2: Ubuntu installieren

Nachdem Sie die EFI Boot Manager-Einträge bereinigt haben, ist es an der Zeit, Ubuntu zu installieren. Wählen Sie bei geladener Live-CD / USB die Installationsoption aus dem Bootloader-Menü oder starten Sie sie nach der Anmeldung vom Desktop aus. Wählen Sie Ihre Optionen auf der ersten Seite des Installationsprogramms. Der zweite Teil sieht ungefähr so ​​aus: (Ich verwende Xubuntu 14.04, daher kann Ihr Installationsprogramm variieren, aber die Optionen sollten ziemlich ähnlich sein.)

Screenshot der Installationsoptionen für Xubuntu 14.04

Wenn Ihr Installationsprogramm Ihre Windows-Installation (wie meine) nicht erkennt, müssen Sie die Option "Etwas anderes" auswählen. Von dort aus erhalten Sie einen Bildschirm, der dem gparted-Menü ähnelt, das Sie zum Einrichten Ihrer Partitionen verwendet haben. Wählen Sie einfach die Partitionen aus, die Sie erstellt haben, und weisen Sie sie dem richtigen Einhängepunkt zu, indem Sie eine Partition auswählen und auf "Ändern" klicken.

  • Wenn Sie beide Betriebssysteme von Grund auf neu installieren, gehen Sie genauso vor. Verwenden Sie nicht die automatische Installationsoption. Sie müssen sicherstellen, dass Ubuntu in der Partition ext2 / ext3 / ext4 installiert wird, nicht in der FAT32-Windows-Partition.

Schritt 5: Aktualisieren oder installieren Sie Windows als zweites

Sie sollten über eine Installationsdiskette für Windows 10 verfügen. Vergewissern Sie sich vor Beginn der Installation, dass sich Ihr Product Key in der Nähe befindet. Andernfalls kann keine Installation / Aktualisierung durchgeführt werden. Wenn Sie von der Installations-CD / USB booten, ist das Installationsprogramm recht einfach. Ein bisschen zu einfach für meinen Komfort - die einzige Schaltfläche war "Windows 10 installieren" oder so, und Windows 8, 8.1 und 10 sind berüchtigt für ihre Installationen hinter den Kulissen, bei denen einfach "Wir sind" steht Vorbereitungen treffen "und enthält keine Details darüber, was es tatsächlich mit Ihrem System tut. Wenn Sie diese Anweisungen bisher befolgt haben, sollte es in Ordnung sein, regelmäßig mit der Installation zu beginnen.

  • Wenn Sie ein Upgrade von Windows 8 oder Windows 8.1 durchführen, sollten Sie während des Installationsvorgangs keine besonderen Schritte ausführen müssen. Fahren Sie mit der (sehr langen) Installation fort und fahren Sie mit Schritt 6 fort.

  • Wenn Sie eine Neuinstallation durchführen, werden Sie vom Installationsprogramm gefragt, wo Sie Windows 10 installieren möchten. Vergewissern Sie sich, dass Sie die in Schritt 2 erstellte FAT32-Partition und keine andere Partition ausgewählt haben. Andernfalls wird diese Partition gelöscht und formatiert. Da Ubuntu bereits installiert ist, sollte Windows 10 die Boot-Partition berücksichtigen und nicht neu formatieren. Wenn Sie die Mülleimereinträge aus der Liste des EFI Boot Managers entfernen, wird auch Speicherplatz in der kleinen 200-MB-Boot-Partition freigegeben, wodurch die Gefahr verringert wird, dass Windows verwirrt und verärgert wird und das Ganze für sich klärt.

Schritt 6: GRUB aktualisieren und (optional) anpassen

Nach der Installation oder dem Upgrade auf Windows 10 müssen Sie einen Neustart auf Ubuntu durchführen, um GRUB zu aktualisieren, sodass Windows Boot Manager in der Liste enthalten ist. Deaktivieren Sie zuvor den Schnellstart erneut. Dies geschieht sehr ähnlich wie in Schritt 2. Das Bedienfeld und die Benutzeroberfläche für die Einstellungen unterscheiden sich ein wenig, aber die meisten Optionen sind noch vorhanden.

Nachdem Sie den Schnellstart wieder deaktiviert haben, starten Sie Ihren Computer neu.

Wenn Windows standardmäßig startet, müssen Sie die Sondertaste für Ihren Laptop gedrückt halten, um zum Firmware-Menü des Systems zu gelangen. Auf meinem HP Touchsmart ist dieser Schlüssel Esc. Andere gebräuchliche Tasten sind F12, Löschen, F10 ... Das Handbuch Ihres Computers sollte Ihnen hier weiterhelfen können. Starten Sie über das Firmware-Menü GRUB. Es sollte eine Option zum "Auswählen eines Startgeräts" oder Ähnlichem geben, und Ubuntu oder GRUB sollten dort aufgelistet sein. Ist dies nicht der Fall, suchen Sie nach einer Option zum Booten von einer EFI-Datei und navigieren Sie zu /EFI/ubuntu/grubx64.efi oder (falls Sie Secure Boot aktiviert haben) stattdessen zu EFI / ubuntu / shimx64.efi. Die tatsächlichen Pfade dieser Dateien können abhängig von Ihren Optionen und der Einrichtung Ihrer Startpartition variieren, die Dateinamen sollten jedoch identisch sein. Wenn Sie eine dieser .efi-Dateien auswählen, sollte GRUB gestartet werden. wo Sie dann zu Ihrer Ubuntu-Distribution booten können. Sobald Sie angemeldet sind, öffnen Sie ein Terminal und geben Sie einsudo update-grub. Dadurch wird das os-prober-Skript ausgeführt, das GRUB zum Kompilieren von grub.cfg verwendet. Dadurch wird der EFI-Datei von grub mitgeteilt, welche Einträge enthalten sein sollen, welche Farben verwendet werden sollen usw. Das os-prober-Skript sollte den Windows-Start-Manager identifizieren und automatisch hinzufügen Die Liste.

Optional können Sie Grub Customizer installieren, um die Reihenfolge der Menüeinträge und das Verhalten sowie die Farbe und den Hintergrund des GRUB-Menüs zu ändern. Sie können dies von einem Terminal mit installieren sudo apt-get install grub-customizerund dann ausführen sudo grub-customizer.

Wenn Sie GRUB auf einem UEFI-System verwenden, das mit einem Windows-Betriebssystem gemeinsam genutzt wird, installieren Sie das Programm NICHT im MBR. In einigen Tutorials wird es als entscheidender Schritt aufgeführt, die Option "In MBR installieren" von Grub Customizer im Menü "Datei" zu verwenden. Sie sollten dies auf den meisten UEFI-Systemen nicht tun. Der MBR (Master Boot Record) wurde für BIOS-Firmwares entwickelt und wird bis zu einem gewissen Grad vom Windows-Bootloader verwendet. Das Hinzufügen von GRUB zum MBR, wenn es bereits in der EFI-Eintragsliste enthalten ist, kann viele Haarballen verursachen. Wenn Sie sicherstellen müssen, dass GRUB der erste Eintrag in der Liste der Startreihenfolgen ist (dh wenn Windows immer startet, obwohl Sie alles richtig gemacht haben), verwenden Sie efibootmgr (siehe Schritt 4.1) , um die Startreihenfolge des EFI-Managers anzuzeigen / zu bearbeiten .

Anmerkungen

Ich habe Secure Boot nicht erwähntüberhaupt nicht, da dies normalerweise die Installation von Ubuntu nicht beeinträchtigen sollte. Viele Dual-Boot-Tutorials befassen sich mit dem Deaktivieren, dies ist jedoch bei einem aktuellen 64-Bit-Installationsprogramm normalerweise nicht erforderlich. Jeder PC ist jedoch anders, und Secure Boot ist ziemlich neu (2012). Daher können verschiedene Firmwares die Dinge unterschiedlich implementieren. Zum Beispiel enthält die Version meiner HP-Firmware eine "Legacy-Boot" -Option, die Secure Boot deaktiviert und installierte Betriebssysteme so behandelt, als wäre es BIOS-Firmware: Einige Leute empfehlen, dies für die Installation für Dual-Boot zu aktivieren. Die Installation von Ubuntu im Legacy-Startmodus auf meinem System verhinderte, dass GRUB sich selbst zur EFI-Eintragsliste hinzufügte. Daher konnte es sich nur dem MBR hinzufügen, über den der Windows-Start-Manager die volle Kontrolle hatte. Der Windows-Start-Manager hat viele Anpassungen vorgenommen, um sogar die Liste der Einträge anzuzeigen.

Sehen Sie hier für weitere Informationen über Ubuntu und Secure Boot und Legacy Boot und Informationen über den Unterschied zwischen UEFI und BIOS - Installationen im Allgemeinen.

Michael Hoffmann
quelle
11
IMHO zu lang, um eine gute Antwort auf dieser Site zu sein. Vergessen Sie nicht die Zielgruppe, an die Sie schreiben: der durchschnittliche Benutzer, der den Unterschied zwischen einer GPU und einer CPU nicht kennt. (Wissen Sie, wie Sie Änderungen
rückgängig machen können
4
Bitte fahre fort! Ockhams Rasiermesser, was? Ich bemühe mich, dies zu vereinfachen, ohne das Gefühl zu haben, wichtige Details ausgelassen zu haben. Daher ist jede Hilfe willkommen.
Michael Hoffmann
24
+1 für die beste Erklärung, die ich über UEFI gelesen habe. Ich dachte, es wäre eine Art "neues BIOS"
SuperSluether
5
Eine der besten Antworten, die ich je gesehen habe. Werde es bald mit dem kommenden Ubuntu versuchen.
Mosh
11
Dies ist eine unglaubliche Anleitung. Ich verstehe den zuvor erwähnten Wunsch, dies zu vereinfachen, aber ich glaube nicht, dass es eine einfache Antwort für dieses Problem gibt. Ja, Sie könnten es hypothetisch auf eine Aufzählungsliste von "Mach das, dann mach das" verkleinern, aber ich denke, das ist nicht notwendig. Das Spielen mit Laufwerken muss mit größter Sorgfalt durchgeführt werden. Ich möchte nicht, dass ein durchschnittlicher Benutzer versucht, einer Aufzählungsliste zu folgen und irgendwo in der Mitte zu scheitern.
Vaindil
8

Ich möchte keinen Beitrag wegen potenzieller Richtlinienverletzung duplizieren, daher werde ich meine Antwort auf dieses Problem verlinken. Kurz gesagt, ich habe bereits einen Samsung-Laptop mit Windows 10 installiert, und ich habe versucht, Linux mit mehreren Instanzen zu installieren . Ubuntu 12.04, 14.04 und 16.04. Ich habe Boot-Repair verwendet und die Boot-Priorität in meinem Setup-BIOS geändert, was dazu führte, dass GRUB zuerst funktionierte, aber nicht richtig geladen wurde . Antwort von Benutzer Michael Hoffmann bietet eine gute Erklärung für die Installation auf einem leeren Laufwerk und die Bereinigung von GRUB , aber ich wollte meine Windows 10-Installation nicht entfernen.

Detaillierte Erläuterungen finden Sie in meinem Beitrag HIER .

Paresh471
quelle
1
Hey, danke, dass du dich an die Site-Richtlinien hältst! Das hält die Dinge sauber und organisiert und hilft den Menschen, Antworten zu finden. Ihre Antwort ist äußerst nützlich und steht in Zusammenhang mit meiner Frage und meiner Antwort. Ich freue mich, dass Sie sie hierher gestellt haben. Danke für den Link!
Michael Hoffmann
6

Ich kann Ihnen einen einfachen Hack für dieses Problem vorstellen, verwenden Sie ihn, wenn keine der legitimen Lösungen Ihr Problem gelöst hat.

Da Windows die Startreihenfolge ständig ändert, besteht der Hack darin, Windows dazu zu bringen, Ubuntu grub als Windows- Startdatei ( dh bootmgfw.efi) zu erkennen

Teil 1: Zugriff auf den EFI-Ordner unter Windows

Öffnen Sie cmd als Administrator und hängen Sie den EFI-Ordner ein, um darauf zuzugreifen. Führen Sie die folgenden Befehle einzeln aus. Unten habe ich dem Mount den Buchstaben g zugewiesen. Vergewissern Sie sich, dass Sie in Ihrem PC einen nicht zugewiesenen Buchstaben zugewiesen haben.

mountvol g: /s
g:
cd EFI\

Sie sollten einen Microsoft-Ordner und einen Ubuntu-Ordner in EFI sehen.

Teil 2: Kopieren Sie grubx64.efi von Ubuntu nach Microsoft \ Boot \ als bootmgfw.efi

Erstellen Sie zuerst ein Backup von bootmgfw.efi

cd Microsoft\Boot\
rename bootmgfw.efi bootmgfw_.efi

Jetzt kopieren und umbenennen.

copy g:\EFI\ubuntu\grubx64.efi g:\EFI\Microsoft\Boot\
rename grubx64.efi bootmgfw.efi

Teil 3: Hängen Sie den EFI-Ordner aus

Führen Sie die folgenden Befehle einzeln aus.

c:
mountvol g: /d

Starten Sie nun Ihren PC neu und Sie sollten sehen, dass Ubuntu GRUB geladen wird. Es sollte eine Option für den Windows UEFI-Loader zum Starten von Windows geben.

Der Neid
quelle
Dies funktioniert, aber Windows-Updates ersetzen möglicherweise die .efi-Datei, sodass sie gelegentlich wiederholt werden muss. Danke für den Beitrag!
Michael Hoffmann
1
Ja, einige Windows-Updates ersetzen die .efi-Datei. Wenn Sie Windows nicht häufig verwenden, sollten Sie die Updates von den lokalen Diensten deaktivieren und Windows aktualisieren, wenn Sie dies wünschen, und die genannten Schritte wiederholen.
Neid
Das funktioniert, aber wie starte ich jetzt zurück zu meinem Windows? Jetzt bootet es direkt zu meinem Linux. Bitte beraten.
Martti d
@marttid grub soll auch die Windows Option zeigen. Stellen Sie sicher, dass 'bootmgfw_.efi' im Microsoft-Startordner vorhanden ist.
Neid
1
Oder in einem Befehl bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efiwie hier
neu und
2

Eine etwas einfachere Lösung für das obige Problem.

  1. Drücken Sie F10während des Startvorgangs, um die erweiterten BIOS-Einstellungen aufzurufen
  2. Aktivieren Sie in den Einstellungen für die BIOS-Startreihenfolge die Legacy-Startreihenfolge, die sowohl die UEFI- als auch die Legacy-Startreihenfolge aktiviert.
  3. Wenn Sie die Startverzögerung auf 5 Sekunden erhöhen, wird während der Auswahl des Betriebssystems für die Startzeit etwas Zeit benötigt.
  4. Speichern Sie die BIOS-Einstellungen und beenden Sie das Programm.
  5. Beim nächsten Start werden Sie nach der Startauswahl gefragt. Drücken Sie F9, um die entsprechende Startoption einzugeben und auszuwählen (Windows OS Boot Manager oder Ubuntu).
Vishal Yadav
quelle
1
Ich denke, das ist eine Art Lösung, aber es ist überhaupt nicht das benutzerfreundliche GRUB-System, nach dem die meisten Leute suchen, wenn sie über Dual-Boot sprechen. Das Aufrufen von Firmware-Menüs, in denen es sehr einfach ist, Probleme zu lösen, sollte bei jedem Start des Computers vermieden werden. Um Legacy Boot zu aktivieren, muss auch Secure Boot deaktiviert werden (zumindest für meine Firmware), wodurch das System anfälliger für Firmware-Injektionen wird. Jeder Fremde könnte einen USB-Stick mit einem bösartigen Homebrew-Betriebssystem in Ihren Computer stecken und diesen in Sekundenschnelle starten.
Michael Hoffmann
1
Zumindest in meinem Szenario fand ich es weitaus benutzerfreundlicher und schneller als Lösung Nr. 1 und als Workaround für den Windows UEFI-Startmodus, der ursprünglich das Dual-Booten einschränkte. Ja. In der Tat ist diese Problemumgehung für Leute gedacht, die den Start älterer Systeme aktivieren und die Kontrolle über ihren PC / Laptop haben können, ohne Fremden ausgesetzt zu sein und zu wissen, was sie tun. Darüber hinaus möchten viele Leute ihren PC dual booten, nachdem sie bereits Windows 10 installiert / aktualisiert haben und möglicherweise nicht über genügend Ressourcen oder Zeit für die erste Lösung verfügen.
Vishal Yadav
0

Ich fand eine viel einfachere Lösung, die auf einem HP-Laptop (355 G2) funktionierte, auf dem Windows 10 installiert war

  1. Drücken Sie beim Booten die Escape-Taste
  2. Drücken Sie F9, um die Startoptionen aufzurufen
  3. Wählen Sie die USB-Option, bei der es sich nicht um UEFI handelt (bei mir war es das Ende der Liste), und drücken Sie die Eingabetaste
  4. Sie erhalten dann eine Fehlermeldung. Sie müssen jedoch nur "live" eingeben, um das Betriebssystem auszuprobieren, oder "live-install" und die Eingabetaste drücken, um es zu installieren.
Amphibio
quelle
Können Sie herausfinden, welche Firmware-Version Sie verwenden? Wenn die Installation nun wie beabsichtigt funktioniert, ist das wunderbar, aber es könnte nur das spezifische Modell sein. Möglicherweise vereinfacht ein Firmware-Update den Vorgang bei meinem Modell. Ich werde beide Betriebssysteme neu installieren, damit ich diese Woche meine Partitionen neu anordnen und eine andere Distribution ausprobieren kann. Ich hatte vor, mein Handbuch zu verwenden, aber wenn sich Ihre Firmware-Version von meiner unterscheidet, kann ich zuerst versuchen, ein Upgrade durchzuführen.
Michael Hoffmann
Ja, Installation und Dual Boot scheinen perfekt zu funktionieren. Ich bin mir nicht sicher, wie ich die Firmware-Version des BIOS / Motherboards finden soll (wenn Sie das wollten). Ich habe versucht, "sudo dmidecode", aber es warf mehr Informationen, als ich brauchte ...
Amphibio
Wenn Sie während des Startvorgangs die ESC-Taste drücken, sollte eine Option für die BIOS- oder Firmware-Einstellungen vorhanden sein. Es sollte ein Über oder etwas drin sein.
Michael Hoffmann
1
OK Cool. Die BIOS-Version ist F. 10. Der Computer "Born on Date" ist aus dem Jahr 2015, und das werksseitig installierte Betriebssystem war Windows 7, wenn das einen Unterschied macht ....
Amphibio
Umm, das ist für das Booten eines Live-USB im BIOS-Modus, wenn es um den UEFI-Modus geht, und für ein Dual-Boot-System, bei dem Grub zuerst gebootet wird.
RoundDuckMan
0

Wenn Sie sich von einer bestimmten Antwort hier inspirieren lassen (ehrlich gesagt, eher von der Antwort abziehen und sie dann rationalisieren, weil sie zu komplex ist) (insbesondere von Ihrer überaus detaillierten Antwort hier), ist dies der Weg, dies auch zu erreichen, indem Sie sich etwas ausleihen Mein letzter Q & A-Beitrag ( Kann ich Windows nach der Installation von Ubuntu auf UEFI installieren? ).

Der erste und einfachste Weg, da die UEFI das zuerst installierte System zu priorisieren scheint (zumindest bei diesen HP Systemen habe ich ein HP OMEN, bei dem ich dies erreicht habe), anstatt der Tradition, die neueste Installation zu priorisieren. Es ist sogar möglich, dass dies passiert, da die UEFI mehrere Bootloader nativ unterstützt.

Das bedeutet, dass Sie Ubuntu zuerst installieren müssen, um die Priorität von Ubuntu Grub zu erhalten. Machen Sie sich darüber keine Sorgen, da Windows 10 anschließend zusammen mit Ubuntu installiert wird. Erstellen Sie einfach Windows-Partitionen im Windows-Installationsprogramm und installieren Sie sie.

Versuchen Sie dann nach dem Einrichten, einen Neustart unter Windows durchzuführen, oder deaktivieren Sie die Schnellstartoption, indem Sie zu den Energieoptionen wechseln und dann auswählen, was der Netzschalter tun soll, bevor Sie Ubuntu starten , "und deaktivieren Sie das Kontrollkästchen" Schnellstart einschalten ".

Der andere Weg führt jetzt über efibootmgr. Ich habe nicht viel Erfahrung damit, also habe ich mich entschlossen, mir von einem großartigen Mann zu leihen, der die Besonderheiten von UEFI kennt, dem guten alten Rod Smith. Hier gab er eine Antwort auf die Frage: Ändern Sie die Startreihenfolge mit efibootmgr . Folgendes sagte er wörtlich:

Erstens ist eine Beschwerde, dass Startdateien weit vom Start des Datenträgers entfernt sind, auf einem EFI-Startcomputer irrelevant. Unter BIOS gibt es Einschränkungen (die je nach Alter des BIOS variieren), aber selbst unter einem (modernen) BIOS sollte Ihre 750-GB-Festplatte keine Probleme bereiten.

Zweitens können Sie die BootOrderVariable mit efibootmgrder -oOption 's ändern , wie in:

sudo efibootmgr -o 0,1,2

Dieser Befehl setzt zuerst die beiden ubuntuInstanzen, gefolgt von der Windows Boot ManagerEingabe. Das sollte den Trick machen. Leider sind einige EFIs fehlerhaft und "vergessen" den BootOrderEintrag oder verhalten sich anderweitig schlecht. Bei Problemen empfehle ich, den folgenden Befehl in einem Windows Administrator-Eingabeaufforderungsfenster auszuführen:

bcdedit / set {bootmgr} Pfad \ EFI \ ubuntu \ shimx64.efi

(Wenn Sie deaktiviert Secure Boot haben, können Sie ersetzen shimx64.efimit grubx64.efi, obwohl sollte entweder mit Secure Boot deaktiviert arbeiten.)

Wenn dies fehlschlägt, ist Ihre Firmware wahrscheinlich defekt. Möglicherweise ist ein Update von HP verfügbar. Wenn dies nicht der Fall ist oder wenn es nicht hilft und Sie sich innerhalb der Rückgabefrist für Ihren Computer befinden, geben Sie ihn gegen eine Rückerstattung zurück und Sie erhalten etwas, das nicht kaputt ist. Wenn Sie das nicht tun können, befinden Sie sich auf dem Territorium wirklich hässlicher Problemumgehungen wie dem Umbenennen von GRUB, sodass es so tut, als wäre es der Windows-Bootloader. Sehen Sie hier einige Informationen zu diesem Thema, wenn auch für REFind speziell geschrieben. Die Grundprinzipien gelten jedoch für alles.

Verwenden Sie also grundsätzlich efibootmgr, um die Startreihenfolge zu ändern. Nachdem Sie dies richtig gemacht haben, sollten Sie Ubuntu anstatt Windows zuerst booten lassen. :)

Ich hoffe das alles hilft!

RoundDuckMan
quelle