Linux su UEFI: come riavviare la schermata di configurazione UEFI come può fare Windows 8?


33

makeuseof.com spiega che l'hardware certificato Windows 8 ha un nuovo modo per accedere alla schermata di configurazione UEFI (equivalente al BIOS). Da come accedere al BIOS su un computer Windows 8 :

Non premiamo più un determinato tasto durante il processo di avvio per rivelare il BIOS - invece, un'opzione per accedere al BIOS si trova nel menu delle opzioni di avvio di Windows 8 ... Se sei qui solo per accedere al BIOS UEFI del tuo computer, fai clic su il riquadro Risoluzione dei problemi.

Lo sviluppatore principale di Secure Boot per Linux afferma che i sistemi operativi alternativi non possono supporre che il vecchio modo continuerà a funzionare . Quindi Linux ha anche un nuovo modo per accedere all'installazione UEFI?

Ho una scheda madre ASUS. Suggerisce che una versione aggiornata del firmware contiene un'opzione di avvio rapido . Il rovescio della medaglia è che l'opzione potrebbe rendere ancora più difficile "rivelare il BIOS" di quanto non lo sia già.

Non mi dispiace armeggiare. Solo se questa è nota per essere una cattiva idea, non voglio correre il rischio di un aggiornamento del firmware per niente (e forse dovrei togliere il case, ripristinare le impostazioni e doverle reimpostare).


In alternativa, come viene gestito per gli utenti di Windows 7? Se selezionano in modo ottimale l'opzione di avvio rapido, come possono accedere nuovamente all'impostazione "BIOS" quando ne hanno bisogno?


Accidenti. Ora vorrei non aver scelto Asus su Gigabyte per il mio nuovo aggiornamento
kluka il

Usa le impostazioni che funzionano per Windows 7, che saranno le impostazioni predefinite e andrà bene :). Ci deve essere un modo standard per farlo in UEFI, non l'ho trovato chiamato da nessuna parte. Anche il firmware originale senza alcuna opzione di avvio rapido è piuttosto scattante, quindi non me ne pento. Stiamo esaminando una funzione specifica UEFI; Non farei affidamento su Gigabyte per ottenere ancora EFI. Io sto lavorando intorno a questioni con 1) le porte USB3 e 2) una tastiera USB, che ha messo insieme è un po 'deludente in linea di principio. OTOH il LED del test di memoria mi è stato utile quando la mia nuova RAM non è riuscita dopo una settimana.
FonteJedi

1
Uno dei problemi con UEFI è che, nonostante un documento di specifica di 2.000 pagine, NON esiste una standardizzazione dei problemi dell'interfaccia utente. Gli sviluppatori di firmware sono liberi di fornire agli utenti l'accesso alle loro utility di configurazione nel modo che ritengono opportuno.
Rod Smith,

L'articolo afferma che Windows 8 finalmente consente agli utenti di accedere alla solita utility di installazione in modo standard. Quindi la certificazione di Windows deve specificare un metodo per supportare questo. Spero che faccia parte di UEFI, non un'estensione MS non documentata. Si noti che questa NON è una domanda su "Avvio protetto". La domanda presuppone che sia già riuscito a installare e avviare Linux.
Fontejedi

Sto eseguendo personalmente Windows 8 sul mio motherbord ASRock Z77 Pro3, di recente implementando questa opzione "Ultra fast boot" nell'impostazione UEFI. Mi viene fornita un'utilità da ASRock che si trova nella mia barra delle applicazioni, che posso premere per accedere alla configurazione UEFI. Una cancellazione CMOS ripristinerà l'opzione di avvio rapido, quindi puoi sempre provarlo. Il mio vBIOS non consente questa impostazione, perché non ha il supporto GOP, quindi non ho avuto la possibilità di provarlo. Non ho un software simile per Linux, solo Windows 8.
Steen Schütt,

Risposte:


39

Nelle moderne distribuzioni Linux utilizzando systemd, è possibile accedere direttamente al menu di configurazione del firmware utilizzando:

systemctl reboot --firmware-setup

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


1
Ah, quel documento è un po 'conciso. Sembra buono - non è specifico per un determinato boot manager. Peccato che non ci sia uno strumento autonomo, ma non ho nulla contro systemd. github.com/systemd/systemd/blob/…
sourcejedi

1
Vedi anche questa risposta Unix.SE. Stai molto attento con l'utilizzo efivar, in qualche modo sono riuscito a rimuovere la 8be4df61-93ca-11d2-aa0d-00e098032b8c-OsIndicationsvariabile, possibilmente passando i dati vuoti al efivarprogramma. Ora devo trovare un modo per ricreare questo file, senza di esso il systemctl reboot --firmware-setupprogramma non funziona più.
Lekensteyn,

Mi dispiace sentire i tuoi problemi. Ho avuto l'impressione che la variabile su 0 andasse bene (da questo commento github.com/systemd/systemd/blob/… ), anche se lo stesso codice suggerisce che a systemd non importerebbe se la variabile fosse eliminata.
sourcejedi,

1
Questo sembra ricreare la variabile, ma in qualche modo viene persa dopo un riavvio: printf '\7\0\0\0''\0\0\0\0\0\0\0\0' > /sys/firmware/efi/efivars/OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c(basato su firmware.intel.com/blog/accessing-uefi-variables-linux e sui contenuti precedenti che ho scaricato). Si noti che è rm ...necessario chattr -i ...prima di poterlo rimuovere (misura di sicurezza circa rm -rf /).
Lekensteyn,

1
@sourcejedi Arch Linux viene fornito con systemd 230. Finalmente sono riuscito a recuperare la mia variabile. Per qualche motivo, la creazione della variabile tramite efivars ha prodotto OsIndications-89efde67-ffcd-12de-ab01-01efff012389un GUID diverso. Una volta avviato la UEFI Shell , ho invocato il comando setvar OsIndications -nv -bs -rt =0000000000000000per impostare la variabile OsIndications nella memoria non volatile per il servizio di avvio e l'accesso runtime alla sequenza esadecimale che rappresenta un numero a 64 bit (0).
Lekensteyn,

4

Non sono sicuro di come esattamente Windows 8 faccia questo, ma posso immaginare che sfrutti le variabili UEFI utilizzate per le opzioni di avvio.

È possibile utilizzare efibootmgr per determinare il significato delle varie variabili di avvio. Sul mio sistema, Boot0000 è Setup, quindi l'utilizzo efibootmgr -n 0dovrebbe far sì che il sistema si avvii nella configurazione al successivo avvio.


Grazie. Ora ho provato l'avvio UEFI sul mio attuale BIOS. Boot0000 sembra essere occupato da una delle normali voci di avvio. (Mi sono anche reso conto di aver letto male le note di rilascio e non c'è motivo di aspettarmi che la versione più recente sia più veloce. Vabbè :).
FonteJedi

@sourcejedi Il firmware, la sua opzione di avvio veloce potrebbe effettivamente avviarsi più velocemente di 1 o 2 secondi, l'avvio ultraveloce potrebbe radersi di altri 1 o 2 secondi: unix.stackexchange.com/questions/149761/…
Pro Backup

3

Ho provato l'avvio di EFI con Ubuntu 12.04 e ho trovato una risposta alla mia domanda.

(Non ho aggiornato il mio firmware. Ho letto male le note di rilascio in origine - probabilmente non sarebbe più veloce).

Accesso alla configurazione del firmware dal menu di avvio di grub-efi

efibootmgrnon sembra supportare il riavvio della configurazione del firmware per me. Ma grub-efi lo fa. È in grado di creare una voce per la configurazione del firmware nel menu di avvio di GRUB.

È possibile accedere al menu di avvio di GRUB tenendo premuto il tasto MAIUSC "all'inizio del processo di avvio". Lo premo subito dopo l'accensione della spia NumLock sulla tastiera, e questo funziona per me.

Se sei curioso, ho guardato anche il comando: è "fwsetup". Vale a dire che è possibile accedere al menu di GRUB, seguire le istruzioni visualizzate per passare alla riga di comando, quindi digitare "fwsetup" e premere Invio.

Se esegui un'installazione EFI da zero, credo che la voce di menu verrà creata automaticamente. Non ho installato come EFI, il che significava che dovevo calciarlo (vedi sotto, passaggio 4).

Conversione dall'avvio BIOS-GPT all'avvio UEFI-GPT senza masterizzare un CD di avvio EFI?

EDIT: questa sezione potrebbe funzionare su alcuni sistemi. Tuttavia ora credo che si basi su un comportamento extra che non fa parte dello standard UEFI. Un giorno scoprirò cosa sta succedendo qui.

Stavo convertendo un'installazione esistente in EFI, senza un CD di avvio abilitato EFI. Alcune persone pensano che questo non sia possibile. Certo, ci sono un paio di messaggi di avviso confusi. Ho dato un'occhiata a quello che stava succedendo. Se al momento puoi accedere all'impostazione del firmware, non è poi così male.

La parte difficile è che probabilmente stai ancora utilizzando una tabella delle partizioni MBR e quasi sicuramente devi convertirla in GPT. Non ho intenzione di coprire la conversione da MBR a GPT. Il partizionamento è sempre un po 'pericoloso. gdiskpuò essere convertito, ma ci sono alcuni bit complicati. Non li ho elencati tutti qui. Ma per uno, probabilmente dovrai ridurre l'ultima partizione, per fare spazio al GPT di fine disco. Non puoi farlo se la partizione è montata, quindi ti consigliamo di utilizzare un CD di avvio. (Ho anche messo in scena la conversione, assicurandomi di poter avviare da BIOS-GPT prima di provare UEFI-GPT, che comportava la necessità di creare un altro tipo di partizione di avvio.).

Supponendo che tu abbia configurato GPT:

  1. Installa grub-efi. Questo ha rimosso grub-pc e lo ha impedito di funzionare. (grub-efi ha funzionato ancora dopo averlo rimosso!). Fedora sembra un po 'diversa; L'ho provato solo su Ubuntu. Durante l'installazione, verranno visualizzati errori relativi alla mancata possibilità di accedere alle variabili EFI, poiché non è stato avviato da EFI.
  2. Spegnimento.
  3. Accensione. Assicurati di avviare EFI! Questa è la parte dipendente dal sistema e preoccupante. Inizialmente il mio sistema si avviava automaticamente all'avvio di MBR, quindi ho visto un errore spaventoso da GRUB - ma era dal vecchio grub-pc. Sul mio sistema, è stato facile accedere alla schermata di configurazione del firmware a questo punto (vedi sotto) e cambiare la priorità di avvio in "ubuntu" (che era la voce per l'avvio del mio sistema operativo tramite EFI).
  4. Ora puoi ripetere l'installazione di grub ( grub-installo grub2-installsu Fedora) e non mostrerà alcun errore. E ora , l'esecuzione update-grub(o grub2-mkconfig -o /boot/grub/grub.cfg, su Fedora) creerà la voce di menu per accedere alla configurazione del firmware.

Accedere al menu di configurazione / avvio del firmware sul mio sistema ASUS

NOTA BENE: questo non è l'ultimo firmware / scheda. Il tuo sistema ASUS potrebbe agire in modo diverso dal mio.

Il mio attuale firmware ASUS rileva quando è cambiata la "configurazione di avvio", ad esempio quando ho installato grub-efi. C'è del testo che dice che è cambiato se guardi la schermata iniziale "EZ setup". E, quando rileva una tale modifica, rende più semplice l'accesso alla schermata di configurazione. Ciò che fa è che mostra la schermata iniziale con "premere CANC per accedere all'impostazione" per alcuni secondi. (Se hai abilitato l'opzione "avvio veloce", normalmente salta la schermata iniziale).

Penso che sia anche possibile attivare la schermata iniziale spegnendo il sistema e scollegandolo per circa un minuto, prima di riavviare.

Sul mio attuale firmware, posso accedere alla configurazione del firmware facendo clic sul tasto CANC durante l'avvio, anche senza la schermata di avvio. Tuttavia , ciò è subordinato all'abilitazione del supporto della tastiera nel firmware.

È possibile commutare il firmware in modo da non cercare le tastiere durante l'avvio, il che dovrebbe accelerare le cose. Immagino che questo sia il prossimo esperimento da provare, ora sono più fiducioso su questa roba EFI! (È plausibile che potrebbe uccidere anche il supporto della tastiera nel menu di avvio di GRUB. Ma dovrei comunque essere in grado di utilizzare grub-set-default, in modo che GRUB avvii la voce fwsetup e ripristini in quel modo).


0

Sulla base della risposta di @ Lekensteyn, ho creato un collegamento all'interfaccia utente (nel menu Amministrazione se il tuo ambiente ne ha ancora uno). Utile se la tua tastiera non sembra mai funzionare fino a dopo il 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;
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.