Os computadores modernos deixaram de trazer o sistema de arranque clássico chamado BIOS e passaram a usar um sistema chamado de UEFI. Muita gente critica este sistema principalmente por limitar a instalação de distribuições Linux. No entanto, a verdade é que este sistema é uma evolução natural e importante para a modernização dos computadores.
Na verdade o sistema UEFI não é o verdadeiro problema, esse é até uma vantagem dos computadores modernos. O verdadeiro problema está no sistema Secure Boot que foi construído com a premissa de dar segurança ao UEFI.
Assim, neste artigo saiba de forma simples porquê que o UEFI é uma evolução positiva nos computadores modernos, conheça o verdadeiro propósito do Secure Boot e ainda saiba como particionar e instalar o Ubuntu com sucesso nos computadores com sistemas UEFI.
Todo o artigo está simplificado, não recorrendo a explicações mais técnicas, nomeadamente como funciona o MBR, que é algo muito interessante que comprova a necessidade óbvia da evolução para sistemas UEFI. Se você quiser saber mais sobre pormenores técnicos, recomendamos a leitura da referência [4] que apresenta esses pormenores de forma clara e relativamente simples.
O porquê da existência do UEFI e do Secure Boot
Tal como referido acima, o UEFI não é mais que uma evolução natural do sistema BIOS que tinha um conjunto vasto de limitações, tal como poderá ver na subsecção seguinte. O facto de o UEFI combater essas limitações tornou-o bastante mais maleável o que significa que também o tornou mais suscetível a malwares. Para combater essa problemática foi construído um sistema chamado Secure Boot que apesar de ter um propósito aceitável, tem um funcionamento um pouco polémico.
O Sistema BIOS
Nos últimos 30 anos (sensivelmente) os computadores sempre utilizaram um sistema chamado de BIOS, um standard inventado por Gary Kildall e inicialmente utilizado em computadores da IBM. Toda a sua estrutura para o arranque do sistema tornou-o num standard por ser adaptável a diferentes dispositivos e por ser bastante adaptável ao nível da construção de partições.
O padrão de particionamento chama-se IBM-DOS e apesar de ser amplamente utilizado e explorado, devido à sua idade e da altura em que foi desenvolvido, ele tornou-se em algo limitado para as últimas tecnologias. Este sistema de particionamento utiliza uma tabela de partições onde lista as várias partições do disco, onde elas começam.
O problema desta tabela é que ela está dentro de um conjunto de dados que tem apenas 64bytes de tamanho e por esse motivo apenas é possível guardar informação de 4 partições primárias. Para combater esse problema, foi desenvolvido um sistema de partições lógicas, em que se cria uma partição extendida (um das 4 partições referidas) e depois adiciona-se partições lógicas dentro dessa partição. Há claro limitações na utilização desta função, nomeadamente de performance, no entanto a BIOS não permite mais.
Para além disso, não só havia limitações do tamanho dos discos (apenas 2Terabytes) como também exigia que os computadores modernos iniciassem executando instruções de há décadas atrás, com arquiteturas de 16bits. Ou seja, apesar do processador se de 32bits e 64 bits, ele no arranque tinha de utilizar estas instruções que limitavam o uso da memória para apenas 1MB de RAM no momento do Boot.
O sistema BIOS nos últimos anos estava completamente condenado. Para além de usar instruções antigas, era limitado ao nível de utilização de memória e na construção de muitas partições. No entanto, a maior limitação estava no tamanho dos discos e foi este, talvez, o factor determinante para a evolução inevitável para sistemas UEFI, que agora aceitam discos de até 9.44 Zettabytes (1 Zettabytes é 1 bilhão de Terabytes).
O Sistema UEFI
Nos sistemas UEFI em vez de se utilizar um sector limitado a apenas 64bytes (MBR), utiliza-se uma partição com esse propósito, permitindo portanto ter um espaço incomparavelmente superior. Para além disso, apesar dos sistemas UEFI poderem aceitar o modo de arranque antigo (infelizmente há exceções), chamado legacy, eles aceitam software de 32bits e 64bits, não obrigando o processador a utilizar instruções antigas e tendo acesso a toda a memória RAM.
As vantagens são óbvias, o computador pode arrancar qualquer software que esteja devidamente identificado na partição de boot (de arranque) e dando-lhe acesso imediato a toda a memória RAM.
Devido a este funcionamento os sistema UEFI aceita portanto discos de muitos terabytes, é mais rápido, mas ao mesmo tempo é mais vulnerável. O facto de UEFI permitir que softwares possam ser arrancados de forma independente do SO faz com que possa haver alguma margem superior aos sistemas anteriores para malwares, visto que podem ser arrancados serviços independentes do sistema operativo que trabalham diretamente com os dispositivos (hardware) do computador, isto durante o processamento do boot.
Então porquê permitir utilizar estes serviços independentes ao Sistema Operativo logo no arranque? Simples. Estes serviços poderão ser executados para obter informações como data e hora fornecidos por um servidor NTP; poderá realizar a ligação à Internet mesmo antes de arrancar o sistema operativo; reconhecimento de hardware; entre outros pormenores.
O Secure Boot
Uma vez que o UEFI traz uma forma bastante mais escalável de arrancar o sistema, nomeadamente mais partições e um arranque não limitado a um MBR de 64bytes, ele traz também mais formas de haver intrusão de malware. Antes o MBR apontava para um local de iniciação do sistema operativo (ou de um seletor de boot, por exemplo o Grub). Agora, o arranque fica ao cargo de uma partição que contém o software de arranque, independente do sistema operativo.
Devido à API do UEFI a possibilidade de adicionar serviços de malware independentes ao Sistema Operativo é real e portanto a Microsoft resolveu construir um sistema de chaves de autenticação chamado Secure Boot. Este sistema,
que normalmente vem em computadores com o Windows 8 pre-instalado, não aceita drivers nem loaders desconhecidos (não autorizados), sendo necessário chaves de autenticação para os softwares de arranque, para garantir que são conhecidos e por conseguinte confiáveis.
Atualmente poucas distribuições trazem chaves (que a Microsoft controla) e todas elas são de 64bits: Ubuntu 12.10 e posteriores, Fedora 18, Sabayon, OpenSUSE 12. O Ubuntu 12.04.2 LTS em princípio também, no entanto há relatos de alguns utilizadores que tiveram problemas. Isto ocorre um vez que para ter estas chaves é necessário realizar um pagamento de US$ 99 à Microsoft.
Apesar de o utilizador poder adicionar chaves personalizadas, manuais, para os seus sistemas pessoais, na verdade é procedimento complexo e portanto não é solução para o utilizador normal. Desta forma, o secure boot é portanto um entrave claro para o mundo Linux. Por esse motivo, normalmente recomenda-se desabilitar esse sistema de "Secure Boot", visto que na especificação do UEFI qualquer utilizador pode desativá-lo facilmente.
Infelizmente há relatos de alguns computadores não trazerem essa função. Uma vez que está a limitar a liberdade do utilizador, se você estiver perante um caso destes considere contactar a empresa/marca do seu computador.
Particionamento nos sistemas UEFI
Antes de mais se você vai redimensionar o seu disco, para adicionar novas partições, recomendamos que faça a redução do tamanho das partições através do Windows 8. Há casos em que o Windows não aceita que outros programas façam essa redução, por isso para evitar esses problemas faça a redução de tamanho pelo windows e depois a criação de partições faça através do Ubuntu. Para a redução de partições via Windows, recomendamos que leia este artigo:
Depois, recomendamos que você desligue os modos de fastStartup que o Windows 8 pode ter ativados, pois eles não "desligam" (desmontam) as partições por completo e portanto essa funcionalidade poderá originar problemas.
Depois de gravar o Ubuntu num DVD ou num
PenUSB, arranque o sistema através deles. Caso não funcione, desligue o Secure Boot no Setup do UEFI.
Durante a instalação do Ubuntu, escolha a instalação manual e crie pelo menos uma partição adicional apenas para o boot:
Pormenores importantes na instalação do Ubuntu
Não utilize o Ubuntu 32bits! Utilize a versão de 64bits
Uma vez que a Canonical (empresa que desenvolve o Ubuntu) tem chaves do Secure Boot apenas para Ubuntus de 64bits, como é óbvio os Ubuntus com arquitetura de 32 bits não funcionarão caso você tenha o Secure Boot ativo.
PenUSBs não arrancam quando o Secure Boot está ligado
Tentar arrancar o computador através de penUSBs será visto pelo Secure Boot como uma tentativa de arranque não autorizada e portanto você não será bem sucedido. Portanto nestes casos você tem duas soluções: ou desliga o Secure Boot; ou utiliza um DVD para arrancar com o Ubuntu. (
pergunta: DVDs arrancam com o Secure Boot ligado?)
Na instalação do Ubuntu é obrigatório ter uma partição dedicada ao Boot!
Tal como é referido na primeira secção do artigo, os sistemas UEFI deixaram de utilizar o MBR (que era o primeiro sector do disco) e passaram a utilizar uma partição de arranque. Portanto quando você formatar o seu computador precisa de ter inevitavelmente uma partição dedicada apenas ao boot. Na instalação do Ubuntu, você precisa de ter uma partição não muito grande, por exemplo 200MB, montada como /boot, tal como pode ver pela imagem abaixo:
Casos excecionais: utilize o modo Legacy
Há certos casos, provavelmente nos primeiros computadores com as primeiras versões do UEFI com Secure Boot que infelizmente não houve outra hipótese (segundo os utilizadores) senão utilizar o modo Legacy. Basicamente este modo faz com que o UEFI arranque em modo BIOS.
Esta solução pode ser importante por exemplo para quem quer instalar distribuições Linux que não são compatíveis com UEFI (nomeadamente distribuições pouco modernas, ou ainda não atualizadas para este sistema).
Deve ter em atenção que ao desligar o UEFI o Windows 8 deixa de arrancar. (
pergunta: Se desligar o Secure Boot o Windows 8 funciona na mesma?)
Referências: