- Como todos sabemos, a BIOS é parte importante para aceder à opção de arranque. Então agora a UEFI vai fazer isso? Como?
Inicializa a BIOS lendo o primeiro sector num disco rígido e executando-o; este sector de arranque, por sua vez, localiza e executa código adicional. O sistema BIOS é muito limitado devido a limitações de espaço e porque a BIOS corre código de 16 bits, enquanto os computadores modernos utilizam CPUs de 32 ou 64 bits. Pelo contrário, o EFI (ou UEFI, que é apenas EFI 2.x) arranca carregando ficheiros de programas EFI (com extensões de nome de ficheiro .efi
) a partir de uma partição no disco rígido, conhecida como EFI System Partition (ESP). Estes programas de carregamento de arranque EFI podem tirar partido dos serviços de arranque EFI para coisas como ler ficheiros a partir do disco rígido.
Como questão prática, se está a usar um SO como Linux que tem carregadores de arranque complexos em modo BIOS, é provável que o arranque em modo EFI seja semelhante ao arranque em modo BIOS, uma vez que o GRUB 2 (o mais popular carregador de arranque em modo BIOS para Linux) foi portado para funcionar sob EFI, e muitas distribuições Linux instalam o GRUB 2 por defeito nos sistemas EFI. OTOH, você pode substituir ou complementar o GRUB 2 com outros carregadores de inicialização EFI. De facto, o próprio kernel do Linux pode ser um gestor de arranque EFI; foi adicionado código para o fazer com o kernel 3.3.0. Usado desta forma, o próprio EFI carrega e executa o kernel do Linux, ou pode usar um gestor de arranque de terceiros como rEFInd ou gummiboot para lhe permitir seleccionar qual o SO ou kernel a arrancar.
- Como é que eu sei que estou a arrancar com a UEFI e não com a BIOS?
Como diz a Root, existem pistas na interface do utilizador do firmware; no entanto, estas não são fiáveis e variam de um computador para outro. A única forma de ter a certeza é verificar como o computador arranca. No Linux, por exemplo, a presença de um directório chamado /sys/firmware/efi
é um diagnóstico. Se estiver presente, inicializou em modo EFI; se não estiver presente, iniciou provavelmente em modo BIOS. (Esta directoria pode estar ausente num arranque em modo EFI em algumas circunstâncias, no entanto) dmesg
output que se refere ao EFI é também um diagnóstico de um arranque em modo EFI. No Windows, a tabela de partições do disco boot é de diagnóstico; se é GPT, inicializa-se em modo EFI, e se é MBR, inicializa-se em modo BIOS.
- Então qual é a verdadeira diferença no “boot com BIOS” e “boot com UEFI”?
EFI _ pode ser_ mais rápido, mas isso não é certo. A maior diferença de velocidade está na inicialização do hardware no início do processo. Nos meus sistemas, esta é uma fracção do tempo total de arranque, por isso uma redução no tempo de inicialização do hardware, embora boa, não faz toda_ essa diferença. Afinal, não é que eu esteja a reiniciar a cada dez minutos.
A UEFI suporta uma funcionalidade chamada Secure Boot que se destina, como o nome sugere, a melhorar a segurança. Faz isto ao exigir uma “assinatura” digital dos carregadores de arranque, que por sua vez deve exigir a assinatura de kernels, e assim por diante, a montante da cadeia. Isto deverá tornar mais difícil aos autores de malware inserir o seu código no processo de pré-boot, melhorando assim a segurança. Isto soa bem, mas também complica as configurações de dual-boot, uma vez que códigos como o GRUB e o kernel do Linux têm de ser assinados. Os principais fornecedores de distribuição Linux estão a trabalhar em formas de tornar estes requisitos menos onerosos para o utilizador médio de Linux, e têm algumas coisas preliminares prontas. Neste momento, no entanto, desactivar o Secure Boot é a forma mais fácil de lidar com isso. Esta é uma preocupação prática principalmente para computadores novinhos em folha que são enviados com Windows 8, uma vez que a Microsoft está a exigir que o Secure Boot seja activado para obter a certificação Windows 8. Algumas pessoas confundem UEFI e Secure Boot (o último é apenas uma característica do primeiro), mas merece ser mencionado como uma diferença entre BIOS e UEFI porque está a causar alguns problemas para os novos computadores Windows 8. Se você tem um sistema mais antigo ou está confortável o suficiente com utilitários de configuração de firmware para desativar o Secure Boot, isso não precisa ser um problema real.
A Microsoft associa o tipo de tabela de partições do disco de inicialização ao tipo de firmware (MBR à BIOS; GPT à UEFI). Uma vez que o MBR é superior a 2TiB (assumindo tamanhos de sector padrão), isto significa que a UEFI é uma necessidade prática para iniciar o Windows em discos com mais de 2TiB. No entanto, pode ainda utilizar discos tão grandes como os discos de dados sob Windows, e pode arrancar alguns SO não-Microsoft (como Linux e FreeBSD) em discos grandes utilizando GPT sob BIOS.
Como uma questão prática se estiver preocupado ou interessado em UEFI, a maior questão é simplesmente que a UEFI é suficientemente nova para que o suporte para ela seja um pouco manchado, particularmente em alguns SO mais antigos e mais exóticos. A própria UEFI é suficientemente nova para que a maioria das suas implementações sejam buggy, e aquelas que não variam o suficiente entre si para que possa ser difícil descrever as coisas em geral. Assim, a utilização da UEFI pode ser um desafio. OTOH, UEFI é o futuro. Tem algumas vantagens modestas, algumas das quais se tornarão mais importantes com o tempo (tal como o limite de 2TiB do disco de arranque do Windows). Mudar para um arranque UEFI irá alterar alguns detalhes doprocesso de arranque, mas a sua experiência global em informática não mudará assim tanto quando ultrapassar quaisquer problemas de arranque que possa encontrar.
EDIT:
Poderia expandir nas definições do OpRom (Opção Rom). Parecem permitir-lhe escolher entre inicialização UEFI ou “Legacy” e aplicam-se à placa de Vídeo, placa de Rede e vários outros dispositivos PCI.
Muitas placas plug-in fornecem firmware que faz interface com o firmware da placa mãe. Os dois tipos de firmware devem ser capazes de “falar” para que o firmware da placa possa fazer algum bem. Isto é necessário para utilizar a placa antes de um SO iniciar – por exemplo, para mostrar as opções do seu firmware ou um menu gestor de arranque numa placa de vídeo, para executar um arranque de rede através de uma placa de rede, ou para arrancar a partir de um disco rígido ligado a uma placa controladora de disco.
Tal como com os carregadores de arranque, o código no firmware de um dispositivo plug-in é escrito para fazer interface com BIOS ou EFI (embora as placas plug-in possam suportar ambos, se não me engano). Alguns EFIs fornecem opções para activar ou desactivar este suporte numa base de grão fino, como já observou. Em alguns casos, um EFI pode utilizar o suporte de modo BIOS de um cartão para que este funcione em modo EFI, “traduzindo” as chamadas. (Isto é comum com placas de vídeo, por exemplo; pode muitas vezes ligar uma placa de vídeo antiga com nada mais que suporte de BIOS no seu firmware e ainda usá-la para arrancar em modo EFI)
Não sei exactamente o que cada uma das definições que anotou faz. Por exemplo, não sei se “apenas BIOS” para uma destas opções faria a placa funcionar apenas no modo BIOS, “traduzir” para que o EFI possa usar as chamadas do modo BIOS no modo EFI, ou outra coisa qualquer. Na verdade, dada a falta de padrões em outras áreas de interface de utilizador EFI, eu esperaria que os detalhes fossem diferentes de uma EFI para outra, pelo que poderá ter de consultar a documentação do seu computador ou experimentar se precisar de saber os detalhes. Já vi alguns computadores com opções de som muito semelhantes em dois menus diferentes, o que complica ainda mais as coisas.