O Carregador de inicialização GRUB Linux é o carregador de inicialização mais amplamente utilizado para o Linux. Todo aspirante a usuário de Linux se beneficiaria ao aprender sobre o GRUB do Ubuntu. Neste tutorial, você aprenderá o que é o GRUB, como funciona o processo de inicialização e mergulhará em várias configurações úteis do GRUB do Ubuntu.
Mergulhe para saber mais.
Pré-requisitos
Se você gostaria de acompanhar este tutorial, certifique-se de ter um dispositivo Linux que tenha o GRUB como carregador de inicialização. Este tutorial será baseado no Ubuntu 18.04.5 LTS, sendo executado em uma máquina virtual no Oracle VirtualBox.
Compreensão do Processo de Inicialização do GRUB do Ubuntu
GRUB é um acrônimo para Grand Unified Boot Loader e é o componente principal e mais crucial para inicializar seu dispositivo. O GRUB também é o carregador de inicialização mais prevalente para o Linux. Sua jornada começará com você conhecendo um pouco mais sobre o processo de inicialização do GRUB.
No processo geral de inicialização, o BIOS começa invocando a etapa POST e depois procura o carregador de inicialização no Registro Mestre de Boot (MBR).
O MBR é a informação no primeiro setor de qualquer disco rígido. O MBR identifica onde está um Sistema Operacional. As informações armazenadas no MBR carregam (inicializam) o SO na RAM do dispositivo.
Este artigo aborda apenas o lado do MBR. Mas você também pode encontrar discos que usam GPT, que significa Tabelas de Partição GUID. O GPT é melhor se você planeja criar mais de quatro partições, pois um disco MBR pode conter no máximo 4 partições primárias.
Na captura de tela abaixo, você pode ver um diagrama do processo de inicialização. Você pode observar que o Ubuntu GRUB carrega o kernel escolhido na memória principal: a Memória de Acesso Aleatório (RAM). Após o carregamento do kernel, os usuários podem fazer login no dispositivo.

Comparando os Bootloaders Ubuntu GRUB e LILO
O Mundo Linux possui três principais boot loaders: LILO, GRUB e GRUB2. O GRUB2 é o bootloader mais recente e principal nas distribuições Linux. O GRUB2 é o mais utilizado e demonstrado neste tutorial, pois é o bootloader padrão do Ubuntu, mas o LILO ainda está presente no Linux. Nesta seção, você aprenderá como eles se comparam entre si.
Outros carregadores de inicialização Linux estão disponíveis no mercado, como o GNU GRUB, que possui excelente suporte para gerenciamento de memória e uma estrutura orientada a objetos. O outro é SYSLINUX, que é um carregador de inicialização leve.
O GRUB suporta a inicialização de vários sistemas operacionais. O LILO, por outro lado, só pode inicializar um sistema operacional.

O Ubuntu GRUB funciona com o Windows, Linux, Unix, macOS, BSD, Solaris, enquanto o LILO oferece suporte principalmente a sistemas operacionais Linux.
Se você atualizar o arquivo de configuração no LILO, então o LILO precisa ser reinstalado no MBR. Se você alterar as configurações do GRUB, não é necessário reinstalar.
Seleção de Diferentes Kernels ou Modos de Recuperação
Esta seção mostrará como selecionar um kernel ao inicializar o dispositivo e se recuperar de um kernel corrompido.
A kernel works as an interface between hardware and software. It controls all the processes that users run on the device.
Aqui estão os passos para selecionar um kernel usando uma VM no Oracle VirtualBox.
1. Faça login diretamente no console do dispositivo Ubuntu usando o Oracle VirtualBox.
2. Reinicie sua máquina Ubuntu usando o comando de desligamento conforme mostrado abaixo.
Assim que o dispositivo reiniciar, pressione e segure a tecla Shift enquanto carrega o GRUB do Ubuntu, e você verá o menu do carregador de inicialização GRUB. Se você não selecionar nada, o GRUB inicializará o sistema com o kernel padrão e seguirá com o processo de inicialização.
Você deve selecionar Opções avançadas para Ubuntu quando precisar inicializar com um kernel diferente do kernel padrão. Ou se você enfrentar problemas no sistema, como corrupção de arquivos ou o kernel não carregar corretamente.

4. Depois de selecionar as Opções avançadas para Ubuntu, um menu GRUB do Ubuntu será exibido. No menu, você deve ver várias opções de kernels para escolher. Se você não selecionar uma opção, o primeiro kernel exibido será carregado por padrão.
Como você pode ver na imagem abaixo, existem duas opções adicionais para cada kernel: upstart e recovery.
- (upstart): uma substituição baseada em eventos para o daemon /sbin/init, que lida com a inicialização de tarefas e serviços durante a inicialização, parando-os durante a desativação e supervisionando-os enquanto o sistema está em execução.
- (modo de recuperação): para recuperar o kernel de quaisquer falhas no sistema.

5. Depois de fazer login no dispositivo, o comando uname
verifica se o kernel especificado está carregado. A opção -r
imprime o nome do kernel.

Configurando o Sistema Operacional Padrão
Agora que você está mais familiarizado com o GRUB, você ajustará algumas opções de configuração do GRUB. Você começará configurando qual sistema operacional será carregado por padrão.
1. Faça login no seu dispositivo Ubuntu usando seu cliente SSH favorito.
2. Agora, liste as entradas do menu de inicialização do GRUB executando o comando awk
como mostrado abaixo. O comando awk
irá exibir todas as entradas armazenadas em /boot/grub/grub.cfg. O conteúdo do arquivo aparecerá no terminal. Preste atenção nas linhas. Você precisará do número associado à linha à frente, que começa com zero, ou seja, a linha Ubuntu
é 0
e Ubuntu, com Linux 4.4.0-210-generic
é 1
.

3. Em seguida, edite o arquivo de configuração do GRUB. Você pode contar com o vi
para editar o arquivo e alterar o valor de GRUB_DEFAULT
, mas use o editor de sua preferência conforme desejado.
Agora, defina o valor de GRUB_DEFAULT
para o número da linha da entrada do SO desejada. Lembre-se do comando awk
que você executou? Essas eram as entradas do SO. Se você definir GRUB_DEFAULT
como 0
, a primeira entrada do SO no menu de inicialização do GRUB será iniciada; se você definir como 1
, o dispositivo iniciará a segunda entrada do SO por padrão, e assim por diante. Na captura de tela abaixo, a primeira entrada do SO Ubuntu está configurada para iniciar por padrão.
Por padrão, o GRUB não espera no menu de inicialização e inicia a inicialização imediatamente, em 0 segundos. Você pode alterar essa configuração de tempo de espera alterando o valor de
GRUB_TIMEOUT
. O valor significará o número de segundos em que o menu estará visível antes que a inicialização comece. Se o valor for5
, o menu de inicialização aparecerá por 5 segundos para que você possa selecionar qual SO deseja carregar quando o sistema iniciar.

4. Uma vez que você salvar as alterações no arquivo de configuração do GRUB, certifique-se de executar o comando update-grub
. O comando update-grub
leva o arquivo de configuração alterado e aplica-o ao sistema.

Configurando a Imagem de Fundo no GRUB do Ubuntu
Sua configuração do GRUB não precisa ser monótona. Você pode adicionar um pouco de estilo ao GRUB adicionando uma imagem de fundo ao menu do GRUB. Você pode definir imagens como fundo no GRUB com a opção GRUB_BACKGROUND
. Siga as etapas abaixo para personalizar o GRUB.
1. Edite o arquivo de configuração do GRUB com o vi
, ou seu editor de texto preferido, e adicione a linha GRUB_BACKGROUND
como mostrado abaixo. Neste tutorial, a imagem é armazenada em uma pasta home do usuário chamada UBUNTU
, como o GRUB é executado como root, ele pode acessar imagens em todo o sistema de arquivos. Uma vez modificado, salve o arquivo de configuração.
A imagem do arquivo shanky.jpeg já estava no sistema. Substitua esse nome pelo nome do arquivo que você deseja como imagem de fundo.
2. Em seguida, após fazer as alterações no arquivo de configuração do GRUB, execute o comando update-grub
.

3. Além disso, verifique se a imagem que você adicionou no arquivo Grub como fundo está funcionando conforme o esperado. Para verificar, reinicie sua máquina e pressione a tecla Shift enquanto o GRUB está carregando. Como você pode ver abaixo, o GRUB agora tem uma imagem de fundo.

Inicialização dupla com GRUB
Uma das maiores características do GRUB no Ubuntu é que ele permite que você escolha entre o Windows e o Linux quando o seu dispositivo é inicializado, também conhecido como inicialização dupla. A inicialização dupla permite que você use o Linux e o Windows juntos em um único dispositivo, facilitando a vida dos engenheiros de TI que trabalham com vários sistemas operacionais.
Até o início de 2021, o script padrão os_prober
, que adiciona automaticamente entradas de menu para sistemas operacionais adicionais, estava desativado devido a preocupações de segurança com a detecção automática de SO. Você pode reativar essa funcionalidade com o seguinte comando, desde que esteja ciente dos sistemas operacionais instalados.
Depois de configurar a inicialização dupla no seu dispositivo, você deve ver uma tela semelhante ao menu do GRUB quando sua máquina é iniciada.

Conclusão
Neste tutorial, você aprendeu o que é o GRUB, e o artigo apresentou o processo de inicialização do GRUB.
Você também aprendeu a ajustar algumas configurações do GRUB no Ubuntu, carregar kernels diferentes e até mesmo aprendeu sobre a inicialização dupla.
Agora que você tem um conhecimento sólido do GRUB, quais são algumas das opções de configuração que você irá alterar?