Artigo original: UEFI vs BIOS: What's the Difference?

É possível que você já tenha ouvido falar nas siglas BIOS e UEFI em algum lugar, especialmente ao tentar mudar de sistema operacional ou ao brincar com overclocking.

Também é possível que você saiba o que querem dizer essa siglas (Unified Extensible Firmware Interface e Basic Input/Output System, respectivamente). Mas você já se perguntou como elas são usadas em um sistema computacional?

Vamos desmistificar esses termos e seus significados agora.

Procedimento de boot

Em primeiro lugar, sei que estamos desviando do assunto, mas prometo que isso vai ajudar com alguns conceitos mais tarde.

Como é feito o boot no computador? Vamos ver isso passo a passo:

  1. Você pressiona o botão de ligar/desligar do seu laptop ou desktop.
  2. A CPU inicia, mas precisa de algumas instruções para funcionar (lembre-se: a CPU sempre precisa fazer algo). Como a memória principal está vazia neste momento, a CPU se restringe às instruções de carregamento do chip do firmware da placa-mãe e começa a executar essas instruções.
  3. O código do firmware faz um Power On Self Test (POST, ou autoteste de inicialização), inicializa o hardware restante, detecta os periféricos conectados (mouse, keyboard, pen drive etc.) e verifica se todos os dispositivos conectados estão funcionando bem. Você pode se lembrar de ouvir um 'bipe' que os desktops normalmente usavam quando o POST tinha êxito.
  4. Por fim, o código do firmware analisa todos os dispositivos de armazenamento e procura por um carregador de boot (geralmente localizado no primeiro setor de uma unidade de disco). Se o carregador de boot é encontrado, o firmware entrega a ele o controle do computador.

Não precisamos saber mais sobre esse tópico para fins deste artigo. Se estiver interessado, no entanto, siga lendo (do contrário, pode passar para a próxima seção).

  1. Agora que o carregador de boot está carregado, sua tarefa é carregar o resto do sistema operacional. O GRUB é um desses carregadores de boot. Ele é capaz de carregar sistemas operacionais do tipo UNIX e de carregar em sequência o SO Windows. O carregador de boot está disponível somente no primeiro setor de uma unidade de disco, que tem 512 bytes. Dada a complexidade dos sistemas operacionais modernos, alguns desses carregadores de boot tendem a fazer carregamento em diversos estágios, onde o carregador de boot principal carrega o carregador de boot do segundo estágio em um ambiente no qual ele não está restrito aos 512 bytes.
  2. O carregador de boot em seguida carrega o kernel na memória. Sistemas operacionais do tipo UNIX, então, rodam o processo init (o processo principal, a partir do qual os outros processos são derivados/executados) e finalmente inicializa os níveis de execução.
  3. No Windows, o wininit.exe é carregado junto de alguns processos, como o services.exe, para o controle de serviços, o lsass.exe, para a segurança local e a autoridade (semelhante aos níveis de execução) e o lsm.exe, para o gerenciamento da sessão local.
  4. Depois de tudo isso, e após alguns outros drivers serem inicializados, a Interface Gráfica de Usuário (GUI) é carregada e você visualiza a tela de login.

Essa foi uma visão bastante geral do processo de boot. Se estiver interessado em sistemas operacionais, eu recomendo que leia mais sobre o assunto em osdev.net (em inglês).

Bem, agora, vamos voltar ao nosso tópico original.

BIOS:

Bios-configuracion-orden-arranque

BIOS significa Basic Input/Output System, o firmware de que falamos acima, na parte sobre o procedimento de boot.

Ele é armazenado em uma EPROM (Erasable Programmable Read-Only Memory), o que permite ao fabricante lançar as atualizações com facilidade.

Ele fornece muitas funções auxiliares que permitem a leitura dos setores de boot das unidades de armazenamento conectadas e imprimir coisas na tela. Você pode acessar o BIOS durante as fases iniciais do procedimento de boot pressionando, normalmente, del, F2 ou F10.

UEFI:

uefi_1270
ASUS UEFI 

UEFI significa Unified Extensible Firmware Interface. Ela faz o mesmo trabalho que o BIOS, mas com uma diferença básica: ela armazena todos os dados sobre inicialização e início em um arquivo .efi, em vez de armazená-las no firmware.

Esse arquivo .efi é armazenado em uma partição especial chamada EFI System Partition (ESP) no disco rígido. Essa partição ESP também contém o carregador de boot.

A UEFI foi projetada para vencer as várias limitações do antigo BIOS, incluindo:

  1. A UEFI da suporte a tamanhos de unidade de até 9 zetabytes, enquanto o BIOS dá suporte a apenas 2,2 terabytes.
  2. A UEFI fornece tempo de inicialização mais rápido.
  3. A UEFI tem suporte a unidades discreto, enquanto o BIOS tem o suporte a unidades armazenado em sua ROM. Desse modo, atualizar o firmware do BIOS é um pouco difícil.
  4. A UEFI oferece segurança, por exemplo, com o "Secure Boot", que evita que o computador faça boot a partir de aplicações não autorizadas/não assinadas. Isso ajuda a evitar os rootkits, mas também dificulta o boot dual, já que trata o outro SO como uma aplicação não assinada. No momento, apenas o Windows e o Ubuntu são SOs assinados (fique à vontade para informar o autor caso ele esteja errado).
  5. A UEFI roda em modo de 32 ou de 64 bits, enquanto o BIOS roda em modo de 16 bits. Por isso, a UEFI  consegue fornecer uma GUI (de navegação com o mouse), diferente do BIOS, que somente permite a navegação com o teclado.

Você pode não precisar da UEFI

Apesar de todos os computadores modernos já virem equipados com a UEFI por padrão, há motivos para os quais você escolheria o BIOS em vez da UEFI. São eles:

  1. Se você é um iniciante e não se importa com brincar com qualquer tipo de firmware, o BIOS é para você.
  2. Se você tem menos de 2 TB por disco rígido ou partição, pode utilizar o BIOS.
  3. O BIOS permite rodar vários sistemas operacionais sem alterar configurações. Isso pode ser um problema de segurança sob a ótica moderna, mas, ao menos, não incomoda o usuário.
  4. O BIOS fornece informações do sistema ao sistema operacional. Assim, se o seu SO estiver rodando em modo de 16 bits, ele não precisa escrever código para interagir com o hardware, podendo usar métodos fornecidos diretamente pelo BIOS. Do contrário, se o SO estiver em modo de 32 ou de 64 bits, será preciso fornecer suas próprias sub-rotinas para interagir com o hardware.
  5. Se você é alguém que prefere um teclado e UI baseada em texto em vez da navegação com o mouse em uma GUI, o BIOS é para você.

O UEFI leva em conta essas limitações e provê um modo legado. Nele, você pode executar tudo como se estivesse em um firmware do BIOS. Lembre-se, porém, que a Intel anunciou que deixaria de dar suporte ao BIOS tradicional desde 2020.

Conclusão

Este artigo deu uma visão geral sobre as diferenças entre BIOS e UEFI. Ele também dá sugestões sobre quando usar um ou outro e sobre como essas situações de uso diferem.

Se tiver perguntas, o autor se encontra disponível no Twitter. Obrigado por sua leitura.