- O shell UEFI permite que você acesse e manipule dispositivos, arquivos e configurações. Bota diretamente do firmware.
- Inclui comandos essencial para gerenciamento de disco, diagnóstico, scripts e configuração avançada do sistema.
- Ele é compatível principalmente com sistemas de arquivos FAT16/FAT32 e sua sintaxe pode variar entre os fabricantes.
- Dominar o shell UEFI é essencial para manter, personalizar e reparar computadores modernos.
Hoje em dia, usuários cada vez mais avançados e profissionais precisam interagir com o firmware de seus dispositivos, especialmente durante manutenção, solução de problemas ou instalação de novos dispositivos. OS. Neste contexto, o Shell UEFI (Unified Extensible Firmware Interface) se destaca como uma ferramenta poderosa que oferece acesso direto e flexível a uma série de comandos e utilitários essenciais para gerenciar, configurar e diagnosticar o ambiente de inicialização de um computador.
Entretanto, apesar de sua relevância, há certa confusão sobre sua utilização e quais são seus reais valores. Comandos úteis no shell UEFISe este tópico lhe parece chinês, ou se você já tem alguma experiência e quer ir mais longe, aqui está uma guia em profundidade que compila as informações mais completas e atualizadas com base em documentação oficial e nas melhores fontes disponíveis.
O que exatamente é o shell UEFI?
El Shell UEFI Ele atua como um console semelhante a outros interpretadores de comando (como o antigo DOS ou o terminal de Linux), mas localizado no ambiente de firmware da sua placa-mãe. A partir daqui, você pode executar comandos para Gerencie partições EFI, acesse sistemas de arquivos, carregue drivers, inicie aplicativos .efi, edite arquivos de configuração e até automatize sequências por meio de scripts.. Além de tudo isso, ele oferece poderosas opções de diagnóstico e reparo, tornando-se um recurso fundamental para administradores e entusiastas. Hardwares.
Por que usar o shell UEFI?
acesso Shell UEFI Pode ser uma tábua de salvação quando você precisar modificar a sequência de inicialização, instalar um bootloader personalizado, diagnosticar hardware, solucionar problemas de inicialização ou manipular diretamente variáveis e arquivos de firmware. Além disso, em muitas instalações profissionais de sistemas, servidores ou até mesmo de Hackintosh, este console é a única maneira de realizar determinadas configurações avançadas.
Tipos de comandos no shell UEFI
No Ambiente UEFI uma grande variedade de disponíveis comandos e utilitáriosEles podem ser classificados em diferentes categorias de acordo com sua finalidade. Abaixo, analisamos os mais comuns e úteis, divididos por área de uso:
Comandos para explorar e gerenciar unidades e arquivos
- fsX: Alternar entre diferentes partições reconhecidas, onde X representa o número atribuído (exemplo: fs0: para acessar a primeira partição FAT16 ou FAT32 reconhecido). É essencial para navegar entre dispositivos e sistemas de arquivos a partir do shell.
- cd: Permite que você altere o diretório atual e navegue dentro da estrutura de arquivos da partição ativa.
- ls: Exibe uma lista de arquivos e pastas no diretório atual ou especificado, muito útil para explorar o conteúdo do EFI.
- arquivo(s) de destino cp: Copiar arquivos ou pastas (com -r para cópia recursiva de diretório).
- mv: Mover ou renomear arquivos e pastas.
- arquivo/diretório rm: Excluir arquivos e diretórios.
- mkdir diretório: Cria novos diretórios no caminho especificado.
- tipo de arquivo: Exibe o conteúdo de um arquivo em formato de texto.
- editar nome_do_arquivo: Abre um editor de texto simples para criar ou modificar arquivos diretamente do shell.
Comandos de mapeamento e gerenciamento de dispositivos
- mapa: Lista todos os dispositivos e partições acessíveis pela UEFI, atribuindo nomes como fs0: para sistemas de arquivos ou blk0: para dispositivos de bloco. Isso é essencial para identificar a localização de discos e partições EFI. Por exemplo, você pode ver uma saída como:
fs0: VenHw(Dispositivo Desconhecido:00)/HD(Parte1,Sig00000000) blk0: VenHw(Dispositivo Desconhecido:00)
fsX: refere-se a sistemas de arquivos FAT16/FAT32 acessíveis, enquanto blkX: Identifica dispositivos de bloco detectados pelo firmware.
- montar BlkDevice: Monte um dispositivo de bloco como um sistema de arquivos com um alias, se desejar.
- deblk: Executa um despejo hexadecimal de dispositivos de bloco, útil para inspeção de baixo nível.
- devtree: Ela mostra a árvore de dispositivos disponíveis, muito interessante para entender a topologia do hardware.
Gerenciamento de inicialização e variáveis EFI
- bcfg: Este comando é essencial para gerenciar as opções de inicialização na NVRAM EFI. Ele permite adicionar, remover ou listar entradas de inicialização e driver. Por exemplo, para adicionar um bootloader personalizado (como o Clover), você pode usar:
bcfg boot add 0 fs1:\EFI\CLOVER\CLOVERX64.efi "Clover"
onde 0 é a prioridade, fs1: a partição onde o arquivo .efi está localizado, e o último argumento é o nome da entrada do menu de inicialização. Para gerenciar variáveis EFI, você também pode consultar .
- dmpstore: Despeja o conteúdo do armazenamento de variáveis EFI, facilitando a revisão ou edição dos valores atuais.
- redefinir : Executa uma reinicialização a frio do sistema, útil após modificar configurações críticas.
Drivers, protocolos e manutenção
- conectar Alça#: Associa um driver EFI a um dispositivo e o inicializa.
- desconectar DeviceHandle# ]: Desconecte o dispositivo do controlador, o que é importante ao manipular drivers ou diagnosticar incompatibilidades.
- Drivers : Exibe os drivers carregados no sistema.
- drvcfg, drvdiag: Eles invocam protocolos de configuração e diagnóstico para controladores, úteis para depuração em ambientes complexos.
- loadpcirom, carregar driver_name: Eles carregam ROMs de opção PCI ou drivers adicionais, permitindo que a funcionalidade do firmware seja estendida.
- manutenção de inicialização: Inicia o gerenciador de manutenção de inicialização, um utilitário visual para modificar opções de inicialização dentro do shell.
Gerenciamento de memória e despejo de dados
- dmem: Permite exibir o conteúdo de um local de memória, ideal para depuração avançada.
- mem: Despeja memória alocada ou E/S.
- mapa de memória: Exibe o mapa de memória do sistema, fornecendo uma visão geral da memória usada e livre.
- endereço mm: Permite modificar regiões de memória, sejam elas físicas ou MMIO. Normalmente usado por técnicos e desenvolvedores.
Comandos relacionados a data, hora e ambiente
- data : Exibe ou define a data do sistema.
- tempo : Verifique ou ajuste a hora.
- Vejo: Exibe a versão atual do shell UEFI.
- cls: Limpa a tela do terminal, ideal para manter tudo organizado ao trabalhar por longos períodos no console.
- modo: Define ou consulta o modo gráfico atual no shell.
Comandos de script e automação
- eco | ]: Exibe texto na tela e controla o eco de comandos dentro de scripts .nsh.
- se, senão, fimse, para, fimpara, goto tag, pausa: Estruturas básicas de controle para scripts automatizados, facilitando a automação de tarefas rotineiras ou complexas no ambiente UEFI.
Diagnóstico avançado e testes de hardware
Alguns ambientes UEFI, como os implementados pela Oracle ou em plataformas corporativas, incorporam uma CLI de diagnóstico com comandos específicos para verificar o hardware do sistema. Os mais relevantes são:
- cfgtbl: Exibe todas as tabelas UEFI instaladas, essenciais para entender a estrutura do firmware.
- cpu { cpuid | info | modelo | velocidade | simd | topo | sysregs | idt | memcfg }: Executa testes e exibe informações detalhadas sobre a CPU.
- fpu: Executa testes unitários de ponto flutuante.
- gráficos: Exibe os modos gráficos disponíveis ou realiza testes neles.
- memória { teste | informação }: Testa e exibe informações sobre a RAM e suas configurações.
- rede: Visualize interfaces Ethernet ou execute testes de conectividade.
- rtc: Verifique a data e a hora atuais no formato 24h.
- armazenamento { info | mst | rrt | srt | rwv }: Analisa e testa dispositivos armazenamento.
- sistema { acpi | info | inventário | symbios | cpuestockets | pelink }: Exibe informações gerais do sistema, muito útil em servidores.
- tpm: Exibe detalhes sobre o módulo de segurança (TPM) e logs de acesso.
- usb: Lista informações sobre dispositivos e hubs USB.
Coisas a ter em mente ao trabalhar com o shell UEFI
Algumas perguntas básicas a serem consideradas antes de dar o salto:
- O shell UEFI, exceto em casos específicos, geralmente funciona apenas com partições formatadas em FAT16 ou FAT32. Se o sistema de arquivos do seu disco for NTFS, exFAT ou qualquer outro, Este ambiente não poderá acessá-lo.
- Para descobrir todos os comandos disponíveis na sua versão do shell UEFI, você pode usar o comando ou , dependendo do idioma e do firmware específico.
Exemplo prático de uso: adicionar um bootloader personalizado
Um dos motivos mais comuns para trabalhar com o shell UEFI é modificar a sequência de inicialização para carregar um bootloader personalizado (por exemplo, Clover ou OpenCore no Hackintosh ou em instalações Linux personalizadas). O processo básico seria:
- Mude para a partição EFI apropriada com fsX:
- Verifique o conteúdo com ls o dir.
- Comando de execução adição de inicialização bcfg , por exemplo:
bcfg boot add 0 fs1:\EFI\CLOVER\CLOVERX64.efi "Clover"
- Verifique se a entrada foi criada corretamente e reinicie o computador para verificar a alteração.
O shell UEFI é uma ferramenta extremamente versátil e poderosa. Dominar seus comandos e utilitários não só facilitará as tarefas de manutenção e solução de problemas, como também lhe dará controle total sobre o processo de inicialização do seu sistema. Praticar e experimentar em ambientes controlados são as melhores maneiras de se familiarizar com seu funcionamento e aproveitar ao máximo seus recursos.
Escritor apaixonado pelo mundo dos bytes e da tecnologia em geral. Adoro compartilhar meu conhecimento por meio da escrita, e é isso que farei neste blog, mostrar a vocês tudo o que há de mais interessante sobre gadgets, software, hardware, tendências tecnológicas e muito mais. Meu objetivo é ajudá-lo a navegar no mundo digital de uma forma simples e divertida.