Linux na UEFI - jak zrestartować ekran konfiguracji UEFI, tak jak Windows 8?

33

makeuseof.com wyjaśnia, że ​​sprzęt z certyfikatem Windows 8 ma nowy sposób na przejście do ekranu konfiguracji UEFI (odpowiednik systemu BIOS). Od sposobu dostępu do BIOS komputera Windows 8 :

Nie naciskamy już określonego klawisza podczas uruchamiania systemu, aby odsłonić system BIOS - zamiast tego opcja dostępu do systemu BIOS znajduje się w menu opcji rozruchu systemu Windows 8 ... Jeśli jesteś tutaj, aby uzyskać dostęp do systemu UEFI BIOS komputera, kliknij kafelek Rozwiąż problem.

Główny programista Secure Boot dla Linux twierdzi, że alternatywne systemy operacyjne nie mogą zakładać, że stary sposób będzie nadal działał . Więc czy Linux ma również nowy sposób na wejście do konfiguracji UEFI?

Mam płytę główną ASUS. Sugeruje to, że uaktualniona wersja oprogramowania zawiera opcję szybkiego rozruchu . Z drugiej strony ta opcja może sprawić, że jeszcze trudniej będzie „ujawnić BIOS” niż już jest.

Nie mam nic przeciwko majstrowaniu. Tylko jeśli wiadomo, że jest to zły pomysł, nie chcę ryzykować aktualizacji oprogramowania układowego za darmo (i być może będę musiał zdjąć obudowę, zresetować ustawienia i ponownie je wszystkie skonfigurować).


Alternatywnie, w jaki sposób jest to obsługiwane dla użytkowników systemu Windows 7? Jeśli optymalnie wybiorą opcję szybkiego rozruchu, w jaki sposób uzyskają dostęp do konfiguracji „BIOS”, kiedy będą jej potrzebować?

sourcejedi
źródło
Cholera. Teraz żałuję, że nie wybrałbym Asusa zamiast Gigabyte do mojej nowej aktualizacji
kluka
Użyj ustawień, które działają dla systemu Windows 7, które będą domyślnymi i będzie dobrze :). Musi istnieć standardowy sposób na zrobienie tego w UEFI, po prostu nie znalazłem go w żadnym miejscu. Nawet oryginalne oprogramowanie układowe bez opcji szybkiego uruchamiania jest dość szybkie, więc nie żałuję. Patrzymy na funkcję specyficzną dla UEFI; Nie polegałbym jeszcze na Gigabyte, aby uzyskać EFI. Pracuję nad problemami z 1) portami USB3 i 2) klawiaturą USB, które razem są nieco rozczarowujące. OTOH dioda LED testu pamięci była mi przydatna, gdy moja nowa pamięć RAM zawiodła po tygodniu.
sourcejedi
1
Jednym z problemów z UEFI jest to, że pomimo 2000-stronicowego dokumentu specyfikacji NIE ma standaryzacji problemów z interfejsem użytkownika. Twórcy oprogramowania układowego mogą udostępniać użytkownikom narzędzia konfiguracyjne w dowolny sposób, który uznają za pożądany.
Rod Smith
Artykuł mówi, że Windows 8 wreszcie daje użytkownikom dostęp do zwykłego narzędzia instalacyjnego w standardowy sposób. Tak więc certyfikacja systemu Windows musi określać metodę obsługi tego. Mam nadzieję, że jest to część UEFI, a nie nieudokumentowane rozszerzenie MS. Pamiętaj, że NIE jest to pytanie dotyczące „Bezpiecznego rozruchu”. Pytanie zakłada, że ​​już udało mi się zainstalować i uruchomić Linuksa.
sourcejedi
Osobiście korzystam z systemu Windows 8 na płycie głównej ASRock Z77 Pro3, niedawno zaimplementowałem tę opcję „Ultra fast boot” w konfiguracji UEFI. ASRock udostępnia mi narzędzie, które znajduje się na pasku zadań, który mogę nacisnąć, aby uzyskać dostęp do konfiguracji UEFI. Wyczyszczenie CMOS zresetuje opcję szybkiego rozruchu, więc zawsze możesz spróbować. Moje vBIOS nie pozwala na to ustawienie, ponieważ nie obsługuje GOP, więc nie miałem okazji go wypróbować. Nie mam podobnego oprogramowania dla systemu Linux, tylko Windows 8.
Steen Schütt,

Odpowiedzi:

39

W nowoczesnych dystrybucjach Linuksa za pomocą systemd możesz przejść bezpośrednio do menu ustawień Firmware, używając:

systemctl reboot --firmware-setup

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

Lekensteyn
źródło
1
Hah, ten dokument jest trochę zwięzły. Wygląda dobrze - nie jest specyficzny dla danego menedżera rozruchu. Szkoda, że ​​nie ma samodzielnego narzędzia, ale nie mam nic przeciwko systemd. github.com/systemd/systemd/blob/…
sourcejedi
1
Zobacz także odpowiedź na Unix.SE. Bądź bardzo ostrożny z używaniem efivar, jakoś udało mi się usunąć 8be4df61-93ca-11d2-aa0d-00e098032b8c-OsIndicationszmienną, prawdopodobnie przekazując puste dane do efivarprogramu. Teraz muszę znaleźć sposób na odtworzenie tego pliku, bez którego systemctl reboot --firmware-setupprogram już nie działa.
Lekensteyn
Przykro mi z powodu twoich problemów. Mam wrażenie, że ustawienie zmiennej na 0 byłoby w porządku (z tego komentarza github.com/systemd/systemd/blob/… ), chociaż ten sam kod sugeruje, że systemd nie dbałby o to, czy zmienna została usunięta.
sourcejedi
1
Wygląda na to, że ponownie tworzy zmienną, ale jakoś została utracona po ponownym uruchomieniu: printf '\7\0\0\0''\0\0\0\0\0\0\0\0' > /sys/firmware/efi/efivars/OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c(na podstawie firmware.intel.com/blog/accessing-uefi-variables-linux i poprzedniej zawartości, którą zrzuciłem). Zauważ, że rm ...trzeba, chattr -i ...zanim będzie można go usunąć (środek bezpieczeństwa na temat rm -rf /).
Lekensteyn
1
@sourcejedi Arch Linux jest dostarczany z systememd 230. W końcu udało mi się odzyskać moją zmienną. Z jakiegoś powodu utworzenie zmiennej za pomocą efivars spowodowało, że OsIndications-89efde67-ffcd-12de-ab01-01efff012389ma inny GUID. Raz uruchomiony w UEFI powłoki , to powołuje się na polecenie setvar OsIndications -nv -bs -rt =0000000000000000, aby zmiennej OsIndications w pamięci nieulotnej na bootservice i wykonawczego dostęp do sekwencji szesnastkowym reprezentuje liczbę 64-bitową (0).
Lekensteyn
4

Nie jestem pewien, jak dokładnie to robi Windows 8, ale zgaduję, że wykorzystuje zmienne UEFI używane w opcjach uruchamiania.

Możesz użyć efibootmgr, aby określić znaczenie różnych zmiennych rozruchowych. W moim systemie Boot0000 to Instalator, więc użycie efibootmgr -n 0powinno spowodować, że system uruchomi się przy instalacji przy następnym uruchomieniu.

Tim Hoppen
źródło
Dzięki. Próbowałem teraz uruchomić system UEFI na bieżącym systemie BIOS. Boot0000 wydaje się być zajęty przez jeden ze zwykłych wpisów rozruchowych. (Zdałem sobie również sprawę, że źle odczytałem informacje o wydaniu i nie ma powodu, aby oczekiwać, że nowsza wersja będzie szybsza. No cóż :).
sourcejedi
@sourcejedi Oprogramowanie wbudowane w opcję szybkiego rozruchu może faktycznie uruchomić się szybciej o 1 lub 2 sekundy, ultraszybki rozruch ponownie może golić się od 1 do 2 sekund: unix.stackexchange.com/questions/149761/…
Pro Backup
3

Próbowałem uruchomić EFI z Ubuntu 12.04 i znalazłem odpowiedź na moje własne pytanie.

(Nie zaktualizowałem oprogramowania. Pierwotnie błędnie odczytałem uwagi do wydania - prawdopodobnie nie byłoby to szybsze).

Wejście do konfiguracji oprogramowania układowego z menu rozruchowego grub-efi

efibootmgrwydaje mi się, że nie obsługuje restartowania się do konfiguracji oprogramowania układowego. Ale robi to grub-efi . Jest w stanie utworzyć wpis dotyczący konfiguracji oprogramowania układowego w menu rozruchowym GRUB.

Możesz wejść do menu uruchamiania GRUB-a, przytrzymując klawisz Shift „na początku procesu uruchamiania”. Naciskam go natychmiast po włączeniu się klawiatury NumLock na klawiaturze i to działa dla mnie.

Jeśli jesteś ciekawy, spojrzałem również na polecenie: to „fwsetup”. Można wejść do menu GRUB, postępować zgodnie z instrukcjami wyświetlanymi na ekranie, aby przejść do wiersza poleceń, a następnie wpisać „fwsetup” i nacisnąć klawisz Return.

Jeśli wykonasz instalację EFI od zera, uważam, że element menu zostanie utworzony automatycznie. Nie zainstalowałem się jako EFI, co oznaczało, że musiałem go kopnąć (patrz poniżej, krok 4).

Konwertowanie z rozruchu BIOS-GPT na rozruch UEFI-GPT bez nagrywania płyty rozruchowej EFI?

EDYCJA: ta sekcja może działać w niektórych systemach. Jednak teraz uważam, że opiera się na dodatkowym zachowaniu, które nie jest częścią standardu UEFI. Pewnego dnia dowiem się, co się tutaj dzieje.

Konwertowałem istniejącą instalację na EFI, bez płyty rozruchowej z obsługą EFI. Niektórzy uważają, że nie jest to możliwe. Trzeba przyznać, że jest kilka mylących komunikatów ostrzegawczych. Spojrzałem na to, co się działo. Jeśli możesz wejść do konfiguracji oprogramowania układowego, nie jest tak źle.

Najtrudniejsze jest to, że prawdopodobnie nadal używasz tablicy partycji MBR i prawie na pewno musisz przekonwertować ją na GPT. Nie zamierzam obejmować konwersji z MBR na GPT. Partycjonowanie jest zawsze trochę niebezpieczne. gdiskmożna konwertować, ale jest całkiem sporo niepotrzebnych bitów. Nie wymieniłem ich wszystkich tutaj. Ale po pierwsze, prawdopodobnie musisz zmniejszyć ostatnią partycję, aby zrobić miejsce na GPT na końcu dysku. Nie możesz tego zrobić, jeśli partycja jest zamontowana, więc będziesz chciał użyć rozruchowej płyty CD. (Zainscenizowałem też konwersję, upewniając się, że mogę uruchomić system z BIOS-GPT, zanim spróbowałem UEFI-GPT, co wiązało się z koniecznością utworzenia jeszcze innego typu partycji rozruchowej.)

Zakładając, że masz skonfigurowane GPT:

  1. Zainstaluj grub-efi. To usunęło grub-pc i przestało działać. (grub-efi nadal działało po tym, jak go usunąłem!). Fedora wydaje się nieco inna; Próbowałem tego tylko na Ubuntu. Podczas instalacji zobaczysz błędy związane z niemożnością dostępu do zmiennych EFI, ponieważ nie uruchomiłeś się przez EFI.
  2. Zamknąć.
  3. Zasilanie włączone. Upewnij się, że uruchamiasz przez EFI! Jest to część zależna od systemu i niepokojąca. Mój system zdarzył się domyślnie uruchamiać MBR na początku, więc zobaczyłem straszny błąd z GRUB-a, ale ze starego grub-pc. W moim systemie łatwo było teraz przejść do ekranu konfiguracji oprogramowania układowego (patrz poniżej) i zmienić priorytet rozruchu na „ubuntu” (który był wpisem do uruchamiania mojego systemu operacyjnego przez EFI).
  4. Teraz możesz powtórzyć instalację gruba ( grub-installlub grub2-installna Fedorze), i nie będzie pokazywał żadnych błędów. A teraz uruchomienie update-grub(lub grub2-mkconfig -o /boot/grub/grub.cfg, w Fedorze) utworzy pozycję menu do wejścia do konfiguracji oprogramowania układowego.

Wejście do menu konfiguracji oprogramowania / uruchamiania w moim systemie ASUS

ZASTRZEŻENIE: nie jest to najnowsza wersja oprogramowania / płyty. Twój system ASUS może działać inaczej niż mój.

Moje aktualne oprogramowanie układowe ASUS powiadamia o zmianie „konfiguracji rozruchowej” - np. Kiedy zainstalowałem grub-efi. Jest tekst z informacją, że zmienił się, jeśli spojrzysz na początkowy ekran „EZ setup”. A kiedy wykryje taką zmianę, łatwiej jest przejść do ekranu konfiguracji. To robi to pokazuje ekran powitalny z „naciśnij DEL, aby przejść do ustawień” przez kilka sekund. (Jeśli włączyłeś opcję „szybkiego rozruchu”, zwykle pomija ekran powitalny).

Myślę, że można również uruchomić ekran powitalny, wyłączając system i odłączając go na około minutę, przed ponownym uruchomieniem.

W moim bieżącym oprogramowaniu mogę przejść do konfiguracji oprogramowania, naciskając klawisz DEL podczas uruchamiania, nawet bez ekranu powitalnego. Jest to jednak uzależnione od włączenia obsługi klawiatury w oprogramowaniu układowym.

Możliwe jest przełączenie oprogramowania układowego, aby nie sondował klawiatury podczas uruchamiania, co ma przyspieszyć. Wydaje mi się, że jest to kolejny eksperyment do wypróbowania, teraz jestem bardziej przekonany co do tego EFI! (Jest prawdopodobne, że mógłby zabić obsługę klawiatury również w menu rozruchowym GRUB-a. Nadal powinienem móc korzystać z grub-set-default, aby GRUB uruchomił wpis fwsetup i odzyskał w ten sposób).

sourcejedi
źródło
0

Opierając się na odpowiedzi @ Lekensteyn, stworzyłem skrót interfejsu użytkownika (w menu Administracja, jeśli twoje środowisko nadal ma jeden z nich). Przydatne, jeśli klawiatura wydaje się nigdy nie działać aż do POST.

/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
źródło