A nova geração uefi placa -mãe vem com shell interativo da UEFI. O Shell Interactive UEFI é um programa de shell simples (como o Bash) responsável por inicializar seu sistema operacional. Você também pode usar o shell interativo da UEFI para executar comandos e scripts de shell EFI. Ele pode ser usado para atualizar o firmware do sistema da sua placa -mãe também.
Este artigo mostrará como acessar o shell interativo da UEFI nas placas -mãe UEFI e usar alguns dos comandos EFI comuns no shell interativo da UEFI. Então vamos começar.
Índice:
Coisas que você precisa saber:
Eu usei 2 instruções diferentes para escrever os comandos do shell efi neste artigo.
Shell> - Eu usei esse prompt para os comandos que você pode executar de qualquer lugar.
fs1: \*> - Eu usei esse prompt para esclarecer que você precisa selecionar um determinado dispositivo de armazenamento (FS1 neste caso) ou estar em um diretório específico antes de executar os comandos.
Certifique -se de ter isso em mente enquanto lê este artigo.
Lendo as unidades USB de polegar da UEFI Shell:
O shell interativo da UEFI pode ler unidades USB de polegar se você o formatar como FAT16 ou FAT32. Então, suponha que você tenha escrito alguns scripts EFI ou baixou qualquer script EFI do site oficial do fabricante da placa -mãe. Nesse caso, você terá que colocá -los em uma unidade de polegar USB formatada FAT16 ou FAT32 para acessar e executá -los a partir do shell interativo da UEFI.
Iniciando o shell interativo da UEFI:
Primeiro, desligue seu computador. Então, poder em seu computador. Logo após pressionar o botão liga/desliga, continue pressionando a tecla ou o teclado para entrar no firmware BIOS/UEFI da sua placa -mãe.
Então, na seção de seleção de inicialização do firmware BIOS/UEFI da sua placa -mãe, você deve encontrar uma opção para entrar no shell interativo da UEFI.
No meu computador odissey x86, a opção está no salvamento e saída> uefi: shell EFI embutido, como você pode ver na imagem abaixo.
A opção é o shell interno EFI na minha máquina virtual VMware, como você pode ver na captura de tela abaixo.
Quando você entra no shell interativo da UEFI pela primeira vez, ele imprimirá todos os dispositivos de armazenamento que seu computador detectou, como você pode ver na captura de tela abaixo.
Depois de pressionar qualquer tecla que não seja ou aguarde 5 segundos, o shell EFI deve estar pronto para executar comandos.
Nas próximas seções, mostrarei como usar alguns dos comandos de shell EFI mais comuns. Então, vamos seguir em frente.
O comando cls:
O comando CLS é usado principalmente para limpar as saídas da tela.
Você pode ter muitos textos na tela, como pode ver na captura de tela abaixo.
Para limpar os textos da tela, execute o comando CLS da seguinte forma:
Shell> cls
Os textos na sua tela devem ser limpos.
Você também pode alterar a cor de fundo do shell EFI usando o comando CLS.
Para alterar a cor do fundo do shell EFI, execute o comando CLS da seguinte maneira:
Shell> cls
No momento da redação deste artigo, o comando CLS suporta o seguinte .
0 - Preto
1 - Azul
2 - Verde
3 - Ciano
4 - Vermelho
5 - Magenta
6 - Amarelo
7 - Cinza claro
Por exemplo, para alterar a cor do fundo para azul (1), execute o comando CLS da seguinte forma:
Shell> CLS 2
A cor do fundo deve ser alterada para azul (1), como você pode ver na captura de tela abaixo.
Para alterar a cor do fundo para preto, execute o comando CLS da seguinte forma:
Shell> CLS 0
A cor do fundo deve ser alterada para preto (0), como você pode ver na captura de tela abaixo.
O comando Echo:
O comando Echo é usado para imprimir uma linha de texto no shell EFI.
Por exemplo, para imprimir o texto Hello World, execute o comando Echo da seguinte maneira:
Shell> Echo "Hello World"
Como você pode ver, o texto Hello World está impresso no shell EFI.
Se desejar, você pode optar por não usar nenhuma cotação também.
O comando de alias:
Você pode listar todos os aliases de comando do shell EFI com o comando Alias.
Para listar todos os aliases do comando do shell EFI, execute o comando Alias da seguinte maneira:
Shell> Alias
Como você pode ver, todos os aliases de comando do efi shell estão listados.
Você também pode usar o comando alias para criar ou excluir aliases.
Para criar um alias de comando print_hello que executa o comando echo hello world, você pode executar o comando alias da seguinte forma:
Shell> Alias print_hello "Echo Hello World"
Como você pode ver, um novo alias print_hello é criado.
Agora, você pode executar o comando print_hello da seguinte forma:
Shell> print_hello
Por padrão, os aliases que você cria sobreviverão às reinicializações do sistema. Isso é uma coisa boa, é claro. Mas se você não quiser que seus aliases sobrevivam às reinicializações do sistema, você pode criar um alias volátil usando a opção -v.
Você pode criar o mesmo alias print_hello como um alias volátil usando a opção -v da seguinte forma:
Shell> Alias -v print_hello "Echo Hello World"
Você pode excluir um alias usando a opção -d do comando Alias.
Para excluir o alias print_hello, execute o comando Alias usando a opção -d da seguinte maneira:
Shell> Alias -d print_hello
Como você pode ver, o alias print_hello é removido da lista de alias.
Shell> Alias
O comando de ajuda:
O comando de ajuda é usado para encontrar comandos de shell EFI usando padrões.
Por exemplo, para encontrar todos os comandos do shell EFI que começam com M, você pode executar o comando de ajuda da seguinte forma:
Shell> Ajuda M*
Todos os comandos do shell EFI que começam com m estão listados, como você pode ver na captura de tela abaixo.
Da mesma forma, você pode encontrar todos os comandos de shell EFI que terminam com M da seguinte maneira:
Shell> Ajuda *M
Todos os comandos do shell EFI que terminam com m estão listados, como você pode ver na captura de tela abaixo.
Você também pode aprender a usar um comando EFI Shell, quais opções eles suportam e o que cada opção usa o comando de ajuda. Finalmente, você pode compará -lo com o comando linux man.
Por exemplo, para aprender a usar o comando Alias, execute o comando de ajuda da seguinte forma:
Shell> Ajuda Alias
Muitas informações sobre o comando de ajuda devem ser exibidas.
Se as informações de ajuda de um determinado comando forem muito longas, você poderá pressionar as teclas do seu teclado para rolar para cima e para baixo, respectivamente.
Se a saída for muito longa, você precisará de um pager para lê -lo. Novamente, você pode compará -lo ao programa Linux Less. Mas, diferentemente do programa Linux menos.
Para usar um pager para o comando de ajuda, use a opção -b do comando de ajuda da seguinte forma:
Shell> Ajuda -B Alias
As informações de uso do comando Alias são exibidas em um pager, como você pode ver na captura de tela abaixo.
Você pode pressionar para ir para a próxima página.
Para fechar o pager, pressione Q e depois pressione .
O comando set:
O comando set é usado para listar todas as variáveis de ambiente disponíveis do shell EFI.
Para listar todas as variáveis de ambiente disponíveis do shell EFI, execute o comando SET da seguinte forma:
Shell> Set
Todas as variáveis de ambiente do shell EFI estão listadas, como você pode ver na captura de tela abaixo.
Você também pode criar suas próprias variáveis de ambiente de shell efi.
Para criar um arquivo de variável de ambiente de shell efi com a inicialização de conteúdo.IMG, execute o comando set da seguinte forma:
Shell> Defina a inicialização do arquivo.img
O arquivo variável do ambiente é definido, como você pode ver na captura de tela abaixo.
Por padrão, as variáveis de ambiente da Shell EFI que você criará sobreviverá às reinicializações do sistema. No entanto, você pode criar variáveis voláteis de ambiente de shell efi usando a opção -v do comando set se você não quiser isso.
Por exemplo, para criar a mesma variável de ambiente de arquivo que uma variável de ambiente volátil, execute o comando set da seguinte maneira:
Shell> set -V Arquivo Imagem.bota
Você pode remover variáveis de ambiente de shell efi também.
Para remover o arquivo variável de ambiente do efi shell, execute o comando set da seguinte forma:
Shell> Set -d Arquivo
A variável de ambiente de arquivo não deve mais estar disponível, como você pode ver na captura de tela abaixo.
Shell> Set
O comando mapa:
O comando do mapa imprime a tabela de mapeamento de todos os dispositivos de armazenamento do seu computador. Na tabela de mapeamento, você pode encontrar o nome do dispositivo dos dispositivos de armazenamento do seu computador. Para acessar um dispositivo de armazenamento do shell EFI, você precisará do nome do dispositivo desse dispositivo de armazenamento.
Para listar todos os dispositivos de armazenamento do seu computador do shell EFI, execute o comando do mapa da seguinte forma:
Shell> mapa
Todos os dispositivos de armazenamento e seu nome devem ser listados, como você pode ver na captura de tela abaixo.
Se você inserir um novo dispositivo de armazenamento como uma unidade de polegar USB no seu computador, ele não será listado automaticamente na tabela de mapeamento. Em vez disso, você terá que atualizar a mesa de mapeamento manualmente.
Você pode atualizar a tabela de mapeamento do shell EFI usando a opção -r do comando mapa da seguinte forma:
Shell> mapa -r
A tabela de mapeamento do shell EFI deve ser atualizada e seu novo dispositivo de armazenamento deve ser listado na nova tabela de mapeamento, como você pode ver na captura de tela abaixo.
Os comandos de CD e LS:
Você pode selecionar um dispositivo de armazenamento usando o nome do dispositivo de armazenamento.
Por exemplo, para selecionar o dispositivo de armazenamento FS1, você pode executar o seguinte comando:
Shell> FS1:
O prompt deve ser alterado para FS1: \> como você pode ver na captura de tela abaixo.
Agora, você pode listar todos os arquivos e diretórios que possui no dispositivo de armazenamento FS1 (o diretório de trabalho atual) da seguinte maneira:
fs1: \> ls
Como você pode ver, todos os arquivos e diretórios do dispositivo de armazenamento FS1 estão listados.
Você também pode usar caminhos de diretório relativos com o comando ls para listar os arquivos e diretórios desse diretório.
Por exemplo, para listar os arquivos e diretórios do diretório scripts \ (em relação ao seu diretório de trabalho atual), você pode executar o comando LS da seguinte forma:
fs1: \> scripts ls
Os arquivos e diretórios do diretório scripts \.
O diretório Scripts \ está vazio no meu caso.
Você pode usar caminhos absolutos com o comando ls também.
Por exemplo, para listar todos os arquivos e diretórios do dispositivo de armazenamento FS0, execute o comando LS da seguinte maneira:
Shell> ls fs0:
Todos os arquivos e diretórios do dispositivo de armazenamento FS0 devem ser listados, como você pode ver na captura de tela abaixo.
Você pode listar arquivos e diretórios recursivamente usando a opção -r do comando ls.
Por exemplo, para listar todos os arquivos e diretórios do dispositivo de armazenamento FS0 recursivamente, execute o comando LS da seguinte maneira:
Shell> ls -r fs0:
Todos os arquivos e diretórios do dispositivo de armazenamento FS0 devem ser listados de forma recursiva, como você pode ver na captura de tela abaixo.
Se o arquivo e a listagem do diretório forem muito longos para caber na tela, você poderá usar a opção -b do comando ls para usar um pager.
Você pode listar todos os arquivos e diretórios do dispositivo de armazenamento FS0 recursivamente e usar um pager para a saída da seguinte forma:
Shell> ls -r -b fs0:
O comando LS deve usar um pager para exibir a saída, conforme mostrado na captura de tela abaixo.
Você pode usar o comando CD para navegar para um diretório diferente do seu dispositivo de armazenamento selecionado. Isso tornará seus comandos mais curtos, pois você não precisará digitar caminhos de diretório longos.
Por exemplo, para navegar até o diretório scripts \ do dispositivo de armazenamento selecionado FS1, você pode executar o comando CD da seguinte forma:
FS1: \> scripts de CD
O diretório de trabalho atual deve ser alterado para FS1: \ scripts \, como você pode ver na captura de tela abaixo.
Para voltar um diretório - para o diretório pai, você pode executar o comando CD da seguinte forma:
FS1: \ scripts> CD…
Você deve ser um diretório para cima, como pode ver na captura de tela abaixo.
O comando cp:
O comando CP é usado para copiar arquivos de um dispositivo de armazenamento para outro ou dentro do mesmo dispositivo de armazenamento.
Eu tenho um olá.Arquivo TXT no dispositivo de armazenamento FS1, como você pode ver na captura de tela abaixo.
fs1: \> ls
Para fazer uma nova cópia do Hello.txt, execute o comando cp da seguinte forma:
fs1: \> cp Olá.txt hello2.TXT
Um novo arquivo hello2.txt deve ser criado e o conteúdo do olá.O arquivo txt deve ser copiado para o hello2.arquivo txt.
fs1: \> ls
Se você quiser copiar o olá.Arquivo TXT para o diretório Scripts \ no mesmo dispositivo de armazenamento usando um caminho de diretório relativo, execute o comando cp da seguinte forma:
fs1: \> cp Olá.scripts txt
Como você pode ver, o olá.O arquivo txt é copiado no diretório Scripts \.
fs1: \> scripts ls
Você também pode usar um caminho absoluto para copiar o olá.arquivo txt para o diretório \ scripts da seguinte forma:
fs1: \> cp \ hello.txt \ scripts
Como o arquivo já existe, o comando cp perguntará se você deseja substituí -lo.
Se você deseja substituir o arquivo, pressione Y e depois pressione .
Se você não quiser substituir o arquivo, pressione n e depois pressione .
Se você deseja substituir todos os arquivos que já existem, pressione A e depois pressione .
Se você não sabe o que fazer, pressione C e pressione para cancelar a operação de cópia.
O olá.O arquivo txt deve ser copiado para o diretório \ scripts.
Da mesma maneira, se você quiser copiar o olá.Arquivo TXT para o diretório raiz de outro dispositivo de armazenamento FS0, você pode executar o comando cp da seguinte forma:
fs1: \> cp Olá.txt fs0: \
Como você pode ver, o olá.O arquivo txt é copiado para a raiz do dispositivo de armazenamento FS0.
Shell> ls fs0: \
Você também pode copiar recursivamente o conteúdo de um diretório para outro diretório ou dispositivo de armazenamento usando a opção -r do comando cp.
Para copiar recursivamente o conteúdo do diretório FS0: \ EFI para o dispositivo de armazenamento FS1, execute o comando CP da seguinte maneira:
Shell> cp -r fs0: \ efi \ fs1: \
Todos os arquivos e diretórios no diretório FS0: \ EFI devem ser copiados para o dispositivo de armazenamento FS1, como você pode ver na captura de tela abaixo.
Como você pode ver, os diretórios Ubuntu \ e Boot \ do diretório FS0: \ EFI são recursivamente copiados para o dispositivo de armazenamento FS1.
Shell> ls fs0: \ efi
Shell> ls fs1: \
Se você deseja copiar o diretório FS0: \ EFI, bem como o conteúdo desse diretório para o dispositivo de armazenamento FS1, execute o comando CP da seguinte forma:
Shell> cp -r fs0: \ efi fs1: \
Como você pode ver, o diretório FS0: \ EFI é copiado recursivamente para o dispositivo de armazenamento FS1.
Shell> ls fs0: \
Shell> ls fs1: \
O comando MV:
O comando MV funciona da mesma maneira que o comando CP. A única diferença é que o comando MV move os arquivos ou diretórios da fonte para o destino em vez de copiá -los.
Como o comando MV e o comando CP são semelhantes, não os explicarei aqui. Basta ler a seção de comando CP e substituir os comandos CP pelo comando MV. Você estará pronto para ir.
Há outro caso de uso para o comando MV. O comando MV é usado para renomear arquivos e diretórios também.
Por exemplo, para renomear o arquivo hello2.txt para hello3.txt, execute o comando MV da seguinte maneira:
fs1: \> mV hello2.txt hello3.TXT
O Hello2.txt deve ser renomeado para hello3.TXT.
Como você pode ver, o Hello2.O arquivo txt não está mais no dispositivo de armazenamento FS1 e foi renomeado para Hello3.TXT.
fs1: \> ls
Da mesma maneira, você pode renomear um diretório usando o comando MV.
Por exemplo, para renomear o diretório Ubuntu \ para Debian \, execute o comando MV da seguinte forma:
FS1: \> MV Ubuntu Debian
Como você pode ver, o diretório Ubuntu é renomeado para Debian \.
fs1: \> ls
O comando rm:
O comando rm é usado para remover arquivos e diretórios de seus dispositivos de armazenamento.
Para remover um arquivo hello3.TXT do dispositivo de armazenamento FS1, execute o comando rm da seguinte forma:
fs1: \> rm hello3.TXT
O Hello3.O arquivo txt deve ser removido.
Como você pode ver, o olá3.O arquivo txt não está mais no dispositivo de armazenamento FS1.
fs1: \> ls
Da mesma forma, você pode remover o diretório \ \ do Debian do dispositivo de armazenamento FS1 da seguinte forma:
fs1: \> rm Debian
Enquanto você está removendo um diretório que pode conter outros arquivos e diretórios, o comando rm pergunta se você deseja removê -los. Esta é uma medida de segurança para que você não exclua acidentalmente arquivos importantes.
Para confirmar a operação de remoção, pressione Y e depois pressione .
O diretório do Debian e seu conteúdo devem ser removidos.
Como você pode ver, o diretório Debian \ não está mais disponível no dispositivo de armazenamento FS1.
fs1: \> ls
O comando de edição:
O Shell EFI vem com um programa básico de editor de texto chamado EFI Editor. É muito útil, pois você pode editar arquivos de configuração com muita facilidade do shell EFI.
Você pode abrir o olá.Arquivo TXT do dispositivo de armazenamento FS1 com o programa EFI Editor da seguinte forma:
fs1: \> editar olá.TXT
O olá.O arquivo txt deve ser aberto com o programa EFI Editor. Você pode editar seu arquivo de texto/configuração daqui.
Depois de editar o olá.arquivo txt, pressione seguido por salvar o arquivo.
O arquivo olá.txt deve ser salvo.
Para fechar o programa EFI Editor, pressione .
Se você tiver alterações não salvas, o programa EFI Editor perguntará se você deseja salvá -las.
Pressione Y para salvar as mudanças e fechar o programa EFI Editor.
Pressione n para descartar as mudanças e fechar o programa EFI Editor.
Pressione C se você mudou de idéia e não quiser fechar mais o programa EFI Editor.
O programa EFI Editor tem muitos outros recursos incríveis. Infelizmente, está fora do escopo deste artigo para mostrar a todos.
Você pode olhar para a parte inferior do programa EFI Editor e encontrar todas as informações necessárias para usar os outros recursos do programa EFI Editor. Além disso, você pode comparar o programa EFI Editor com o editor de texto Nano do Linux. É incrível.
O comando de saída:
O comando de saída é usado para fechar o shell EFI, volte para o firmware BIOS/UEFI da sua placa -mãe.
Para fechar o shell EFI, execute o comando de saída da seguinte forma:
Shell> saída
Seria melhor se você estivesse de volta ao firmware do BIOS/UEFI da sua placa -mãe, como você pode ver na captura de tela abaixo.
O comando de redefinição:
O comando Redefinir é usado para redefinir ou reiniciar seu computador.
Para reiniciar o computador do shell EFI, execute o comando Redefinir da seguinte forma:
Shell> Redefinir
O comando de redefinição também pode ser usado para desligar seu computador.
Para desligar o computador do shell EFI, execute o comando Reset com a opção -s da seguinte maneira:
Shell> redefinir -s
Outros comandos de shell EFI:
Existem muitos outros comandos de shell EFI. Está fora do escopo deste artigo para cobrir todos eles. Mas você pode ler a documentação da Shell EFI [1] para aprender sobre eles. Você também pode usar o comando de ajuda para descobrir os comandos de shell EFI disponíveis. Você pode usar o comando de ajuda para ler a documentação dos comandos do shell EFI também. A documentação da Shell EFI é muito extensa e cheia de informações e exemplos. Também é muito simples e fácil de seguir. Você não deve ter problemas para lê -lo.
Redirecionamento de saída:
Assim como Bash e outras conchas Linux, o shell EFI também suporta redirecionamento de saída. Assim, você pode redirecionar a saída de um comando EFI Shell para um arquivo usando o recurso de redirecionamento de saída do shell EFI.
Por exemplo, você pode redirecionar a saída do comando Echo "Hello World" para uma mensagem de arquivo.txt da seguinte forma:
FS1: \> Echo "Hello World"> Mensagem.TXT
Uma nova mensagem de arquivo.TXT deve ser criado, como você pode ver na captura de tela abaixo.
fs1: \> ls
Como você pode ver, ele tem o conteúdo do Hello World.
fs1: \> editar mensagem.TXT
Se você deseja anexar (adicione ao final de um arquivo), a saída de outro comando ecoará “boa sorte” (digamos) à mensagem.Arquivo TXT, você pode usar o símbolo >> em vez do símbolo> da seguinte forma:
fs1: \> eco "boa sorte" >> mensagem.TXT
Como você pode ver, o texto boa sorte é adicionado ao final da mensagem.arquivo txt.
fs1: \> editar mensagem.TXT
Da mesma maneira, você pode redirecionar a saída do comando de mapa de ajuda para um mapa de arquivos-help.txt da seguinte forma:
FS1: \> Ajuda mapa> mapa-help.TXT
Como você pode ver, um novo mapa de arquivos-help.txt é criado.
fs1: \> ls
Como você pode ver, a saída do comando de mapa de ajuda é redirecionada para o mapa-help.arquivo txt.
fs1: \> editar mapa-help.TXT
OBSERVAÇÃO: Quando você produz redirecionamento, você deve se lembrar da diferença entre o símbolo> e >>. É muito importante. Se você não tiver conhecimento suficiente desses símbolos, pode perder dados importantes.
Digamos que você tenha executado o seguinte comando no efi shell:
Shell> comando> arquivo
Aqui, o> símbolo redirecionará a saída do comando para o arquivo. Se o arquivo não existir, será criado. Se o arquivo existir, o conteúdo do arquivo será substituído pela saída do comando. Isso é muito importante lembrar.
Agora, digamos que você tenha executado o comando EFI Shell acima usando o símbolo >> da seguinte maneira:
Shell> comando >> arquivo
Aqui, o símbolo >> anexará (adicionará ao final do arquivo) a saída do comando ao arquivo se o arquivo existir. Se o arquivo não existir, será criado e a saída do comando será adicionada ao arquivo.
Portanto, se o arquivo não existir, o símbolo> e >> fará a mesma coisa - crie o arquivo e adicione a saída do comando ao arquivo.
Se você tiver muitos arquivos no seu dispositivo de armazenamento, não é muito difícil cometer um erro e perder dados importantes. Então, eu recomendo usar o símbolo >> em vez do símbolo> para redirecionamento de saída, a menos que você tenha requisitos específicos. Então, vai fazer a mesma coisa. Dessa forma, se você cometer erros, sempre poderá remover as linhas extras que foram anexadas ao arquivo para voltar ao estado anterior.
Conclusão:
Este artigo mostra como iniciar o shell interativo da UEFI e usar os comandos de shell EFI comuns. Eu também mostrei como usar o recurso de redirecionamento de saída do shell EFI. Por fim, mostrei como acessar os dispositivos de armazenamento do seu computador no shell EFI e como criar, copiar, mover, renomear e editar arquivos do shell EFI. Este artigo deve ajudá -lo a começar com os comandos de shell interativo da UEFI e shell EFI.
Referências:
[1] Manual de referência de comando do shell - Intel
[2] Instruções básicas para usar a interface de firmware extensível (EFI)