Die EFI-Shell ist eine Befehlszeilenschnittstelle, die im Rahmen der UEFI-Firmware (Unified Extensible Firmware Interface) verwendet wird. Sie ermöglicht die Ausführung von EFI-Anwendungen, das Verwalten von Startvariablen und das Laden von Gerätetreibern. Viele Systeme haben eine integrierte EFI-Shell, oder sie kann über einen USB-Stick gestartet werden.
Was ist die EFI-Shell?
Die EFI-Shell ist eine Art Kommandozeile innerhalb der UEFI-Firmware. Sie bietet eine Umgebung, um verschiedene Aufgaben auszuführen, die mit der Firmware und dem Startvorgang des Computers zusammenhängen.
Wofür wird die EFI-Shell verwendet?
- Starten von EFI-Anwendungen: Die Shell kann verwendet werden, um EFI-Anwendungen, wie z.B. Bootloader oder Diagnosewerkzeuge, zu starten.
Firmware-Aktualisierung:
Viele Systeme nutzen die EFI-Shell, um BIOS- oder Firmware-Updates durchzuführen.
Gerätetreiber laden:
Die Shell kann verwendet werden, um UEFI-Treiber zu laden und zu verwalten.
Startreihenfolge ändern:
Die EFI-Shell bietet Befehle, um die Startreihenfolge von Geräten zu ändern.
Dateiverwaltung:
Die Shell bietet grundlegende Befehle zur Dateiverwaltung.
NVRAM-Verwaltung:
Die EFI-Shell kann verwendet werden, um Variablen im NVRAM (Non-Volatile RAM) zu lesen und zu schreiben.
Wie erhalte ich Zugang zur EFI-Shell?
- Integrierte Shell: Viele Systeme haben eine integrierte EFI-Shell, die im BIOS oder UEFI-Setup aktiviert werden kann (oft über F2 oder Entf beim Start).
USB-Stick:
Wenn keine integrierte Shell vorhanden ist, kann ein USB-Stick mit einer EFI-Shell verwendet werden.
- Dazu wird ein USB-Stick mit FAT32 formatiert und die Datei
Shell.efi(oder umbenannt inBootx64.efi) in das Verzeichnisefi/boot/kopiert.
Im BIOS muss dann das Booten von diesem USB-Stick aktiviert sein.
| autoboot | Festlegen / Anzeigen der Autoboot-Timeout-Variablen |
| bcfg | Anzeigen / Ändern der Treiber- / Startkonfiguration |
| boottest | BootTest-Bits setzen / anzeigen |
| lanboot | Booten über das LAN |
| reconfigreset | Heruntersetzen des System (nPartition) zur Neukonfiguration. Die nPartition bleibt im Status „Herunterfahren für Neukonfiguration“ inaktiv |
| reset | System zurücksetzen (nPartition) |
| search | Treiber für bootfähige Geräte suchen |
| Konfigurations Befehle | |
|---|---|
| acpiconfig | ACPI-Konfigurationsmodus einstellen / anzeigen |
| cellconfig | Zellen dekonfigurieren / neu konfigurieren. (Legen Sie die Werte für die Verwendung der Zelle beim nächsten Start fest.) |
| cpuconfig | Deconfigure/reconfigure CPUs |
| date | Zeigt das aktuelle Datum an oder stellt das Datum des Systems ein |
| dimmconfig | Speicher dekonfigurieren / neu konfigurieren (DIMMs) |
| err | Fehlerstufe anzeigen / ändern |
| errdump | Protokolle (LOGS) anzeigen / löschen |
| fru | FRU-Daten anzeigen |
| info | Hardware-Informationen anzeigen |
| monarch | Set/view a monarch processor |
| palproc | Make a PAL call |
| romdrivers | Enable/disable PCI expansion ROM drivers |
| rootcell | Set/view preferred root cells. (Set nPartition core cell choices.) |
| salproc | Make a SAL call |
| tftp | Performs TFTP operation to a bootp/DHCP enabled Unix boot server |
| time | Display the current time or set the time of the system (nPartition). EFI time is set and presented in GMT (Greenwich mean time) |
| variable | Save/restore specific EFI variables |
| ver | Firmware Version anzeigen |
| Geräte und Treiber Befehle | |
| baud | View serial port com settings |
| connect | Treiber mit Gerät verbinden |
| dblk | Hex dump of BlkIo devices |
| devices | erkannte PCI, PCIe Geräte anzeigen |
| devtree | erkannte PCI, PCIe Geräte als Baum anzeigen |
| dh | Dump handle info |
| disconnect | Disconnect driver(s) from device(s) |
| drivers | geladene Geräte und Dateisystemtreiber anzeigen |
| drvcfg | Invoke the Driver Config Protocol |
| drvdiag | Invoke the Driver Diagnostics Protocol |
| guid | Dump known GUID IDs |
| lanaddress | Display core I/O MAC address |
| load | EFI Treiber laden |
| unload | EFI Treiber aus Speicher entfernen |
| map | erkannte Massenspeicher anzeigen |
| openinfo | Display the open protocols for given handle |
| pci | Display PCI devices or PCI function configuration space |
| reconnect | Reconnect driver(s) from a device |
| Dateisystem Befehle | |
| attrib | Display/change the attributes of files/directories |
| cd | Verzeichnis wechseln |
| comp | zwei Dateien vergleichen |
| ls | Datei|Verzeichnis anzeigen |
| cp | Datei|Verzeichnis kopieren |
| mv | Datei|Verzeichnis verschieben |
| rm | Datei|Verzeichnis löschen |
| edit | Edit an ASCII or UNICODE file in full screen |
| eficompress | Compress infile and write to outfile |
| efidecompress | Decompress infile and write to outfile |
| hexedit | Edit a file, block device, or memory region using hex |
| mkdir | Create one or more directories |
| mount | Block-Dateisystem einbinden |
| setsize | Set the size of a file |
| smbiosview | System Management BIOS anzeigen |
| touch | Update time of file/directory with current time |
| type | Dateiinhalt anzeigen |
| vol | Display volume information of the file system |
| Memory Befehle | |
| default | Set the default NVRAM values |
| dmem | Dump memory or memory mapped IO |
| dmpstore | Inhalt des NVRAMs anzeigen |
| memmap | Display the memory map |
| mm | Display/modify MEM/IO/PCI |
| pdt | View/clear partition or cell PDT |
| andere Befehle | |
| alias | Set/get alias settings |
| cls | Clear the standard output with an optional background color |
| exit | Shell verlassen |
| getmtc | Display current monotonic counter value |
| help oder ? | Hilfe zeigen |
| mode | Display the mode of the console output device |
| set | Set/Get environment variable |
| xchar | Turn on/off extended character features |
| Shell Script Befehle | |
| echo | Echo message to stdout or toggle script echo |
| else | Script-only: Use with IF THEN |
| endfor | Script-only: Delimiter for FOR loop construct |
| endif | Script-only: Delimiter for IF THEN construct |
| for | Script-only: Loop construct |
| goto | Script-only: Jump to label location in script |
| if | Script-only: IF THEN construct |
| input | Take user input and place in efi variable |
| pause | Script-only: Prompt to quit or continue |
| stall | Stall the processor for some microseconds |
