É bom criar uma partição separada para / boot?

77

Eu já vi algumas pessoas fazerem uma partição separada para /boot. Qual é o benefício de fazer isso? Que problemas posso encontrar no futuro fazendo isso?


Além disso, exceto /homee /boot, quais partições podem ser separadas? É recomendado?

Am1rr3zA
fonte
1
Meu Ubuntu 8.04 veio da Dell com uma partição / boot. Não foi minha escolha. Quando instalei o 10.04 fresco, ele não tentou criar um.
David Thornley
Quando tentei instalar o Arch Linux pela primeira vez, isso foi altamente recomendado e até falhou ao instalar na primeira vez que não fiz isso. Porém, nunca houve problemas em outras distros.
Consulte também uma pergunta sobre partições separadas em geral e perguntas específicas para / tmp e / var
sondra.kinsey

Respostas:

46

Esta é uma remanescente dos "velhos tempos" quando as máquinas tiveram problemas para lidar com discos rígidos grandes. A idéia por trás da /bootpartição era tornar a partição sempre acessível a qualquer máquina na qual a unidade estivesse conectada. Se a máquina pudesse chegar ao início da unidade (números inferiores do cilindro), poderia iniciar o sistema; a partir daí, o kernel do linux seria capaz de ignorar a restrição de inicialização do BIOS e contornar o problema. Como as máquinas modernas levantaram essa restrição, não há mais uma necessidade fixa de /bootseparar-se, a menos que você precise de processamento adicional de outras partições, como criptografia ou sistemas de arquivos que não são reconhecidos nativamente pelo carregador de inicialização.

Tecnicamente, você pode se safar de uma única partição e ficar bem, desde que não esteja usando um hardware realmente muito antigo (antes de 1998).

Se você decidir usar uma partição separada, certifique-se de deixar espaço suficiente, digamos 200mb de espaço. Isso será mais do que suficiente para várias atualizações do kernel (que consomem vários megas cada vez). Se o / boot começar a encher, remova os kernels mais antigos que você não usa e ajuste o seu gerenciador de inicialização para reconhecer esse fato.

Avery Payne
fonte
2
Com relação ao tamanho, "para o Fedora 13, o tamanho padrão da partição / inicialização foi aumentado para 500 MiB para evitar esses problemas no futuro". (em fedoraproject.org/wiki/… )
Cristian Ciupitu 29/08
3
500 milhões? wtf eles estão armazenando lá? Eu nunca precisei nem de 100 milhões, agora estou usando 13 milhões /boot.
xenoterracide
27
Ainda existem muitas razões modernas para ter uma partição / boot, e todas se resumem a "O carregador de inicialização não consegue ler o sistema de arquivos raiz". O caso de uso histórico é, como você disse, unidades muito grandes, mas os casos modernos são criptografia, novos sistemas de arquivos (como ext4), LVM ou qualquer configuração esotérica que simplesmente não é suportada pelo GRUB.
Sr. Shiny e New
22
Alguém mencionou que, em situações de inicialização dupla, se o sistema Linux for instalado após o Windows, o GRUB fornece linhas de inicialização para sistemas lado a lado. Se / boot não estivesse na partição separada, uma exclusão da partição Linux tornaria a máquina não inicializável. Se / boot estivesse em uma partição separada, a exclusão da instalação do Linux (por exemplo, partição raiz) não prejudicaria a capacidade de inicializar o sistema lateral.
precisa saber é o seguinte
5
Eu tive minha partição de 100 MB / boot cheia de kernels desatualizados. Isso é muito confuso quando isso acontece.
Malfist
39

Uma razão para ter uma partição / boot é que ela permite coisas como criptografado /, onde o kernel e o initrd são carregados de uma partição não criptografada e depois usados ​​para montar a partição raiz criptografada que contém o sistema operacional. No entanto, não deve importar para uso geral.

Adicionando um comentário de Riccardo Murri :

Há também razões históricas para se ter um boot / separado: nos tempos antigos, o BIOS só podia acessar parte de um disco grande, portanto, todos os arquivos necessários ao gerenciador de inicialização do SO tinham que ser mantidos na zona acessível pelo BIOS. Portanto, uma partição / inicialização separada. Isso não se aplica mais, embora

dsp
fonte
1
bem ... iirc, o gerenciador de inicialização ainda pode acessar partições primárias ainda ... então pode ser útil se você tiver algumas partições estendidas.
Xenoterracide
18

A principal razão para as principais distribuições corporativas, como a Red Hat e acho que o Suse usar uma inicialização / separada, é que elas usam LVM por padrão e o Grub não pode ser usado para inicializar a partir do LVM. É simples assim.

Portanto, se você deseja usar o LVM, e isso é um benefício, use um / boot separado. Pessoalmente, acho que é uma boa prática para usar tanto LVM e partições separadas para uma série de coisas, como /var, /boot, /homee /tmpe até mesmo /usrem servidores, por exemplo, a fim de proteger seu sistema de arquivos raiz ou de dados partições de ficar cheio.

wzzrd
fonte
3
Outro bom motivo foi que o GRUB não suportava o ext4 , apenas o ext3 ; portanto, se você quisesse usar o ext4, /teria que ter uma /bootpartição separada .
Cristian Ciupitu 29/08/10
Várias pessoas sugeriram que o GRUB não seria capaz de inicializar a partir do LVM. O GRUB2 está inicializando felizmente com o LVM2 sem nenhum problema no meu PC em casa há cerca de 1,5 anos. A coisa mais doce desde o pão fatiado. Ah, e isso é suportado por padrão pelo instalador de onipresença (alternativa). Experimente
sehe
1
Quanto a / tmp /, você pode montar memória com tmpfs hoje em dia. Pode ser mais rápido e mais saudável para seus discos rígidos. De qualquer forma, / tmp / não deve sobreviver a reinicializações.
imz - Ivan Zakharyaschev 22/03
1
O legado do Grub não funciona e o Grub 2 não funcionou se / boot foi montado em uma coluna lógica do LVM. O suporte foi adicionado recentemente. Não deve ser difícil desenterrar a referência específica. O mesmo vale para RAID software, o suporte para que também foi adicionado recentemente para Grub 2.
Faheem Mitha
@Faheem M .: Então .... você está dizendo que não funciona para você, ou principalmente que devo estar me lembrando muito mal do período? Um google muito rápido apareceu esta entrada postada em 20 de novembro de 2006, por isso vou apostar que estava certo com o meu prazo.
sehe
13

Um motivo final, menos importante do que o indicado, é que ele pode permitir que o PC permaneça inicializável se parte do disco estiver corrompida. Quanto mais partições você tiver, mais fácil será simplesmente não montar a partição com a falha.

Às vezes, isso pode ser útil, mas geralmente existe uma maneira melhor.

EDIT: Outro ponto: supondo que o Linux, o uso do LVM possa ser uma boa maneira de evitar problemas em potencial, facilita o redimensionamento de "partições" e o acréscimo de espaço aparentemente novo.

tsvallender
fonte
1
Não seria necessário que pelo menos parte da partição / estivesse corrompida? Claro, a imagem do kernel está em / boot, mas os drivers estão em / lib e o init ou sh está em / bin.
Sr. Shiny e New
7

Eu acho que isso é mais uma preferência pessoal do que qualquer outra coisa. Pode até ser uma prática recomendada. Minha visão pessoal de / boot é bastante baseada em somente leitura. De vez em quando você precisa escrever lá para atualizar seu kernel ou talvez adicionar outro sistema operacional ao grubloader. Além disso, é apenas necessário ... bem, inicializar. Portanto, tê-lo em um sistema de arquivos separado pode ajudar a colocá-lo como somente leitura (pode até ser algum aspecto de segurança).

Deveria ser um sistema de arquivos separado? Acho que não ... Mas é uma má ideia? Não, de jeito nenhum!

reiche
fonte
7

Em resposta à parte "que problemas isso pode causar": como em qualquer particionamento, sempre existe o risco de você precisar de mais espaço do que o inicialmente alocado. Embora isso seja improvável no caso de /boot, houve recentemente um problema com a pré-atualização no Fedora causado por /boottamanhos pequenos .

Kai
fonte
1

Em relação à segunda parte da pergunta, pode ser útil colocar em partições separadas qualquer coisa que seja independente da distribuição atual. Ao deixar espaço extra disponível na unidade, isso permite, se necessário no futuro, instalar uma distribuição diferente ou executar uma reinstalação da atual, compartilhando o acesso a qualquer coisa que você queira ver em ambas.

Os candidatos óbvios para partições separadas são então / usr / local e / home, bem como / root. Pessoalmente, acho mais eficiente criar partições personalizadas, montá-las em um ponto de montagem arbitrário, como / part / data, e prosseguir com links simbólicos, como em:

sudo ln -sf /part/data/joe /home/joe
sudo ln -sf /part/data/root /root
sudo ln -sf /part/data/usr-local /usr/local
Dalker
fonte
1

Outro motivo que acho que não foi mencionado é que você pode usar o tipo de sistema de arquivos e as configurações de sua preferência /bootque certamente não são iguais às quando é usado como parte dele /. Recursos como registro no diário, somas de verificação, etc. não são úteis /boote você pode acelerar a inicialização desativando-os ou usando um sistema de arquivos mais simples (como ext2).

sakisk
fonte
É difícil para mim acreditar que o registro no diário e a soma de verificação tornam a inicialização visivelmente mais lenta. Você tem números concretos?
ignis 30/05
Desculpe, não há números disponíveis, você pode experimentar, se quiser. Para algumas pessoas, mesmo que seja +5 segundos mais lento, é perceptível.
sakisk
Você está sugerindo que foram 5 segundos mais lentos em sua experiência?
Ignis
1
Não. AFAIR da última vez que fiz isso, estava usando o ext2.
Sakisk
1

Achei um pouco mais difícil inicializar a partir do prompt do grub ao usar uma partição / boot separada.

Parecia que o kernel estava em / boot, mas o initramfs estava em / (partição separada).

Portanto, não ficou claro qual partição usar no menu grub.

Com todas as vantagens potenciais de uma partição separada / de inicialização, também existe o risco de solucionar problemas mais do que o habitual, caso algo ruim aconteça (por exemplo, execute o grub-install sem executar o update-grub depois: S)

Alecz
fonte
O Fedora usa /boot, em parte pela história, uma vez grubque não (não entendeu) todos os sistemas de arquivos possíveis. E o meu vmlinuze initrdestão ambos em /boot, instalado a partir do kernel vanilla do git ...
vonbrand
-1

Deixe-me escrever aqui apenas algumas das minhas experiências:

Bem, no meu caso, tenho RAID 1 (1 GB apenas para / boot) e RAID 5 para o restante do espaço em disco.

Eu uso o grub 2 do debian squeeze e está bom. O Grub 2 não tem mais essa limitação como o Grub 1.

Hoje em dia isso não importa. Isso era necessário quando você tinha a versão 1 do grub, que não sabia, como inicializar a partir do RAID5, mas sabia como inicializar a partir do RAID 1. E essa é a razão.

No meu caso, eu uso apenas para o caso, eu poderia precisar, se algo ruim acontecesse. Porque nem toda vez que você tem um novo debian ou ubuntu LIVE no seu bolso.

Além disso, se algo ruim acontecer, eu faço o backup do / boot. Uma vez que ele salvou minha instalação já.

Eu uso o Linux SW RAID 1 com 3 HDDs e RAID 5 com os mesmos HDDs. Primeiro 1 GB que uso para RAID 1.

Mas se você usa o LILO ou GRUB versão 1.98 -> 2, não precisa ter uma partição / inicialização separada.

MIrra
fonte