Precisamos falar sobre a partição /boot

Uma das crendices que persiste até hoje é a instalação das distribuições GNU/Linux com uma partição específica para o /boot

Quando é necessário?

  • Usar uma partição /boot é necessária quando o seu bootloader não consegue acessar a sua partição raiz. Para quem usa o GRUB isso quer dizer ter a partição raiz em ZFS, discos em RAID, LVM, bcache, LUKS com criptografia personalizada, entre outros sistemas de arquivos bem pouco usados ou em testes…
  • Se você usa outro bootloader antigo, como syslinux ou lilo, possivelmente seja necessário caso sua partição raiz seja btrfs, xfs, zfs, ou outra recente.
  • Se você vai usar o systemd-boot, pode precisar dessa partição para liberar espaço da sua partição EFI pré-existente. É sabido que o systemd-boot é bem comilão de espaço, necessitando de cerca de 200 MB. Porém diversos tutorais recomendam criar uma segunda partição EFI para ele (especificamente para o PopOS que é a distribuição mais famosa a usar o systemd-boot). Só alguns firmwares antigos e bugados que podem não funcionar com duas partições EFI, se tornando obrigatória a utilização da partição /boot ou então ter que redimensionar a partição EFI atual.

E quando não precisa?

  • Se vc usa o GRUB e se sua partição raiz é ext4, btrfs, xfs você não precisa. Se vc desconhece RAID, LVM, LUKS, você também não precisa. Se você vai inventar moda com outro sistema de arquivos, pesquise. Provavelmente já é suportado pelo GRUB.
  • Se você usa um bootloader antigo (syslinux ou lilo) com sistema raiz em ext4.
  • O systemd-boot, por carregar o kernel já da partição EFI, pode carregar a partição raiz em qualquer tipo de sistema de arquivos. Ou seja, não precisa quando vc tem espaço de sobra na partição EFI ou criou uma segunda partição EFI somente para ele.

Quero usar, tenho fé que é melhor assim

Usar uma partição /boot separada traz alguns malefícios.

  • Se vc instalar várias versões de kernel poderá ficar sem espaço nessa partição, tendo problema para atualizar o seu sistema.
  • Se você criar uma partição /boot muito grande, vai perder espaço que poderia ser aproveitado na sua partição raiz.
  • Se você for instalar outra distribuição linux, começará a ter diversas partições no seu disco, aumentando a complexidade da instalação.
  • Você não pode instalar duas distribuições com a mesma partição /boot, pois a atualização de uma pode e vai alterar a configuração da outra (especialmente se você usa o GRUB).

Eu instalei o GNU/Linux em modo BIOS/Legacy, por isso preciso da partição /boot

Irrelevante. A necessidade da partição /boot independe do tipo de boot em uso no seu computador. Não importa se é BIOS ou UEFI.

Um tutorial falava para criar uma partição /boot

Existe um motivo pelo qual existia a necessidade dessa partição? Ou o tutorial não entrava nessa questão, apenas afirmava que “era melhor”? Considere a informação atualizada desse tópico, valendo pelo menos até final de 2021.

Minha instalação tem uma partição /boot mas acabei de descobrir que não precisava. Preciso reinstalar?

Claro que não. Esteja ciente das limitações e na próxima vez simplifique! Não precisa fazer o procedimento pra apagar essa partição (que é um tanto avançada), a menos que você esteja enfrentando problemas.


Edit 1: Adicionado informação sobre necessidade de partição específica em caso de discos em RAID ou uso de LVM.


Achou uma informação imprecisa? Informe para eu atualizar esse tópico. Vamos juntos derrubar esse mito!

11 curtidas

No meu antigo PC (Bios / MBR, de 2009) o Grub do openSUSE não “lembrava” a última escolha, por mais que eu tentasse configurar assim. ─ Sempre selecionava o próprio openSUSE. ─ Entendi que o motivo é que o Grub não conseguia “escrever” na partição “/” em BtrFS, onde estava a pasta /boot. ─ Esta foi a explicação encontrada.

No entanto, este ano o Grub do openSUSE consegue, sim, “escrever” na pasta /boot dentro da partição “/” em BtrFS. ─ Agora, o Grub sempre lembra minha última escolha e a seleciona automaticamente. ─ Aquela “explicação” terá perdido a validade? O Grub evoluiu, e agora já é capaz?

Ou o problema foi superado pelo fato de que agora tenho uma partição /efi (Fat32) montada dentro da pasta /boot? ─ Examino a pasta /boot/efi/EFI/opensuse/ mas não encontro ali nada que apresente “data de modificação” recente.

Em suma, apenas uma curiosidade intrigante. ─ Nenhum problema, já que está funcionando bem.

Basicamente o grub deixa pre-alocado um espaço de 1024 bytes em disco pra escrever nele. Depois do sistema montado ele é o arquivo /boot/grub/grubenv mas durante o boot a escrita é bem arcaica, apenas escrevendo bytes em um espaço predeterminado do disco. Imagino que seja estilo dd!!!

Provavelmente naquela época essa função ainda não tinha sido implementada no BTRFS, mas agora há essa possibilidade de reservar um bloco de disco. Atualmente pela documentação não é implementada em LVM ou RAID, ou ZFS e mais alguns casos.

1 curtida

Boa tarde. Me interessei pelo assunto. No fedora sempre crio partições no modo automático e sempre vem com “/boot” . A pergunta é posso ficar sem esse “/boot” ou vou ter problemas??
Meu notebook não tem “uefi” e em distros como manjaro eu nao instalo o “/boot”. Ja meu desktop tem “uefi” entao fica com “/boot/efi”. Obrigado.

Edit: Descobri já. Não da para ficar sem o /boot ele dá erro durante a instalação.

Pela documentação do Fedora, ele recomenda usar o /boot em partição separada por conta de limitações de firmwares. A documentação também reforça que não pode ficar em discos em RAID ou dentro de LVM. Ou seja, para acomodar o maior número de configurações possíveis que eles recomendam essa separação.

Mas pro usuário comum, que não quer entrar na dificuldade do LVM, nem imagina colocar discos em RAID, usar deixar a pasta /boot dentro da partição raiz é bem tranquilo.

Não sei como é o particionamento padrão do Fedora, mas se ele usar LVM por padrão então faz sentido usar a partição separada pro /boot, diminuindo a complexidade da instalação.

edit:
Adicionei a informação do Fedora no post inicial, pois há necessidade de partição específica /boot no caso de usar LVM para a partição raiz.

1 curtida

Obrigado amigo. Como eu digo “vivendo e aprendendo”. Hoje aprendi mais uma coisa importante com você: ler sempre a Wiki e a documentação da distro.

Imagino que, depois de ter feito a instalação com particionamento automático, não seja uma boa ideia tentar mexer nisso.

Mas como eu sempre escolho manualmente as partições que quero ter / usar, posso garantir que o Fedora funciona sem uma partição /boot separada.

Todas estas 11 distros estão funcionando aqui, em dualboot, todas sem partição /boot separada:

  • openSUSE
  • Arch
  • Debian
  • Fedora
  • KDE Neon
  • PCLinuxOS
  • Mageia
  • Linux Mint
  • Void Linux
  • Slackware
  • MX Linux

Uso apenas o Grub do openSUSE Tumbleweed ─ único que se mostrou capaz de detectar e carregar corretamente todas as outras distros. ─ Em caso de necessidade, o Grub do Mageia é capaz de carregar o openSUSE (exceto seus snapshots).

Nas outras 9 distros, desabilito os_prober, pois basta que os respectivos Grub detectem elas mesmas, para poderem ser lidos pelo Grub do openSUSE (e do Mageia).

No caso específico do Fedora, a instalação / atualização / remoção de Kernel não dispara atualização do Grub. ─ Tenho de atualizar manualmente seu Grub, para que o novo Kernel possa ser detectado pelo Grub do openSUSE (e de Mageia).

O motivo, é que o Fedora inventou uma “inovação” chamada “BLS” (BootLoaderSpec), desconhecida do Grub (e das outras distros): ─ As opções de carregamento do Fedora ficam em uma pasta /boot/loader/entries/, que só é reconhecida pelo Grub do próprio Fedora, na hora do boot.

Por isso, o Grub do Fedora não cria, sequer, um arquivo /boot/grub/grub.cfg. ─ Tive de criá-lo, ao executar manualmente o comando, pela primeira vez:

grub-mkconfig -o /boot/grub/grub.cfg

Mesmo assim, nenhuma opção de Fedora foi detectada pelo comando, ─ portanto, nada foi incluído no arquivo /boot/grub/grub.cfg, para ser lido pelo Grub das outras distros.

Essas coisas só funcionaram depois que desabilitei “BLS” no /etc/default/grub do Fedora.

1 curtida

Pior que eu fui fazer isso mesmo mexer e deu ruim. Mas eu estava querendo colocar o fedora silverblue no lugar do Workstation. Agora minhas duas maquinas estão com Silverblue e esta tudo uma beleza. Obrigado amigo por responder.

1 curtida

No caso do silverblue é totalmente diferente

As imagens ostree ficam
Ficam são gravados no boot
Logo,quando damos rebase,os dados das versões do rollback e etc,ficam na partição boot