Compreendendo o processo de inicialização - BIOS vs UEFI

Compreendendo o processo de inicialização - BIOS vs UEFI
O processo de inicialização é universo para o seu. São necessárias muitas etapas para acontecer antes que seu sistema operacional assuma o controle e você obtenha um sistema em execução. Em certo sentido, há um pequeno sistema operacional incorporado envolvido em todo esse processo. Enquanto o processo difere de uma plataforma de hardware para outra e de um sistema operacional para outro, vejamos alguns dos pontos em comum que nos ajudarão a obter uma compreensão prática do processo de inicialização.

Vamos falar sobre o processo regular de inicialização, não usafi, primeiro. O que acontece entre esse ponto no tempo em que você pressiona o botão LIGADA LIGADO até o ponto em que seu sistema operacional botas e apresenta um prompt de login.

BIOS herdado - sistema básico de entrada/saída

Passo 1: A CPU está conectada para executar instruções de um componente físico, chamado NVRAM ou ROM, na startup. Essas instruções constituem o sistema firmware. E é esse firmware onde a distinção entre BIOS e UEFI é desenhada. Por enquanto, vamos nos concentrar no BIOS.

É responsabilidade do firmware, o BIOS, investigar vários componentes conectados ao sistema, como controladores de disco, interfaces de rede, placas de áudio e vídeo, etc. Em seguida, tenta encontrar e carregar o próximo conjunto de código de bootstrapping.

O firmware passa por dispositivos de armazenamento (e interfaces de rede) em uma ordem predefinida e tenta encontrar um carregador de inicialização armazenado dentro deles. Esse processo não é algo que um usuário normalmente se envolve com. No entanto, há uma interface rudimentar que você pode usar para ajustar vários parâmetros sobre o firmware do sistema, incluindo a ordem de inicialização.

Você entra nesta interface do usuário normalmente segurando F12, F2 ou Del Key como as botas do sistema. Para procurar uma chave específica no seu caso, consulte o manual da sua placa -mãe.

Passo 2: BIOS, então assume que o dispositivo de inicialização começa com um MBR (Mestre Boot Record) que contém um carregador de inicialização em primeiro estágio e uma tabela de partição de disco. Desde este primeiro bloco, o bloco de inicialização é pequeno e o carregador de inicialização é muito minimalista e não pode fazer muito mais, por exemplo, leia um sistema de arquivos ou carregue uma imagem do kernel.

Portanto, o segundo carregador de inicialização é chamado a ser.

Etapa 3: O carregador de inicialização do segundo estágio é responsável por localizar e carregar o kernel do sistema operacional adequado na memória. O exemplo mais comum, para usuários do Linux, é o Grub Bootloader. Caso você esteja com dupla porção, ele até fornece uma interface de interface do usuário simples para selecionar o sistema operacional apropriado para iniciar.

Mesmo quando você tem um único sistema operacional instalado, o menu Grub permite inicializar no modo avançado ou resgatar um sistema corrupto, acessando o modo de usuário único. Outros sistemas operacionais têm diferentes carregadores de inicialização. O FreeBSD vem com um deles também.

Passo 4: Depois que o kernel apropriado é carregado, ainda há uma lista inteira de processos de terras do usuário aguardando para serem inicializadas. Isso inclui seu servidor SSH, sua GUI, etc. se você estiver executando no modo multiusuário ou em um conjunto de utilitários para solucionar seu sistema se estiver executando no modo de usuário único.

De qualquer maneira, é necessário um sistema init para lidar com a criação inicial do processo e o gerenciamento contínuo de processos críticos. Aqui, novamente, temos uma lista de opções diferentes dos scripts de shell tradicionais que os unices primitivos usam, para implementação imensamente complexa do SystemD, que assumiu o mundo do Linux e tem seu próprio status controverso na comunidade. Os BSDs têm sua própria variante de init que difere dos dois mencionados acima.

Esta é uma breve visão geral do processo de inicialização. Muitas complexidades foram omitidas, a fim de tornar a descrição amigável para os não iniciados.

Especificações da UEFI

A parte em que a diferença UEFI vs BIOS aparece é na primeira parte. Se o firmware for de uma variante mais moderna, chamada UEFI ou interface de firmware extensível unificada, oferece muito mais recursos e personalizações. É para ser muito mais padronizado, para que os fabricantes de placa -mãe não precisem se preocupar com todos os sistemas operacionais específicos que possam correr em cima deles e vice -versa.

Uma diferença importante entre a UEFI e o BIOS é que a UEFI suporta um esquema de particionamento GPT mais moderno e o firmware da UEFI tem a capacidade de ler arquivos de um pequeno sistema de gordura.

Freqüentemente, isso significa que sua configuração e binários da UEFI ficam em uma partição GPT em seu disco rígido. Isso é frequentemente conhecido como ESP (partição do sistema EFI) montado em /efi, normalmente.

Ter um sistema de arquivo montável significa que seu sistema operacional em execução pode ler o mesmo sistema de arquivos (e perigosamente o suficiente, edite -o também!). Muitos malware exploram essa capacidade de infectar o próprio firmware do seu sistema, que persiste mesmo após um sistema operacional.

UEFI sendo mais flexível, elimina a necessidade de ter um carregador de inicialização do segundo estágio como o Grub. Muitas vezes, se você estiver instalando um sistema operacional único (bem suportado), como o Ubuntu Desktop ou o Windows com o UEFI ativado, você pode se safar de não usar o GRUB ou qualquer outro carregador de inicialização intermediário.

No entanto, a maioria dos sistemas UEFI ainda suporta uma opção BIOS herdada, você pode voltar a isso se algo der errado. Da mesma forma, se o sistema estiver instalado com o suporte do BIOS e da UEFI em mente, ele terá um bloco compatível com MBR nos primeiros setores do disco rígido. Da mesma forma, se você precisar inicializar seu computador ou usar apenas um carregador de inicialização de segundo estágio por outros motivos, você estará livre para usar o Grub ou qualquer outro carregador de inicialização que se adapte ao seu caso de uso.

Conclusão

A UEFI foi feita para unificar a plataforma de hardware moderna para que os fornecedores de sistemas operacionais possam se desenvolver livremente em cima deles. No entanto, ele se transformou lentamente em um pouco controverso de tecnologia, especialmente se você estiver tentando executar o sistema operacional de código aberto em cima dele. Dito isto, ele tem seu mérito e é melhor não ignorar sua existência.

No lado do outro, o BIOS legado também vai permanecer por pelo menos mais alguns anos no futuro. Seu entendimento é igualmente importante, caso você precise voltar ao modo BIOS para solucionar um sistema. Espero que este artigo tenha informado o suficiente sobre essas duas tecnologias, para que na próxima vez que você encontrar um novo sistema na natureza, você pode acompanhar as instruções dos manuais obscuros e se sentir em casa.