UEFI: Como funciona

Author Photo
12:03 pm - 09 de março de 2012

Desmistificando o UEFI

Sim, há quem explique de forma mais singela, já que na verdade a coisa é mais simples do que parece. Mas eu não poderia deixar de fornecer as definições e conceitos do UEFI Fórum. Afinal, eles são os “donos da bola” e, no que concerne à UEFI, ditam as regras.

Porém Sebastian Anthony, em seu artigo publicado na Extreme Tech, “Demystifying UEFI, the long-overdue BIOS replacement“, fornece uma descrição notavelmente concisa e precisa do que vem a ser a UEFI . A maioria dos conceitos que vocês lerão no restante deste tópico constam deste artigo.

Segundo Anthony, a UEFI é uma recriação completa do ambiente de inicialização de um computador. E a recriação foi tão completa que o resultado não apresenta qualquer semelhança com o BIOS que ela se destina a substituir.

[photoframe folder=wp-content/blogs.dir/4/files/uefi_3-945884728 filename=

Ao contrário do BIOS, que é uma monolítica peça de “firmware“, a UEFI é uma interface programável que se acomoda logo acima do hardware e “firmware” da máquina (e, de fato, se assim for desejado, pode assentar-se acima do próprio BIOS; veja esquema, obtido no artigo de Sebastian Anthony acima citado, na Figura 3). Porém, diferentemente do BIOS, cujas rotinas obrigatoriamente estão indissoluvelmente incorporadas a um dos circuitos de memória não volátil que fazem parte da placa-mãe, as da UEFI serão armazenadas em um diretório “/EFI/” localizado em um meio de armazenamento não volátil qualquer, que pode ser um CI da placa-mãe como o BIOS, mas também pode ser um disco rígido ou mesmo um dispositivo compartilhado em rede.

O resultado disto é que a UEFI funciona na prática como um pseudo sistema operacional. Na verdade, funcionalmente, se parece bastante com um sistema operacional simples, destes usados em certas máquinas portáteis e que permitem acesso à Internet e algumas funcionalidades limitadas e que podem ser carregados antes da carga do SO “principal” (muito usado em máquinas do tipo “netbook” para permitir acesso rápido a comunicações sem a necessidade de aguardar a carga do SO).

Quando um computador se inicializa usando a UEFI, um número arbitrário de ações são deflagradas, a última das quais consiste na carga do sistema operacional. Mas, antes disto, em virtude de facilidades previstas na especificação da UEFI e usando os “serviços de inicialização” e “serviços de tempo de execução” por ela definidos, podem ser estabelecidos protocolos de comunicação entre serviços, carregados gerenciadores de dispositivos e até mesmo lançada uma “UEFI shell“, ou uma interface entre a UEFI e o usuário, permitindo que este interaja com os serviços que estão sendo executados mesmo antes da carga do SO. Um destes serviços pode ser o “bootloader“, a rotina que, enfim, carrega o sistema operacional. Mas a UEFI é dotada de tal flexibilidade que, se for o caso, o usuário pode ter acesso a ela e a seus serviços mesmo antes da execução do “bootloader“, ou seja, sem que o sistema operacional esteja carregado, usando apenas as funcionalidades oferecidas pelos próprios serviços da UEFI.

É importante notar que a UEFI é totalmente baseada em software ? razão pela qual ganhou a qualificação de “unificada”.

Como veremos adiante, já há variantes da UEFI em plena atividade. Elas têm sido usadas por praticamente todas as combinações de processadores de 32 e 64 bits com arquitetura ARM, Intel e AMD. Em cada caso, basta que as rotinas de carga do sistema sejam compiladas independentemente para cada SO. Atualmente, praticamente todo sistema operacional (o que inclui Windows, Linux e OS X) já oferece suporte para inicialização por UEFI e certamente suas versões futuras (como o Windows 8, em fase de desenvolvimento pela MS) serão baseadas em UEFI. Do Windows 8, por exemplo, sabe-se que ele apelará para as funcionalidades da UEFI para implementar uma forma de detectar tentativas de infecção por programas mal intencionados, como os “rootkits” usando a funcionalidade da UEFI conhecida como “secure boot” (“inicialização segura”). Mas hoje poucos são os SO que efetivamente tiram proveito da UEFI.

O que não impede que na próxima coluna vejamos exemplos de sistemas que usam inicialização baseadas em UEFI em vez de BIOS.

Até lá.

B. Piropo

Newsletter de tecnologia para você

Os melhores conteúdos do IT Forum na sua caixa de entrada.