Linux unter UEFI - Wie kann man den UEFI-Setup-Bildschirm wie Windows 8 neu starten?

33

makeuseof.com erklärt, dass Windows 8-zertifizierte Hardware eine neue Möglichkeit bietet, den UEFI-Setup-Bildschirm aufzurufen (entspricht dem BIOS). Von Wie der Zugriff auf das BIOS auf einem Windows - 8 - Computer :

Während des Startvorgangs drücken wir keine bestimmte Taste mehr, um das BIOS anzuzeigen. Stattdessen finden Sie eine Option für den Zugriff auf das BIOS im Startoptionsmenü von Windows 8. Wenn Sie nur hier sind, um auf das UEFI-BIOS Ihres Computers zuzugreifen, klicken Sie auf Die Kachel Fehlerbehebung.

Der Hauptentwickler von Secure Boot für Linux sagt, dass alternative Betriebssysteme nicht davon ausgehen können, dass der alte Weg weiter funktioniert . Hat Linux also auch eine neue Möglichkeit, das UEFI-Setup aufzurufen?

Ich habe ein ASUS-Motherboard. Es wird vorgeschlagen, dass eine aktualisierte Version der Firmware eine Schnellstartoption enthält . Die Kehrseite ist, dass die Option es möglicherweise noch schwieriger macht, das BIOS zu "enthüllen", als dies bereits der Fall ist.

Es macht mir nichts aus zu basteln. Nur wenn dies als schlechte Idee bekannt ist, möchte ich das Risiko eines Firmware-Upgrades nicht umsonst eingehen (und muss möglicherweise das Gehäuse abnehmen, die Einstellungen zurücksetzen und sie alle neu einrichten).


Wie wird dies alternativ für Windows 7-Benutzer gehandhabt? Wenn sie die Schnellstartoption optimistisch auswählen, wie können sie dann bei Bedarf wieder auf das BIOS-Setup zugreifen?

sourcejedi
quelle
Verdammt. Jetzt wünschte ich, ich hätte für mein neues Upgrade nicht Asus statt Gigabyte gewählt
kluka
Verwenden Sie alle Einstellungen, die für Windows 7 gelten. Dies sind die Standardeinstellungen, und es ist in Ordnung :). Es muss eine Standardmethode für UEFI geben, ich habe sie einfach nirgendwo gefunden. Sogar die ursprüngliche Firmware ohne Fast-Boot-Option ist ziemlich bissig, also bereue ich es nicht. Wir sehen uns eine UEFI-spezifische Funktion an. Ich würde mich noch nicht auf Gigabyte verlassen, um EFI richtig zu machen. Ich bin arbeiten rund um Probleme mit 1) USB3 - Ports und 2) eine USB - Tastatur, die zusammen ein bisschen setzen ist grundsätzlich enttäuschend. OTOH die Speicher-Test-LED war nützlich für mich, als mein neuer RAM nach einer Woche ausfiel.
Sourcejedi
1
Eines der Probleme mit UEFI ist, dass es trotz eines 2000-seitigen Spezifikationsdokuments KEINE Standardisierung von Benutzeroberflächenproblemen gibt. Es steht den Firmware-Entwicklern frei, den Benutzern den Zugriff auf ihre Setup-Dienstprogramme nach eigenem Ermessen zu gewähren.
Rod Smith
Der Artikel besagt, dass Windows 8 den Benutzern den Zugriff auf das übliche Setup-Dienstprogramm auf standardmäßige Weise ermöglicht. Daher muss bei der Windows-Zertifizierung eine Methode angegeben werden, die dies unterstützt. Hoffentlich ist es Teil von UEFI, keine undokumentierte MS-Erweiterung. Beachten Sie, dass dies KEINE Frage zu "Secure Boot" ist. Die Frage geht davon aus, dass es mir bereits gelungen ist, Linux zu installieren und zu booten.
Sourcejedi
Ich persönlich verwende Windows 8 auf meinem ASRock Z77 Pro3-Motherboard und implementiere erst kürzlich diese Option "Ultra-Fast-Boot" im UEFI-Setup. ASRock stellt mir ein Hilfsprogramm in meiner Taskleiste zur Verfügung, mit dem ich auf das UEFI-Setup zugreifen kann. Durch einen CMOS-Löschvorgang wird die Schnellstartoption zurückgesetzt, sodass Sie sie jederzeit ausprobieren können. Mein vBIOS lässt diese Einstellung nicht zu, da es keine GOP-Unterstützung bietet, sodass ich keine Gelegenheit hatte, sie auszuprobieren. Ich habe keine ähnliche Software für Linux, nur Windows 8.
Steen Schütt

Antworten:

39

Auf modernen Linux-Distributionen, die systemd verwenden, können Sie direkt zum Firmware-Setup-Menü über Folgendes wechseln:

systemctl reboot --firmware-setup

Dokumentation: https://www.freedesktop.org/software/systemd/man/systemctl.html#--firmware-setup

Lekensteyn
quelle
1
Hah, dieser Doc ist ein bisschen knapp. Sieht gut aus - es ist nicht spezifisch für einen bestimmten Boot-Manager. Schade, dass es kein eigenständiges Tool gibt, aber ich habe nichts gegen systemd. github.com/systemd/systemd/blob/…
sourcejedi
1
Siehe auch diese Unix.SE- Antwort. Seien Sie sehr vorsichtig mit der Verwendung efivar, ich habe es irgendwie geschafft, die 8be4df61-93ca-11d2-aa0d-00e098032b8c-OsIndicationsVariable zu entfernen , möglicherweise durch die Übergabe leerer Daten an das efivarProgramm. Jetzt muss ich eine Möglichkeit finden, diese Datei neu zu erstellen, ohne sie systemctl reboot --firmware-setupfunktioniert das Programm nicht mehr.
Lekensteyn
Tut mir leid, Ihre Probleme zu hören. Ich hatte den Eindruck, dass die Einstellung der Variablen auf 0 in Ordnung wäre (aus diesem Kommentar github.com/systemd/systemd/blob/… ), obwohl derselbe Code darauf hindeutet, dass es systemd egal wäre, wenn die Variable gelöscht würde.
Sourcejedi
1
Dies scheint die Variable neu zu erstellen, geht aber nach einem Neustart verloren: printf '\7\0\0\0''\0\0\0\0\0\0\0\0' > /sys/firmware/efi/efivars/OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c(basierend auf firmware.intel.com/blog/accessing-uefi-variables-linux und den vorherigen Inhalten, die ich ausgegeben habe). Beachten Sie, dass rm ...Bedürfnisse , chattr -i ...bevor Sie es entfernen können (Sicherheitsmaßnahme zu rm -rf /).
Lekensteyn
1
@sourcejedi Arch Linux wird mit systemd 230 ausgeliefert. Ich habe es endlich geschafft, meine Variable zurückzubekommen. Aus irgendeinem Grund führte das Erstellen der Variablen über efivars zu OsIndications-89efde67-ffcd-12de-ab01-01efff012389einer anderen GUID. Nach dem Booten der UEFI-Shell habe ich den Befehl aufgerufen setvar OsIndications -nv -bs -rt =0000000000000000, um die Variable OsIndications im nichtflüchtigen Speicher für den Bootservice- und Laufzeitzugriff auf die hexadezimale Sequenz festzulegen, die eine 64-Bit-Zahl (0) darstellt.
Lekensteyn
4

Ich bin nicht sicher, wie genau Windows 8 dies tut, aber ich kann mir vorstellen, dass es die UEFI-Variablen nutzt, die für die Startoptionen verwendet werden.

Mit efibootmgr können Sie die Bedeutung der verschiedenen Startvariablen ermitteln. Auf meinem System ist Boot0000 Setup. Wenn Sie also verwenden, efibootmgr -n 0sollte das System beim nächsten Start das Setup starten.

Tim Hoppen
quelle
Vielen Dank. Ich habe jetzt versucht, UEFI auf meinem aktuellen BIOS zu starten. Boot0000 scheint von einem der normalen Boot-Einträge belegt zu sein. (Ich habe auch festgestellt, dass ich die Versionshinweise falsch gelesen habe, und es gibt keinen Grund zu erwarten, dass die neuere Version schneller ist. Na ja :).
Sourcejedi
@sourcejedi Die Firmware, deren Schnellstartoption tatsächlich 1 oder 2 Sekunden schneller bootet
Pro Backup
3

Ich habe EFI mit Ubuntu 12.04 gestartet und eine Antwort auf meine Frage gefunden.

(Ich habe meine Firmware nicht aktualisiert. Ich habe die Versionshinweise ursprünglich falsch gelesen - wahrscheinlich wäre es nicht schneller).

Aufrufen des Firmware-Setups über das Startmenü von grub-efi

efibootmgrScheint keinen Neustart des Firmware-Setups für mich zu unterstützen. Aber grub-efi tut es. Es kann ein Eintrag für das Firmware-Setup im GRUB-Startmenü erstellt werden.

Sie können das GRUB-Startmenü aufrufen, indem Sie die Umschalttaste "früh im Startvorgang" gedrückt halten. Ich drücke es sofort nach dem Einschalten der NumLock-LED auf der Tastatur, und das funktioniert für mich.

Wenn Sie neugierig sind, habe ich mir auch den Befehl angesehen: Es ist "fwsetup". Dh Sie können das GRUB-Menü aufrufen, den Anweisungen auf dem Bildschirm folgen, um zur Befehlszeile zu wechseln, dann "fwsetup" eingeben und die Eingabetaste drücken.

Wenn Sie eine EFI-Installation von Grund auf neu durchführen, wird der Menüpunkt meines Erachtens automatisch erstellt. Ich habe es nicht als EFI installiert, was bedeutete, dass ich es treten musste (siehe unten, Schritt 4).

Konvertieren von BIOS-GPT-Boot zu UEFI-GPT-Boot, ohne eine EFI-Boot-CD zu brennen?

BEARBEITEN: Dieser Abschnitt funktioniert möglicherweise auf einigen Systemen. Jetzt glaube ich jedoch, dass es auf zusätzlichem Verhalten beruht, das nicht zum UEFI-Standard gehört. Eines Tages werde ich herausfinden, was hier passiert.

Ich habe eine vorhandene Installation ohne eine EFI-fähige Boot-CD in EFI konvertiert. Einige Leute denken, dass dies nicht möglich ist. Zugegeben, es gibt einige verwirrende Warnmeldungen. Ich habe mir angesehen, was los war. Wenn Sie derzeit das Firmware-Setup aufrufen können, ist es nicht so schlimm.

Das Schwierige ist, dass Sie wahrscheinlich immer noch eine MBR-Partitionstabelle verwenden und diese mit ziemlicher Sicherheit in GPT konvertieren müssen. Ich werde die Konvertierung von MBR zu GPT nicht behandeln. Partitionierung ist immer ein bisschen gefährlich. gdiskkann konvertieren, aber es gibt einige fummelige Teile. Ich habe sie hier nicht alle aufgelistet. Aber zum einen müssen Sie wahrscheinlich die letzte Partition verkleinern, um Platz für das GPT für das Festplattenende zu schaffen. Dies ist nicht möglich, wenn die Partition gemountet ist. Daher sollten Sie eine Boot-CD verwenden. (Ich habe auch die Konvertierung inszeniert, um sicherzustellen, dass ich vom BIOS-GPT booten kann, bevor ich UEFI-GPT ausprobiert habe, wozu das Erstellen einer weiteren Art von Boot-Partition erforderlich war.)

Vorausgesetzt, Sie haben GPT eingerichtet:

  1. Installieren Sie grub-efi. Dies entfernte grub-pc und verhinderte, dass es funktionierte. (grub-efi hat tatsächlich noch funktioniert, nachdem ich es entfernt habe!). Fedora scheint ein bisschen anders zu sein; Ich habe das nur auf Ubuntu ausprobiert. Während der Installation werden Fehler angezeigt, weil Sie nicht über EFI auf EFI-Variablen zugreifen können.
  2. Ausschalten.
  3. Ein. Stellen Sie sicher, dass Sie über EFI booten! Dies ist der systemabhängige und besorgniserregende Teil. Mein System startete standardmäßig mit einem MBR-Systemstart, sodass ich einen beängstigenden Fehler von GRUB sah - aber von dem alten Grub-PC. Auf meinem System war es zu diesem Zeitpunkt einfach, den Firmware-Setup-Bildschirm aufzurufen (siehe unten) und die Boot-Priorität auf "ubuntu" zu ändern (dies war der Eintrag zum Booten meines Betriebssystems über EFI).
  4. Jetzt können Sie die Grub-Installation ( grub-installoder grub2-installunter Fedora) wiederholen und es werden keine Fehler angezeigt. Und jetzt , Laufen update-grub(oder grub2-mkconfig -o /boot/grub/grub.cfg, auf Fedora) den Menüpunkt für die Eingabe von Firmware - Setup erstellen.

Aufrufen des Firmware-Setup / Boot-Menüs auf meinem ASUS-System

HAFTUNGSAUSSCHLUSS: Dies ist nicht die neueste Firmware / Karte. Ihr ASUS-System kann sich von meinem unterscheiden.

Meine aktuelle ASUS-Firmware merkt, wenn sich die "Boot-Konfiguration" geändert hat - zB als ich grub-efi installiert habe. Es gibt einen Text, der besagt, dass er sich geändert hat, wenn Sie sich den anfänglichen "EZ-Setup" -Bildschirm ansehen. Wenn eine solche Änderung erkannt wird, ist der Setup-Bildschirm einfacher aufzurufen. Es wird der Begrüßungsbildschirm mit "Drücken Sie ENTF, um das Setup aufzurufen" für einige Sekunden angezeigt. (Wenn Sie die Option "Schnellstart" aktiviert haben, wird der Begrüßungsbildschirm normalerweise übersprungen.)

Ich denke, es ist auch möglich, den Begrüßungsbildschirm auszulösen, indem Sie das System ausschalten und es vor dem Neustart etwa eine Minute lang vom Stromnetz trennen.

Bei meiner aktuellen Firmware kann ich das Firmware-Setup aufrufen, indem ich während des Startvorgangs die ENTF-Taste drücke, auch ohne den Begrüßungsbildschirm. Voraussetzung ist jedoch , dass die Tastaturunterstützung in der Firmware aktiviert ist.

Es ist möglich, die Firmware so umzustellen, dass beim Booten nicht nach Tastaturen gesucht wird, was die Sache beschleunigen soll. Ich denke, dies ist das nächste Experiment, das ich versuchen muss. Jetzt bin ich sicherer in Bezug auf dieses EFI-Zeug! (Es ist plausibel, dass dies auch die Tastaturunterstützung im GRUB-Startmenü beeinträchtigen könnte. Ich sollte jedoch weiterhin in der Lage sein, grub-set-default zu verwenden, damit GRUB den Eintrag fwsetup startet und auf diese Weise wiederherstellt.)

sourcejedi
quelle
0

Aufbauend auf der Antwort von @ Lekensteyn habe ich eine Verknüpfung zur Benutzeroberfläche erstellt (im Menü Administration, falls Ihre Umgebung noch über eine solche verfügt). Nützlich, wenn Ihre Tastatur erst nach dem POST funktioniert.

/usr/share/applications/uefi-reboot.desktop

[Desktop Entry]
Name=UEFI Firmware Setup (Reboot)
Comment=Access the motherboard configuration utility
Exec=systemctl reboot --firmware-setup
Icon=system-restart
Terminal=false
Type=Application
Categories=System;Settings;
krispy
quelle