- La shell UEFI consente di accedere e manipolare dispositivi, file e impostazioni. Boot direttamente dal firmware.
- Include comandi essenziale per la gestione del disco, la diagnostica, la creazione di script e la configurazione avanzata del sistema.
- È compatibile principalmente con i file system FAT16/FAT32 e la sua sintassi può variare a seconda del produttore.
- Conoscere bene la shell UEFI è fondamentale per la manutenzione, la personalizzazione e la riparazione dei computer moderni.

Oggi, un numero sempre maggiore di utenti esperti e professionisti ha bisogno di interagire con il firmware dei propri dispositivi, soprattutto durante la manutenzione, la risoluzione dei problemi o l'installazione del sistema operativo . In questo contesto, la shell UEFI (Unified Extensible Firmware Interface) si distingue come un potente strumento che offre un accesso diretto e flessibile a una serie di comandi e utilità essenziali per la gestione, la configurazione e la diagnosi dell'ambiente di avvio di un computer.
Tuttavia, nonostante la sua importanza, c'è un po' di confusione sul suo utilizzo e su quali comandi siano effettivamente utili nella shell UEFI . Se questo argomento ti sembra incomprensibile, o se hai già una certa esperienza e vuoi approfondire, ecco una guida dettagliata che raccoglie le informazioni più complete e aggiornate basate sulla documentazione ufficiale e sulle migliori fonti disponibili.
Cos'è esattamente la shell UEFI?
La shell UEFI funge da console, analogamente ad altri interpreti di comandi (come il vecchio DOS o il terminale Linux ), ma si trova direttamente all'interno dell'ambiente firmware della scheda madre. Da qui è possibile eseguire comandi per gestire le partizioni EFI, accedere ai file system, caricare i driver, avviare applicazioni .efi, modificare i file di configurazione e persino automatizzare sequenze tramite script . Oltre a tutto ciò, offre potenti opzioni di diagnostica e riparazione, rendendola una risorsa essenziale per amministratori e appassionati di hardware.
Perché utilizzare la shell UEFI?
Accedere alla shell UEFI può rivelarsi fondamentale quando è necessario modificare la sequenza di avvio , installare un boot manager personalizzato, diagnosticare problemi hardware, risolvere problemi di avvio o manipolare direttamente variabili e file del firmware. Inoltre, in molte installazioni di sistemi professionali, server o persino Hackintosh, questa console è l'unico modo per eseguire determinate configurazioni avanzate.
Tipi di comandi nella shell UEFI
L' ambiente UEFI offre un'ampia varietà di comandi e utility . Questi possono essere classificati in diverse categorie in base al loro scopo. Di seguito, analizziamo i più comuni e utili, suddivisi per area di utilizzo:
Comandi per esplorare e gestire unità e file
- fsX: Passare tra diverse partizioni riconosciute, dove X rappresenta il numero assegnato (esempio: fs0: per accedere alla prima partizione FAT16 o FAT32 riconosciuto). È essenziale per navigare tra dispositivi e file system dalla shell.
- cd: Consente di cambiare la directory corrente e di spostarsi all'interno della struttura dei file della partizione attiva.
- ls: Visualizza un elenco di file e cartelle nella directory corrente o specificata, molto utile per esplorare il contenuto dell'EFI.
- file di destinazione cp: Copia file o cartelle (con -r per la copia ricorsiva delle directory).
- mv : Sposta o rinomina file e cartelle.
- file/dir rm: Elimina file e directory.
- mkdir dir: Crea nuove directory nel percorso specificato.
- tipo di file: Visualizza il contenuto di un file in formato testo.
- modifica nome_file: Apre un semplice editor di testo per creare o modificare file direttamente dalla shell.
Comandi di mappatura e gestione dei dispositivi
- carta geografica: Elenca tutti i dispositivi e le partizioni accessibili dall'UEFI, assegnando nomi come fs0: per i file system o blk0: per i dispositivi a blocchi. Questo è essenziale per identificare la posizione dei dischi e delle partizioni EFI. Ad esempio, potresti visualizzare un output simile a questo:
fs0: VenHw(Dispositivo sconosciuto:00)/HD(Parte1,Sig00000000) blk0: VenHw(Dispositivo sconosciuto:00)
fsX: si riferisce ai file system FAT16/FAT32 accessibili, mentre blkX: identifica i dispositivi a blocchi rilevati dal firmware.
- monta BlkDevice: Se lo si desidera, è possibile montare un dispositivo a blocchi come file system con un alias.
- debito: Esegue un dump esadecimale dei dispositivi a blocchi, utile per l'ispezione di basso livello.
- albero dei dev: Mostra l'albero dei dispositivi disponibili, molto interessante per comprendere la topologia hardware.
Gestione dell'avvio e variabili EFI
- bcfg: Questo comando è fondamentale per la gestione delle opzioni di avvio nella NVRAM EFI. Permette di aggiungere, rimuovere o elencare voci di avvio e driver. Ad esempio, per aggiungere un bootloader personalizzato (come Clover), è possibile utilizzare:
bcfg boot add 0 fs1:\EFI\CLOVER\CLOVERX64.efi "Clover"
Dove 0 rappresenta la priorità, fs1 è la partizione in cui si trova il file .efi e l'ultimo argomento è il nome della voce nel menu di avvio. Per gestire le variabili EFI, è possibile consultare anche [link alla documentazione pertinente].
- dmpstore: Scarica il contenuto dell'archivio delle variabili EFI, semplificando la revisione o la modifica dei valori correnti.
- azzerare : Esegue un riavvio a freddo del sistema, utile dopo aver modificato impostazioni critiche.
Driver, protocolli e manutenzione
- connetti Handle#: Associa un driver EFI a un dispositivo e lo avvia.
- disconnetti DeviceHandle# ]: Scollegare il dispositivo dal controller, operazione importante quando si manipolano i driver o si diagnosticano incompatibilità.
- autisti : Visualizza i driver caricati nel sistema.
- drvcfg, drvdiag: Richiamano protocolli di configurazione e diagnostica per i controller, utili per il debug in ambienti complessi.
- caricapcirom, carica nome_driver: Caricano ROM opzionali PCI o driver aggiuntivi, consentendo di estendere la funzionalità del firmware.
- manutenzione di avvio: Avvia il gestore di manutenzione dell'avvio, un'utilità visiva per modificare le opzioni di avvio all'interno della shell.
Gestione della memoria e dumping dei dati
- dmem : Consente di visualizzare il contenuto di una posizione di memoria, ideale per il debug avanzato.
- ricordo: Esegue il dump della memoria o dell'I/O allocati.
- mappa dei ricordi: Visualizza la mappa della memoria di sistema, fornendo una panoramica della memoria utilizzata e libera.
- mm indirizzo: Permette di modificare le regioni di memoria, sia fisiche che MMIO. Tipicamente utilizzato da tecnici e sviluppatori.
Comandi relativi a data, ora e ambiente
- data : Visualizza o imposta la data di sistema.
- tempo : Controllare o regolare l'ora.
- vedere: Visualizza la versione corrente della shell UEFI.
- classi: Pulisce lo schermo del terminale, ideale per mantenere tutto in ordine quando si lavora a lungo sulla console.
- modalità : Imposta o interroga la modalità grafica corrente nella shell.
Comandi di scripting e automazione
- eco | ]: Visualizza il testo sullo schermo e controlla l'eco dei comandi all'interno degli script .nsh.
- se, altrimenti, fine se, per, fine per, vai al tag, pausa: Strutture di controllo di base per script automatizzati, che facilitano l'automazione di attività di routine o complesse nell'ambiente UEFI.
Diagnostica avanzata e test hardware
Alcuni ambienti UEFI, come quelli implementati da Oracle o su piattaforme aziendali, incorporano una CLI diagnostica con comandi specifici per il controllo dell'hardware del sistema. I più rilevanti sono:
- cfgtbl: Visualizza tutte le tabelle UEFI installate, essenziali per comprendere la struttura del firmware.
- cpu { cpuid | info | modello | velocità | simd | top | sysregs | idt | memcfg }: Esegue test e visualizza informazioni dettagliate sulla CPU.
- fpu: Esegue test unitari in virgola mobile.
- grafica: Visualizza le modalità grafiche disponibili o esegue test su di esse.
- memoria { test | informazioni }: Verifica e visualizza informazioni sulla RAM e sulle sue impostazioni.
- Rete: Visualizza le interfacce Ethernet o esegui test di connettività.
- rtc: Controlla la data e l'ora correnti nel formato 24 ore.
- archiviazione { info | mst | rrt | srt | rwv }: Analizza e testa i dispositivi immagazzinamento.
- sistema { acpi | info | inventario | symbios | cpuestockets | pelink }: Visualizza informazioni generali sul sistema, molto utile sui server.
- tpm: Visualizza i dettagli sul modulo di sicurezza (TPM) e i registri di accesso.
- usb: Elenca informazioni sui dispositivi USB e sugli hub.
Cose da tenere a mente quando si lavora con la shell UEFI
Alcune domande fondamentali da porsi prima di fare il grande passo:
- La shell UEFI, tranne in casi specifici, di solito funziona solo con partizioni formattate in FAT16 o FAT32. Se il file system del disco è NTFS, exFAT o qualsiasi altro, Questo ambiente non sarà in grado di accedervi.
- Per scoprire tutti i comandi disponibili nella tua versione della shell UEFI, puoi usare il comando o , a seconda della lingua e del firmware specifico.
Esempio pratico di utilizzo: aggiunta di un bootloader personalizzato
Uno dei motivi più comuni per utilizzare la shell UEFI è modificare la sequenza di avvio per caricare un bootloader personalizzato (ad esempio, Clover o OpenCore su Hackintosh o installazioni Linux personalizzate). Il processo di base è il seguente:
- Passare alla partizione EFI appropriata con fsX:
- Controlla il contenuto con ls o dir.
- Esegui comando bcfg avvio aggiungi , ad esempio:
bcfg boot add 0 fs1:\EFI\CLOVER\CLOVERX64.efi "Clover" - Verificare che la voce sia stata creata correttamente e riavviare il computer per verificare la modifica.
La shell UEFI è uno strumento estremamente versatile e potente. Padroneggiare i suoi comandi e le sue utilità non solo faciliterà le attività di manutenzione e risoluzione dei problemi, ma vi darà anche il controllo completo sul processo di avvio del sistema. La pratica e la sperimentazione in ambienti controllati sono i modi migliori per familiarizzare con il suo funzionamento e sfruttarne appieno le capacità.
Scrittore appassionato del mondo dei byte e della tecnologia in generale. Adoro condividere le mie conoscenze attraverso la scrittura, ed è quello che farò in questo blog, mostrarti tutte le cose più interessanti su gadget, software, hardware, tendenze tecnologiche e altro ancora. Il mio obiettivo è aiutarti a navigare nel mondo digitale in modo semplice e divertente.