Qual é o uso de / boot (baseado em lvm) no particionamento?

19

Como /homepartição separada, é fácil reinstalar / atualizar. Ter /bootajuda durante a inicialização dupla com o Windows? Quero dizer, é útil para usuários normais de desktop / notebook ou é uma técnica avançada que precisa ser implantada em servidores?

saiki4116
fonte

Respostas:

24

[As informações nesta resposta sobre o GRUB2 e o LVM se devem em grande parte aos esforços de Jan ; originalmente, essa resposta estava gravemente errada, e Jan merece crédito pelas melhorias que fiz. -Eliah]

Quando não/boot estiver usando o LVM, uma partição separada é útil principalmente para garantir que os arquivos necessários para a inicialização estejam próximos o suficiente do início da unidade, quando a /partição não estiver no início da unidade. Por exemplo, convém colocar sua partição linux-swap muito perto do início da unidade, pois em algumas unidades os dados próximos ao início da unidade são potencialmente acessados ​​mais rapidamente. Então você pode ter uma pequena /bootpartição, seguida pela sua partição linux-swap, seguida pela /partição (seguida por outras partições separadas, se as tiver, como /home).

Por algum tempo, isso tem sido amplamente desnecessário, porque com os BIOS mais novos, geralmente você pode inicializar um sistema cujos arquivos de inicialização estão em uma partição distante do início do disco. Ainda assim, há muito pouca desvantagem em fazê-lo (a menos que você seja /boottão pequeno que encha - provavelmente deve ter cerca de 250 MiB), tantas pessoas que particionam manualmente ainda o fazem.

Carregadores de inicialização mais antigos, como o próprio LILO, tinham limitações que tornavam as /bootpartições separadas úteis, como Jan aponta .

Ao usar o LVM, se sua /partição estiver no LVM, era necessário ter uma /bootpartição separada . Nessa configuração, a /bootpartição não é uma partição do LVM, mas uma partição no disco antes do início do LVM. Isso ocorre porque os carregadores de inicialização não conseguiram ler arquivos de um LVM. Portanto, você nunca poderá inicializar em seu sistema no LVM se ele não tiver uma /bootpartição separada (consulte isto e isto para obter detalhes).

A capacidade de ler arquivos de um LVM foi adicionada ao GRUB2 , o que significa que todas as versões recentes do Ubuntu (Ubuntu 9.10 Karmic Koala e posterior) o possuem . Portanto, com a configuração adequada, você pode ter todo o sistema Ubuntu em um LVM sem uma partição / inicialização separada. Consulte esta página para detalhes sobre como configurar isso. (De fato, a única versão atualmente suportada do Ubuntu que usa o GRUB original em vez do GRUB2 é o Ubuntu 8.04 LTS Server; todas as outras versões não EoL - 10.04 LTS, 10.10, 11.04 e 11.10 - usam o GRUB2.)

Se você estiver usando LVM, mas não para a unidade do sistema Ubuntu, apenas para uma unidade de armazenamento ou para parte do sistema (talvez para /home), mas não /, uma /bootpartição separada não será necessária, mesmo se você estiver usando um antigo ( pré-GRUB2).

Em resumo, uma /bootpartição separada é em grande parte uma questão de preferência pessoal para sistemas que não usam LVM, enquanto um sistema mais antigo instalado em um LVM pode precisar de um.

Eliah Kagan
fonte
3
Isso está correto, porém um pouco desatualizado. Versões recentes do grub2 podem ler / inicializar a partir de um volume LVM. wiki.archlinux.org/index.php/GRUB2#LVM (Link para Arch Wiki, não tenho certeza qual versão do Ubuntu seria lançado uma versão suficientemente recente do grub.)
Jan
@ Jan Obrigado pela informação - eu editei minha resposta para refletir isso. Se você puder sugerir mais melhorias, comente mais ou, se preferir, sinta-se à vontade para editar a minha resposta.
Eliah Kagan 6/11/11
@Jan Em relação a quais versões do Ubuntu são fornecidas o GRUB novo o suficiente para eliminar o / boot do LVM ... de acordo com gnu.org/software/grub/manual/grub.html#Changes-from-GRUB-Legacy , parece com tudo versões do GRUB2 são capazes disso. Portanto, isso incluiria qualquer versão recente do Ubuntu. Vou editar minha postagem novamente para refletir isso.
Eliah Kagan 6/11/11
Pergunta: Isso é relevante se todos os seus discos rígidos forem SSDs? Nesse caso, como a unidade não possui discos, realmente não existe um local ideal (início da unidade) para armazenar uma partição de inicialização ou troca, existe?
user447607
8

/boot existe por razões técnicas e históricas.

O carregador de inicialização (grub ou lilo) deve poder acessar seus próprios arquivos, o kernel do Linux e o ramdisk inicial. Esses arquivos são colocados em /boot.

A versão anterior do lilo só podia acessar algum subconjunto do disco rígido, entenderia apenas um número limitado de sistemas de arquivos (praticamente apenas o ext2) e exigia que o sistema de arquivos residisse em uma partição primária ou lógica (ou seja, sem RAID ou LVM md). Portanto, tornou-se prática comum ter uma pequena /bootpartição.

As versões modernas do grub são muito mais flexíveis e, portanto, em muitos casos, uma partição separada /bootnão é mais necessária.

Para a inicialização dupla do Linux e do Windows, /booté irrelevante (embora eu goste de usar o setor de inicialização da partição de inicialização para o carregador de barcos). No entanto, ao inicializar duas instalações diferentes do Linux, é comum compartilhar /boot.

Jan
fonte
-1

Você também pode usar uma partição única / de inicialização ao instalar várias distribuições (assim como uma única partição de troca). Nenhuma dessas distribuições possui 100% das informações / boot, portanto / boot não deve estar em nenhuma partição de uma única distribuição.

Joao Cordeiro
fonte
2
Eu não concordo Ser único /bootpara várias distribuições causaria problemas ao atualizar kernels ou GRUB.
Melebius 03/10/19