O UEFI padrão (do inglês Unified Extensible Firmware Interface , que significa em francês : "Unified Extensible Firmware Interface") define uma interface entre o firmware ( firmware ) e o sistema operacional (SO) de um computador . Esta interface assume o controle do BIOS em algumas placas-mãe .
A UEFI segue o EFI ( Extensible Firmware Interface ), projetado pela Intel para processadores Itanium .
AMD , American Megatrends , Apple , Dell , HP , Intel , IBM , Insyde Software, Microsoft e Phoenix Technologies são os promotores do UEFI Forum que define os padrões desta tecnologia.
O UEFI Forum tem trabalhado nas especificações da UEFI desde 2005 e publicou as primeiras especificações oficiais para a UEFI 2.0 no início de 2006. A UEFI não é, portanto, um padrão , mas um padrão técnico resultante do consenso de um grupo de industriais.
A UEFI oferece muitos benefícios para o BIOS: recursos de rede padrão, boa resolução da GUI, gerenciamento integrado de várias instalações de sistemas operacionais e limita os discos de postagem a 2,2 TB .
O BIOS, escrito em linguagem assembly , modificações e / ou substituições limitadas, uma garantia de segurança operacional e de segurança.
O UEFI é escrito em C , o que torna sua manutenção mais flexível e permanece aceitável devido aos custos decrescentes de memória. Desenvolvido para garantir a independência entre o sistema operacional e a plataforma de hardware em que é executado, o UEFI está disponível nas plataformas Itanium (IA-64), x86 ( 32 e 64 bits ) e ARM .
Uma das funções da UEFI é a inicialização de um sistema operacional, anteriormente fornecido pela BIOS.
As especificações UEFI definem um gerenciador de inicialização cuja função é armazenar os drivers e o carregador do sistema operacional necessários para a inicialização. Este carregador é uma classe de aplicativo UEFI armazenado como arquivos em um sistema de arquivos acessível por firmware. Os sistemas de arquivos suportados incluem FAT32, FAT16 e FAT12 (mas não exFAT ou NTFS). As tabelas de partição com suporte incluem os formatos MBR e GPT . Ao contrário do BIOS, a UEFI não exige que o setor de inicialização esteja em um local específico.
Muitas placas-mãe ainda contam com firmware híbrido baseado no pacote CSM ( Módulo de Suporte de Compatibilidade ) , tornando interrupções de BIOS antigas utilizáveis para certos serviços.
A terminologia oficial da UEFI categoriza seis estados distintos nos processos de inicialização do sistema operacional:
Além do particionamento clássico por MBR (limitado a 2,2 TB ), a UEFI gerencia para discos, um novo sistema de particionamento chamado GPT ( tabela de partição de identificador globalmente exclusivo ). O GPT permite 128 partições primárias em mídia com capacidade de até 9,4BB (zettabyte, bilhão de terabytes). O UEFI, portanto, permite a inicialização a partir de discos de 2,2 TB e superiores.
Com o gerenciamento de disco de baixo nível, a clonagem de disco é possível sem passar pelo sistema operacional , tornando muito mais fácil copiar discos que hospedam vários sistemas operacionais.
A UEFI fornece um ambiente de shell semelhante ao encontrado em um shell Unix . Ele pode ser usado para iniciar outros aplicativos UEFI, que incluem carregadores de inicialização UEFI . É possível obter uma ampla variedade de informações de sistema e firmware , modificar variáveis ou editar arquivos de texto, bem como escrever ou executar arquivos de script com a extensão .nsh.
Os métodos para iniciar o UEFI Shell dependem do fabricante e do modelo da placa-mãe. Na maioria das vezes, há uma opção no firmware para iniciá-lo diretamente. Para versões compiladas para x86-64, é necessário um arquivo <EFI_SYSTEM_PARTITION>/SHELLX64.EFI. Você deve usar o comando bcfgpara modificar o shell associado.
A maioria dos comandos não diferencia maiúsculas de minúsculas, mas nem sempre os caminhos e nomes dos arquivos, dependendo do tipo de sistema de arquivos usado. O uso do comando help -bpermite exibir a ajuda página por página. A opção -bé encontrada na maioria dos comandos para ter uma exibição página a página. O caractere >pode ser usado para redirecionar o fluxo de saída do comando para um arquivo de texto. Por exemplo, o comando help > aide.txtescreve a ajuda no arquivo aide.txt.
O código-fonte do UEFI Shell pode ser baixado da página do projeto TianoCore.
Desde a versão 2.3.1, a UEFI incluiu um recurso que só permite a inicialização em sistemas operacionais reconhecidos. Esse recurso visa proibir o início de um sistema operacional corrompido, em particular por um vírus ou um rootkit . Quando foi lançado, esse recurso estava causando problemas com algumas distribuições Linux que não eram compatíveis.
No modo de “ inicialização segura ” , a UEFI usa um mecanismo de verificação de assinatura digital . O firmware proíbe qualquer carregamento de um driver ou kernel cuja assinatura não corresponda àquela escrita na ROM.
Inicialização segura e software livreNo mundo do software livre , a EFF e Linus Torvalds denunciaram como anormal esse recurso " dificultando a instalação e uso de qualquer sistema operacional concorrente do Windows ", Torvalds criticando os compromissos aceitos pela Red Hat e Canonical para poder instalar o Linux nas máquinas onde a inicialização segura é ativada (compra de uma chave de segurança).
Em meados de 2012, nem todas as distribuições haviam adotado a assinatura do sistema operacional , algumas das quais não puderam adotá-la devido ao seu status.
Desde o início de 2013, houve dois bootloaders assinados pela Microsoft e, portanto, reconhecidos por PCs certificados para Windows 8 : Shim e Linux Foundation Secure Boot System .
Distribuição | Posição segura de inicialização |
---|---|
Ubuntu | Suportado desde as versões 12.10 e 12.04.2 LTS |
Fedora | Suportado desde a versão 18 |
openSUSE | Suportado desde a versão 12.3 |
RHEL | Suportado desde a versão 7 |
Debian | Suportado desde a versão 10 |
OpenBSD | Devido à falta de colaboração com a Microsoft, esta função não é suportada. |
Opcionalmente, o Microsoft Windows 8 oferece suporte a inicialização segura graças a uma assinatura digital enviada aos fabricantes da placa-mãe.
De acordo com o programa de certificação do Windows , os dispositivos não ARM devem obrigatoriamente oferecer dois modos de inicialização segura , "Padrão" e "Personalizado", nos quais o usuário pode não apenas adicionar ou excluir assinaturas adicionais, mas também desativar a inicialização segura (a presença física do usuário é necessária )
Ao contrário, em dispositivos ARM , a Microsoft proíbe a desativação da inicialização segura para os fabricantes.
Caso UbuntuO fórum do Ubuntu apresenta duas maneiras de iniciar esta distro:
A primeira solução pode, em princípio, funcionar porque contorna o UEFI com outra distribuição Linux, instalada em um SSD conectado por USB3, eSATA ou USB2 por exemplo. Esta disposição que permite o acesso não autorizado (possivelmente malicioso) exigirá um acesso físico monitorado ou bloqueado, ou uma criptografia das informações do disco com, por exemplo, TrueCrypt ou equivalente, acompanhado de backups rigorosos.
Nem todos os sistemas operacionais oferecem suporte à inicialização segura .
Se o usuário não desativar a inicialização segura no UEFI, isso pode impedir o uso de determinados sistemas operacionais gratuitos ou alternativos.
No mundo do software livre , várias vozes se levantam para denunciar o fato de que a assinatura viria principalmente, ou mesmo exclusivamente, da Microsoft , e não de outros editores de software .
John SullivanJohn Sullivan ( Diretor Executivo da FSF ) não acredita que o principal motivo da " inicialização segura ", que ele chama de inicialização exclusiva, seja a segurança, mas para tornar mais difícil a instalação de sistemas operacionais concorrentes (sem assinatura ou sem assinatura aceita pelo fabricante do equipamento) e gerou polêmica.
A Microsoft e a Intel disseram que tanto os usuários quanto os fabricantes podem desativar esse recurso em computadores com UEFI que permitirão isso.
Linus TorvaldsLinus Torvalds , por outro lado, disse inicialmente que apenas comprar um certificado digital de $ 99 para cobrir uma distribuição inteira não parecia um "grande negócio" para ele.