Você está na página 1de 17

UCAN - Faculdade de Engenharia

Administração de Sistemas Linux

3. BOOT
Eng.º Inocêncio Lunga
BOOT
• O QUE É?
• Quando você liga o seu sistema Linux, ele desencadeia
uma série de eventos que eventualmente leva a tela de
login. Normalmente você não se preocupa com o que
acontece por trás dos panos, basta fazer login e começar
a usar seus aplicativos.
• No entanto, existe um processo de inicialização do
computador apartir do momento em que é dada a ordem
de ligar (momento em que o botão powerON é
pressionado) até o carregamento do sistema operativo e a
apresentação da tela de login. Este processo é chamado
de boot.
BOOT
• COMO FUNCIONA?
• Para controlar a máquina, o componente principal do sistema operacional — o
kernel — deve ser carregado por um programa chamado bootloader (carregador de
inicialização), que por sua vez é carregado por um firmware pré-instalado, como BIOS
ou UEFI.
• É possível passar opções para o kernel no momento da inicialização, com propósitos
como: especificar o montante de memória a usar, a partição que contém o sistema de
arquivos raiz, em qual modo o sistema operacional deve ser executado, etc...
• Uma vez carregado, o kernel dá seguimento ao processo de inicialização,
identificando e configurando o hardware. Por fim, o kernel chama o utilitário
responsável por iniciar e gerenciar os serviços do sistema.

Nota: O processo de inicialização também é importante para


identificar se dispositivos e serviços foram identificados e
configurados corretamente.
BOOT
• O PROCESSO DE BOOT NO LINUX:
BOOT
• FIRMWARE:
• Todos os computadores IBM-compatible utilizam algum tipo de
firmware integrado (localizado em chips de memória não volátil).
• O firmware é essencial para o funcionamento adequado de um
computador, garantindo a inicialização correta do hardware e a
interação suave entre o hardware e o software do sistema operativo.
• Em computadores mais antigos, o firmware usado era o BIOS (Basic
Input/Output System). Já em computadores mais recentes o firmware
usado é o UEFI (Unified Extensible Firmware Interface ).
Nota: O firmware pode ser atualizado para corrigir bugs, adicionar novos recursos ou melhorar o
desempenho do hardware. Essas atualizações podem ser fornecidas pelos fabricantes do hardware e
geralmente são instaladas através de utilitários específicos fornecidos pelo fabricante.
BOOT
• FUNÇÕES DO FIRMWARE:
• Algumas das principais funções do firmware são:
O firmware é responsável por iniciar o hardware básico do computador durante o processo de
Inicialização do inicialização. Isso inclui realizar testes de diagnóstico nos componentes principais, como
hardware memória RAM, processador, disco rígido e outros dispositivos conectados.

O firmware fornece uma interface de baixo nível entre o hardware e o software do sistema
Interface de baixo operacional. Ele gerencia a comunicação entre o hardware e o sistema operacional, permitindo
nível que o software do sistema operacional interaja com os dispositivos de hardware.

O firmware configura e inicializa o hardware do sistema, garantindo que ele esteja funcionando
Configuração do corretamente e esteja pronto para ser usado pelo sistema operacional e pelo software do
hardware usuário.

Inicialização do Em muitos casos, o firmware é responsável por carregar o bootloader, que por sua vez carrega o
bootloader sistema operacional principal.
BOOT
• POST:
• POST (Power-On Self-Test ): é um procedimento automático executado pelo
hardware de um computador quando ele é inicializado. O POST tem como objetivo
realizar uma série de testes de diagnóstico nos componentes principais do sistema
para garantir que eles estejam funcionando corretamente antes que o sistema
operacional seja carregado.
• Durante o POST, o computador verifica uma série de componentes e subsistemas
importantes, incluindo:
➢ Processador (CPU)
➢ Memória RAM
➢ Controlador de vídeo e monitor
➢ Controladores de dispositivos ( disco rígido, unidades de CD/DVD, teclado e mouse)
➢ BIOS/UEFI
➢ Outros dispositivos de hardware

Nota: Se o POST detectar algum problema durante sua execução, geralmente sinaliza um erro por meio de mensagens na
tela, códigos sonoros (beeps) ou indicadores LED no gabinete do computador. Essas mensagens de erro ajudam os técnicos
de suporte ou usuários a diagnosticar e resolver problemas de hardware.
BOOT
• BOOTLOADER:
• O bootloader (gestor de arranque) é o software que entra em ação imediatamente após os
testes de hardware efetuados pelo firmware. Ele guarda informações sobre os Sistemas
Operativos existentes numa máquina e dá a ordem de início ao Sistema Operativo para
arrancar.
• Em máquinas com Dual Boot ou Multi Boot é também o bootloader que disponibiliza ao
utilizador uma interface gráfica com os Sistemas Operativos encontrados no computador
para que o utilizador escolha que Sistema Operativo deve arrancar.

Nota: O bootloader não se limita a apontar apenas para Sistemas Operativos, ele pode apontar
para qualquer tipo de software e até mesmo pode apontar para um outro bootloader.
É possível ter um bootloader primário que aponta para um bootloader secundário, que fornece
opções para carregar o(s) sistema(s) operativo(s). Este processo é chamado de chainloading
(carregamento em cadeia).
BOOT
• BOOTLOADER:
• No mundo Linux é muito comum as distribuições virem com um gestor de arranque
predefinido, contudo, existem diversos gestores de arranque por onde os utilizadores
podem optar e selecionar o gestor da sua preferência. Algumas distribuições inclusive
trazem mais do que um bootloader podendo o utilizador escolher qual o que deverá estar
ativo.
• Alguns dos bootloaders mais populares no mundo Linux são:
➢ GRUB (Grand Unified Bootloader)
➢ LILO (Linux Loader)
• Atualmente, a maioria das distribuições Linux usa o GRUB (GRand Unified Bootloader)
como o bootloader padrão, devido à sua flexibilidade e recursos avançados. No entanto, o
LILO (LInux LOader) foi amplamente utilizado no passado. Algumas distribuições Linux que
costumavam usar o LILO como bootloader padrão incluíam o Slackware e o SUSE Linux. No
entanto, muitas distribuições migraram para o GRUB devido às suas vantagens e recursos
adicionais.
BOOT
• LILO:
• LILO (LInux Loader) trata-se de um software que
permite o uso de dois ou mais sistemas
operacionais no mesmo computador. A
ferramenta possui uma série de instruções para
gerenciar o setor de boot (inicialização) do HD,
permitindo que se inicialize o computador a
partir de uma partição que não seja a primeira
do disco.
• A incapacidade de lidar com sistemas UEFI, bem
como outras dificuldades contribuiram para que
o seu desenvolvimento fosse encerrado em
dezembro de 2015.
BOOT
• GRUB:
• O GRUB (abreviação de GRand Unified Bootloader) é um
bootloader do Projeto GNU. O GRUB é a implementação de
referência da Especificação Multiboot da Free Software
Foundation, que oferece ao usuário a opção de inicializar um
dos vários sistemas operacionais instalados em um
computador ou selecionar uma configuração específica do
núcleo disponível nas partições de um determinado sistema
operacional.
• A primeira versão do GRUB (GRUB Legacy) foi criado em 1999
para fornecer um bootloader robusto e configurável. GRUB
rapidamente se tornou o bootloader padrão para todas as
distribuições Linux, sejam elas executadas em sistemas BIOS
ou UEFI.

• GRUB2 foi criado em 2005 como uma reescrita total do


sistema GRUB Legacy. Ele suporta recursos avançados, como
a capacidade de carregar módulos de driver de hardware e
usar instruções lógicas para alterar as opções do menu de
inicialização dinamicamente, dependendo das condições
detectadas no sistema (como por exemplo: se um HD externo
estiver conectado).
BOOT
• BOOTLOADERS ALTERNATIVOS:
• Systemd-boot loader: vem ganhando popularidade nas distribuições Linux que usam o método de
inicialização systemd. Ele gera um menu de opções de imagem de inicialização e pode carregar
qualquer imagem de inicialização UEFI.
• U-Boot: este bootloader pode inicializar a partir de qualquer tipo de disco. E pode carregar
qualquer tipo de imagem de inicialização.
• O projeto SYSLINUX: inclui bootloaders separados que têm usos especificos no Linux:
• SYSLINUX: Um bootloader para sistemas que usam o filesystem Microsoft FAT (popular para inicializar Sistemas
Operativos a partir de unidades flash USB);
• EXTLINUX: Um mini-bootloader para inicializar Sistemas Operativos a partir de filesystems ext2, ext3, ext4 ou
btrfs;
• ISOLINUX: um bootloader para inicializar Sistemas Operativos a partir de um LiveCD ou LiveDVD;
• PXELINUX: um bootloader para inicializar Sistemas Operativos a partir de um servidor de rede
• MEMDISK: Um utilitário para inicializar sistemas operacionais DOS mais antigos a partir de outros gerenciadores
de inicialização do projeto SYSLINUX

Nota: Como o UEFI pode carregar bootloaders de qualquer tamanho, agora é possível carregar um kernel do sistema
operativo Linux diretamente sem um bootloader especifico. Este recurso foi incorporado ao kernel Linux a partir da versão
3.3.0. No entanto, esse método não é comum, pois os programas carregadores de boot podem fornecer mais versatilidade
na inicialização, especialmente ao trabalhar com vários sistemas operativos.
BOOT
• SISTEMA DE INICIALIZAÇÃO:
• O sistema de inicialização é uma parte essencial de qualquer sistema operacional Linux, responsável
por iniciar os serviços e processos necessários para o funcionamento do sistema.
• Os 2 principais sistemas de inicialização são o SysVinit e o systemd.
SysVinit: foi o padrão para a inicialização de sistemas Linux durante muitos anos. Ele funciona através de scripts shell,
encontrados em diferentes diretórios de inicialização do sistema. SysVinit controla quais daemons e recursos estarao
disponiveis empregando o conceito de runlevels (níveis de execução). Os runlevels são numerados de 0 a 6 e sao
projetados pelos mantenedores da distribuicao para atender a propositos especificos.
systemd: é um sistema de inicialização moderno e mais rápido, oferecendo recursos avançados em relação ao SysVinit.
Ele foi projetado para melhorar o tempo de inicialização do sistema, gerenciar de forma eficiente serviços e processos,
além de garantir a integridade do sistema através de mecanismos como controle de dependências, paralelização de
tarefas e registro de eventos.
O systemd oferece uma camada de compatibilidade para os comandos e niveis de execucao do SysVinit. O systemd
também introduziu conceitos como systemd targets, que fornecem um conjunto de serviços que devem ser iniciados
para diferentes níveis de execução do sistema.

Nota: Tal como o systemd, o Upstart é um sistema de inicialização substituto para o SysVinit. O foco do Upstart é acelerar o
processo de inicialização, paralelizando o processo de carregamento dos servicos do sistema. O Upstart foi usado pelas
distribuições baseadas no Ubuntu em versoes anteriores, mas hoje deu lugar ao systemd.
BOOT
• SysVinit vs systemd:
• Uma das principais diferenças entre o systemd e o SysVinit é a forma como eles
gerenciam serviços. O SysVinit usa scripts de inicialização individuais para cada
serviço, enquanto o systemd utiliza “units”, que são arquivos de configuração que
descrevem os serviços, suas dependências e opções de inicialização. Com o
systemd, é possível iniciar, parar e reiniciar serviços de forma mais consistente e
controlada.
• Além disso, o systemd permite monitorar e gerenciar os serviços de forma mais
detalhada.
• O systemd também oferece recursos como reinicialização automática de serviços
que falharam, suporte a logs centralizados e segurança avançada.
• No entanto, a adoção do systemd não foi isenta de polêmicas. Alguns usuários e
administradores de sistemas se preocupam com a complexidade e a dependência
de recursos do systemd.
• Apesar dessas preocupações, muitas distribuições Linux optaram por adotar o
systemd como seu sistema de inicialização padrão devido aos benefícios que ele
oferece.
BOOT
• SysVinit vs systemd:
• Uma das principais diferenças entre o systemd e o SysVinit é a forma como eles
gerenciam serviços. O SysVinit usa scripts de inicialização individuais para cada
serviço, enquanto o systemd utiliza “units”, que são arquivos de configuração que
descrevem os serviços, suas dependências e opções de inicialização. Com o
systemd, é possível iniciar, parar e reiniciar serviços de forma mais consistente e
controlada.
• Além disso, o systemd permite monitorar e gerenciar os serviços de forma mais
detalhada.
• O systemd também oferece recursos como reinicialização automática de serviços
que falharam, suporte a logs centralizados e segurança avançada.
• No entanto, a adoção do systemd não foi isenta de polêmicas. Alguns usuários e
administradores de sistemas se preocupam com a complexidade e a dependência
de recursos do systemd.
• Apesar dessas preocupações, muitas distribuições Linux optaram por adotar o
systemd como seu sistema de inicialização padrão devido aos benefícios que ele
oferece.
BOOT
• RESUMO:
DÚVIDAS

Você também pode gostar