Le schede madri UEFI di nuova generazione sono dotate di shell interattivo UEFI. La shell interattiva UEFI è un semplice programma di shell (come bash) responsabile per l'avvio del sistema operativo. È inoltre possibile utilizzare la shell interattiva UEFI per eseguire comandi e script shell EFI. Può essere utilizzato per aggiornare anche il firmware di sistema della scheda madre.
Questo articolo ti mostrerà come accedere alla shell interattiva UEFI sulle schede madri UEFI e utilizzare alcuni dei comandi EFI comuni sulla shell interattiva UEFI. Quindi iniziamo.
Sommario:
Cose che devi sapere:
Ho usato 2 diversi istruzioni per scrivere i comandi EFI Shell in questo articolo.
Shell> - Ho usato questo prompt per i comandi che puoi eseguire da qualsiasi luogo.
fs1: \*> - Ho usato questo prompt per chiarire che è necessario selezionare un determinato dispositivo di archiviazione (FS1 in questo caso) o essere in una directory specifica prima di eseguire i comandi.
Assicurati di tenerlo a mente mentre leggi questo articolo.
Leggendo le unità di pollice USB da UEFI Shell:
Il guscio interattivo UEFI può leggere le unità di pollice USB se lo formati come FAT16 o FAT32. Quindi, supponiamo di aver scritto alcuni script EFI o scaricato eventuali script EFI dal sito Web ufficiale del produttore della scheda madre. In tal caso, dovrai metterli in una guida USB FAT16 o FAT32 per accedervi ed eseguirli dalla shell interattiva UEFI.
Avvio della shell interattiva UEFI:
Innanzitutto, spegne il computer. Quindi, alimenta il tuo computer. Subito dopo aver premuto il pulsante di accensione, continua a premere il tasto o la tastiera per accedere al firmware BIOS/UEFI della scheda madre.
Quindi, nella sezione di selezione dell'avvio del firmware BIOS/UEFI della scheda madre, è necessario trovare un'opzione per inserire la shell interattiva UEFI.
Sul mio computer a bordo singola Odyssey X86, l'opzione è in SAVE & EXIT> UEFI: Shell EFI integrata, come puoi vedere nell'immagine seguente.
L'opzione è la shell interna EFI sulla mia macchina virtuale VMware, come puoi vedere nello screenshot seguente.
Quando si inserisce la shell interattiva UEFI per la prima volta, stamperà tutti i dispositivi di archiviazione rilevata, come puoi vedere nello screenshot seguente.
Una volta che si preme un tasto diverso da o attendi 5 secondi, la shell EFI dovrebbe essere pronta per eseguire i comandi.
Nelle sezioni successive, ti mostrerò come utilizzare alcuni dei comandi di shell EFI più comuni. Quindi, andiamo avanti.
Il comando CLS:
Il comando CLS viene utilizzato principalmente per cancellare le uscite dello schermo.
Potresti avere molti testi sullo schermo, come puoi vedere nello screenshot qui sotto.
Per cancellare i testi dello schermo, eseguire il comando CLS come segue:
Shell> Cls
I testi sullo schermo dovrebbero essere cancellati.
Puoi anche cambiare il colore di sfondo della shell EFI usando il comando CLS.
Per modificare il colore di sfondo di EFI Shell, eseguire il comando CLS come segue:
Shell> Cls
Al momento di questo documento, il comando CLS supporta quanto segue .
0 - Nero
1 - Blu
2 - Verde
3 - Ciano
4 - Rosso
5 - Magenta
6 - Giallo
7 - Grigio chiaro
Ad esempio, per modificare il colore di sfondo in blu (1), eseguire il comando CLS come segue:
Shell> CLS 2
Il colore di sfondo dovrebbe essere modificato in blu (1), come puoi vedere nello screenshot seguente.
Per modificare il colore di sfondo in nero, eseguire il comando CLS come segue:
Shell> CLS 0
Il colore di sfondo dovrebbe essere modificato in nero (0), come puoi vedere nello screenshot seguente.
Il comando Echo:
Il comando Echo viene utilizzato per stampare una riga di testo sulla shell EFI.
Ad esempio, per stampare il Testo Hello World, eseguire il comando Echo come segue:
Shell> Echo "Hello World"
Come puoi vedere, il Testo Hello World è stampato sulla shell EFI.
Se lo desideri, puoi scegliere di non utilizzare anche le citazioni.
Il comando alias:
È possibile elencare tutti gli alias di comando della shell EFI con il comando alias.
Per elencare tutti gli alias di comando della shell EFI, eseguire il comando alias come segue:
Shell> alias
Come puoi vedere, sono elencati tutti gli alias di comando shell EFI.
È inoltre possibile utilizzare il comando alias per creare o eliminare gli alias.
Per creare un comando alias print_hello che esegue il comando Echo Hello World, è possibile eseguire il comando alias come segue:
Shell> alias Print_Hello "Echo Hello World"
Come puoi vedere, viene creato un nuovo alias print_hello.
Ora puoi eseguire il comando print_hello come segue:
Shell> Print_Hello
Per impostazione predefinita, gli alias creati sopravviveranno al sistema riavviato. Questa è una buona cosa, ovviamente. Ma se non desideri che i tuoi alias sopravvivono al sistema, puoi creare un alias volatile usando l'opzione -v.
È possibile creare lo stesso alias Print_Hello di un alias volatile usando l'opzione -v come segue:
Shell> alias -v print_hello "echo hello world"
È possibile eliminare un alias usando l'opzione -D del comando alias.
Per eliminare Alias Print_Hello, eseguire il comando alias usando l'opzione -d come segue:
Shell> alias -d print_hello
Come puoi vedere, Alias Print_Hello viene rimosso dall'elenco alias.
Shell> alias
Il comando di aiuto:
Il comando Help viene utilizzato per trovare comandi Shell EFI usando i pattern.
Ad esempio, per trovare tutti i comandi Shell EFI che iniziano con M, è possibile eseguire il comando di aiuto come segue:
Shell> help m*
Tutti i comandi EFI Shell che iniziano con M sono elencati, come puoi vedere nello screenshot seguente.
Allo stesso modo, puoi trovare tutti i comandi della shell EFI che si concludono con M come segue:
Shell> help *m
Tutti i comandi EFI shell che terminano con m sono elencati, come puoi vedere nello screenshot seguente.
Puoi anche imparare a utilizzare un comando EFI Shell, quali opzioni supportano e cosa ogni opzione utilizza il comando Guida. Infine, puoi confrontarlo con il comando di Linux Man.
Ad esempio, per imparare a utilizzare il comando alias, eseguire il comando di aiuto come segue:
Shell> Aiuta alias
Molte informazioni sul comando di aiuto dovrebbero essere visualizzate.
Se le informazioni di aiuto di un determinato comando sono molto lunghe, è possibile premere le chiavi della tastiera per scorrere su e giù, rispettivamente.
Se l'output è troppo lungo, allora avrai bisogno di un cercapersone per leggerlo. Ancora una volta, puoi confrontarlo con il programma Linux Less. Ma a differenza del programma Linux Meno, la pagina per pagina per Pager Shell Shell EFI invece delle righe.
Per utilizzare un cercapersone per il comando Help, utilizzare l'opzione -B del comando di aiuto come segue:
Shell> help -b alias
Le informazioni di utilizzo del comando alias vengono visualizzate in un cercapersone, come puoi vedere nello screenshot seguente.
Puoi premere per andare alla pagina successiva.
Per chiudere il cercapersone, premere Q e quindi premere .
Il comando set:
Il comando set viene utilizzato per elencare tutte le variabili di ambiente disponibili della shell EFI.
Per elencare tutte le variabili di ambiente disponibili della shell EFI, eseguire il comando set come segue:
Shell> Set
Tutte le variabili di ambiente della shell EFI sono elencate, come puoi vedere nello screenshot seguente.
Puoi anche creare le tue variabili di ambiente EFI Shell.
Per creare un file variabile EFI Shell Environment con l'avvio del contenuto.IMG, eseguire il comando set come segue:
Shell> Imposta avvio file.img
Il file variabile di ambiente è impostato, come puoi vedere nello screenshot seguente.
Per impostazione predefinita, le variabili di ambiente di shell EFI che creano sopravviveranno al sistema di riavvio del sistema. Tuttavia, è possibile creare variabili volatili di ambiente con shell EFI utilizzando l'opzione SET -V -V del comando se non lo si desidera.
Ad esempio, per creare la stessa variabile di ambiente di file di una variabile di ambiente volatile, eseguire il comando set come segue:
Shell> Imposta immagine del file -v.stivale
È possibile rimuovere anche le variabili di ambiente con shell EFI.
Per rimuovere il file della variabile ambientale EFI Shell, eseguire il comando SET come segue:
Shell> set -d file
La variabile dell'ambiente del file non dovrebbe essere più disponibile, come puoi vedere nello screenshot seguente.
Shell> Set
Il comando della mappa:
Il comando della mappa stampica la tabella di mappatura di tutti i dispositivi di archiviazione del computer. Dalla tabella di mappatura, è possibile trovare il nome del dispositivo dei dispositivi di archiviazione del computer. Per accedere a un dispositivo di archiviazione dalla shell EFI, è necessario il nome del dispositivo di quel dispositivo di archiviazione.
Per elencare tutti i dispositivi di archiviazione del computer dalla shell EFI, eseguire il comando mappa come segue:
Shell> Mappa
Tutti i dispositivi di archiviazione e il loro nome dovrebbero essere elencati, come puoi vedere nello screenshot seguente.
Se si inserisce un nuovo dispositivo di archiviazione come un'unità di pollice USB sul tuo computer, non verrà automaticamente elencato nella tabella di mappatura. Invece, dovrai aggiornare manualmente la tabella di mappatura.
È possibile aggiornare la tabella di mappatura della shell EFI usando l'opzione -r del comando mappa come segue:
Shell> mappa -r
La tabella di mappatura della shell EFI deve essere aggiornata e il nuovo dispositivo di archiviazione dovrebbe essere elencato nella nuova tabella di mappatura, come puoi vedere nello screenshot seguente.
I comandi CD e LS:
È possibile selezionare un dispositivo di archiviazione utilizzando il nome del dispositivo di archiviazione.
Ad esempio, per selezionare il dispositivo di archiviazione FS1, è possibile eseguire il seguente comando:
Shell> FS1:
Il prompt dovrebbe essere modificato in FS1: \> come puoi vedere nello screenshot seguente.
Ora puoi elencare tutti i file e le directory che hai sul dispositivo di archiviazione FS1 (la directory di lavoro corrente) come segue:
fs1: \> ls
Come puoi vedere, sono elencati tutti i file e le directory del dispositivo di archiviazione FS1.
È inoltre possibile utilizzare i percorsi di directory relativi con il comando LS per elencare i file e le directory di quella directory.
Ad esempio, per elencare i file e le directory della directory Scripts \ (relativa alla directory di lavoro corrente), è possibile eseguire il comando LS come segue:
FS1: \> script LS
I file e le directory degli script \ directory devono essere elencati.
La directory degli script è vuota nel mio caso.
Puoi usare anche percorsi assoluti con il comando LS.
Ad esempio, per elencare tutti i file e le directory del dispositivo di archiviazione FS0, eseguire il comando LS come segue:
Shell> LS FS0:
Tutti i file e le directory del dispositivo di archiviazione FS0 devono essere elencati, come puoi vedere nello screenshot seguente.
È possibile elencare file e directory in modo ricorsivo utilizzando l'opzione -r del comando LS.
Ad esempio, per elencare tutti i file e le directory del dispositivo di archiviazione FS0, eseguire il comando LS come segue:
Shell> ls -r fs0:
Tutti i file e le directory del dispositivo di archiviazione FS0 devono essere elencati in modo ricorsivo, come puoi vedere nello screenshot seguente.
Se l'elenco del file e delle directory è troppo lungo per adattarsi allo schermo, è possibile utilizzare l'opzione -B del comando LS per utilizzare un cercapersone.
È possibile elencare tutti i file e le directory del dispositivo di archiviazione FS0 e utilizzare un cercapersone per l'output come segue:
Shell> ls -r -b fs0:
Il comando LS dovrebbe utilizzare un cercapersone per visualizzare l'output, come mostrato nello screenshot seguente.
È possibile utilizzare il comando CD per passare a una directory diversa del dispositivo di archiviazione selezionato. Questo renderà i tuoi comandi più brevi in quanto non dovrai digitare percorsi di directory lunghi.
Ad esempio, per passare alla directory di script \ del dispositivo di archiviazione selezionato FS1, è possibile eseguire il comando CD come segue:
FS1: \> Script CD
L'attuale directory di lavoro dovrebbe essere modificata in FS1: \ Scripts \, come puoi vedere nello screenshot seguente.
Per tornare indietro di una directory - alla directory genitore, è possibile eseguire il comando CD come segue:
FS1: \ Scripts> CD ..
Dovresti essere una directory verso l'alto, come puoi vedere nello screenshot qui sotto.
Il comando CP:
Il comando CP viene utilizzato per copiare i file da un dispositivo di archiviazione a un altro o all'interno dello stesso dispositivo di archiviazione.
Ho un ciao.file txt nel dispositivo di archiviazione FS1, come puoi vedere nello screenshot seguente.
fs1: \> ls
Per creare una nuova copia di Hello.txt, eseguire il comando CP come segue:
fs1: \> cp ciao.txt hello2.TXT
Un nuovo file Hello2.txt dovrebbe essere creato e il contenuto del ciao.Il file txt deve essere copiato su hello2.file txt.
fs1: \> ls
Se vuoi copiare il ciao.file txt sugli script \ directory sullo stesso dispositivo di archiviazione utilizzando un percorso di directory relativo, eseguire il comando CP come segue:
fs1: \> cp ciao.Script txt
Come puoi vedere, il ciao.Il file txt viene copiato nella directory scripts \.
FS1: \> script LS
Puoi anche usare un percorso assoluto per copiare il ciao.file txt nella directory \ scripts come segue:
fs1: \> cp \ ciao.TXT \ Scripts
Poiché il file esiste già, il comando CP ti chiederà se si desidera sovrascriverlo.
Se si desidera sovrascrivere il file, premere y e quindi premere .
Se non si desidera sovrascrivere il file, premere N e quindi premere .
Se si desidera sovrascrivere tutti i file che già esistono, premere A e quindi premere .
Se non sai cosa fare, premere C e premere per annullare l'operazione di copia.
Il ciao.Il file TXT deve essere copiato nella directory \ Scripts.
Allo stesso modo, se vuoi copiare il ciao.File TXT nella directory principale di un altro dispositivo di archiviazione FS0, è possibile eseguire il comando CP come segue:
fs1: \> cp ciao.txt fs0: \
Come puoi vedere, il ciao.Il file TXT viene copiato alla radice del dispositivo di archiviazione FS0.
Shell> ls fs0: \
È inoltre possibile copiare ricorsivamente il contenuto di una directory in un'altra directory o dispositivo di archiviazione utilizzando l'opzione -r del comando CP.
Per copiare ricorsivamente il contenuto della directory FS0: \ EFI nel dispositivo di archiviazione FS1, eseguire il comando CP come segue:
Shell> cp -r fs0: \ efi \ fs1: \
Tutti i file e le directory nella directory FS0: \ EFI devono essere copiati nel dispositivo di archiviazione FS1, come puoi vedere nello screenshot seguente.
Come puoi vedere, le directory Ubuntu \ e Boot \ dalla directory FS0: \ EFI sono copiate in modo ricorsivo nel dispositivo di archiviazione FS1.
Shell> ls fs0: \ efi
Shell> ls fs1: \
Se si desidera copiare la directory FS0: \ EFI e il contenuto di tale directory sul dispositivo di archiviazione FS1, eseguire il comando CP come segue:
Shell> cp -r fs0: \ efi fs1: \
Come puoi vedere, la directory FS0: \ EFI viene copiata ricorsivamente nel dispositivo di archiviazione FS1.
Shell> ls fs0: \
Shell> ls fs1: \
Il comando MV:
Il comando MV funziona allo stesso modo del comando CP. L'unica differenza è che il comando MV sposta i file o le directory dall'origine alla destinazione invece di copiarli.
Poiché il comando MV e il comando CP sono simili, non li spiegherò qui. Basta leggere la sezione Comando CP e sostituire i comandi CP con il comando MV. Sarai a posto.
C'è un altro caso d'uso per il comando MV. Il comando MV viene utilizzato anche per rinominare file e directory.
Ad esempio, per rinominare il file Hello2.txt to hello3.txt, eseguire il comando MV come segue:
FS1: \> MV Hello2.txt hello3.TXT
Il hello2.txt dovrebbe essere rinominato Hello3.TXT.
Come puoi vedere, Hello2.Il file TXT non è più nel dispositivo di archiviazione FS1 ed è stato rinominato Hello3.TXT.
fs1: \> ls
Allo stesso modo, è possibile rinominare una directory usando il comando MV.
Ad esempio, per rinominare la directory Ubuntu \ a Debian \, eseguire il comando MV come segue:
FS1: \> MV Ubuntu Debian
Come puoi vedere, la directory Ubuntu \ viene rinominata a Debian \.
fs1: \> ls
Il comando RM:
Il comando RM viene utilizzato per rimuovere file e directory dai dispositivi di archiviazione.
Per rimuovere un file Hello3.txt dal dispositivo di archiviazione FS1, eseguire il comando RM come segue:
fs1: \> rm hello3.TXT
Il hello3.Il file txt deve essere rimosso.
Come puoi vedere, Hello3.Il file TXT non è più nel dispositivo di archiviazione FS1.
fs1: \> ls
Allo stesso modo, è possibile rimuovere la directory Debian \ dal dispositivo di archiviazione FS1 come segue:
FS1: \> RM Debian
Mentre stai rimuovendo una directory che può contenere altri file e directory, il comando RM ti chiede se si desidera rimuoverli. Questa è una misura di sicurezza in modo da non eliminare accidentalmente file importanti.
Per confermare l'operazione di rimozione, premere Y e quindi premere .
La directory debian \ e il suo contenuto dovrebbero essere rimosse.
Come puoi vedere, la directory Debian \ non è più disponibile nel dispositivo di archiviazione FS1.
fs1: \> ls
Il comando di modifica:
La shell EFI viene fornito con un programma di editor di testo di base chiamato EFI Editor. È molto utile in quanto è possibile modificare i file di configurazione molto facilmente dalla shell EFI.
Puoi aprire il ciao.file txt dal dispositivo di archiviazione FS1 con il programma EFI Editor come segue:
fs1: \> modifica ciao.TXT
Il ciao.Il file TXT deve essere aperto con il programma EFI Editor. Puoi modificare il tuo file di testo/configurazione da qui.
Una volta che hai modificato il ciao.file txt, premi seguito da salvare il file.
Il file ciao.txt dovrebbe essere salvato.
Per chiudere il programma EFI Editor, premere .
Se hai modifiche non salvate, il programma EFI Editor ti chiederà se vuoi salvarle.
Premere Y per salvare le modifiche e chiudere il programma EFI Editor.
Premi N per scartare le modifiche e chiudere il programma EFI Editor.
Premi C se hai cambiato idea e non vuoi più chiudere il programma EFI Editor.
Il programma EFI Editor ha molte altre incredibili funzionalità. Sfortunatamente, è fuori dall'ambito di questo articolo mostrarli tutti.
Puoi guardare in fondo al programma EFI Editor e dovresti trovare tutte le informazioni necessarie per utilizzare le altre funzionalità del programma EFI Editor. Inoltre, è possibile confrontare il programma EFI Editor con Nano Text Editor di Linux. È fantastico.
Il comando di uscita:
Il comando di uscita viene utilizzato per chiudere la shell EFI torna al firmware BIOS/UEFI della scheda madre.
Per chiudere la shell EFI, eseguire il comando di uscita come segue:
Shell> uscita
Sarebbe meglio se fossi tornato al firmware BIOS/UEFI della tua scheda madre, come puoi vedere nello screenshot qui sotto.
Il comando di ripristino:
Il comando di ripristino viene utilizzato per ripristinare o riavviare il computer.
Per riavviare il computer dalla shell EFI, eseguire il comando di ripristino come segue:
Shell> reset
Il comando di ripristino può anche essere utilizzato per chiudere il computer.
Per spegnere il computer dalla shell EFI, eseguire il comando di ripristino con l'opzione -s come segue:
Shell> reset -s
Altri comandi EFI Shell:
Ci sono molti altri comandi EFI Shell. È fuori dall'ambito di questo articolo per coprirli tutti. Ma puoi leggere la documentazione EFI Shell [1] per conoscerli. È inoltre possibile utilizzare il comando Guida per scoprire i comandi EFI Shell disponibili. È possibile utilizzare il comando di aiuto per leggere anche la documentazione dei comandi EFI Shell. La documentazione di EFI Shell è molto estesa e piena di informazioni ed esempi. È anche molto semplice e facile da seguire. Non dovresti avere problemi a leggerlo.
Reindirizzamento in uscita:
Proprio come bash e altre shell Linux, la shell EFI supporta anche il reindirizzamento dell'uscita. Pertanto, è possibile reindirizzare l'output di un comando EFI shell in un file utilizzando la funzione di reindirizzamento dell'output della shell EFI.
Ad esempio, è possibile reindirizzare l'output del comando Echo "Hello World" a un messaggio di file.txt come segue:
fs1: \> echo "ciao mondo"> messaggio.TXT
Un nuovo messaggio di file.TXT dovrebbe essere creato, come puoi vedere nello screenshot seguente.
fs1: \> ls
Come puoi vedere, ha il contenuto Hello World.
FS1: \> Modifica messaggio.TXT
Se si desidera aggiungere (aggiungere alla fine di un file) l'output di un altro comando eco "buona fortuna" (diciamo) al messaggio.file txt, è possibile utilizzare il simbolo >> anziché il simbolo> come segue:
fs1: \> echo "buona fortuna" >> messaggio.TXT
Come puoi vedere, la buona fortuna del testo viene aggiunta alla fine del messaggio.file txt.
FS1: \> Modifica messaggio.TXT
Allo stesso modo, è possibile reindirizzare l'output del comando della mappa dell'aiuto in un file mappa-elp.txt come segue:
FS1: \> Guida mappa>-Help.TXT
Come puoi vedere, un nuovo file mappa del file.txt è stato creato.
fs1: \> ls
Come puoi vedere, l'output del comando della mappa dell'aiuto viene reindirizzato alla mappa-HELP.file txt.
FS1: \> Modifica mappa-elp.TXT
NOTA: Quando si esegue il reindirizzamento dell'uscita, è necessario ricordare la differenza tra il simbolo> e >>. È molto importante. Se non hai abbastanza conoscenza di questi simboli, potresti perdere dati importanti.
Supponiamo che tu abbia eseguito il seguente comando su EFI Shell:
Shell> comando> file
Qui, il simbolo> reindirizzerà l'output del comando al file. Se il file non esiste, verrà creato. Se il file esiste, il contenuto del file verrà sostituito con l'output del comando. Questo è molto importante da ricordare.
Ora, supponiamo che tu abbia eseguito il comando EFI Shell sopra usando il simbolo >> come segue:
Shell> comando >> file
Qui, il simbolo >> aggiungerà (aggiungi alla fine del file) l'output del comando nel file se il file esiste. Se il file non esiste, verrà creato e l'output del comando viene aggiunto al file.
Quindi, se il file non esiste, il simbolo> e >> farà la stessa cosa: creare il file e aggiungere l'output del comando al file.
Se hai molti file sul tuo dispositivo di archiviazione, non è troppo difficile commettere un errore e perdere dati importanti. Quindi, consiglio di utilizzare il simbolo >> invece del simbolo> per il reindirizzamento dell'uscita a meno che non si disponga di requisiti specifici. Quindi, farà la stessa cosa. In questo modo, se commetti errori, puoi sempre rimuovere le linee extra che sono state aggiunte al file per tornare allo stato precedente.
Conclusione:
Questo articolo mostra come avviare la shell interattiva UEFI e utilizzare i comandi comuni della shell EFI. Ti ho anche mostrato come utilizzare la funzione di reindirizzamento dell'uscita della shell EFI. Infine, ti ho mostrato come accedere ai dispositivi di archiviazione del tuo computer dalla shell EFI e come creare, copiare, spostare, rinominare e modificare i file dalla shell EFI. Questo articolo dovrebbe aiutarti a iniziare con i comandi di shell interattivo UEFI e shell EFI.
Riferimenti:
[1] Manuale di riferimento del comando shell - Intel
[2] Istruzioni di base per l'utilizzo dell'interfaccia del firmware estensibile (EFI)