Como o GRUB é capaz de ler seu arquivo de configuração no sistema de arquivos ext3?

3

Eu li que o GRUB pode ler sistemas de arquivos ext2 e possui módulos para fazer isso. Qual é a localização do mod em um sistema Redhat e se a partição / boot é ext3 / ext4 ou outro tipo de sistema de arquivos?

    
por nitins 24.12.2012 / 18:24

3 respostas

2

O módulo grub ext2 também entende ext3 e ext4, já que as diferenças são mínimas. O próprio módulo é embutido no arquivo grub core.img (quando você está usando ext [234] para / boot), que normalmente é copiado nos setores após o registro mestre de inicialização, antes que qualquer partição comece, e o código no master O registro de inicialização apenas carrega os setores subseqüentes.

    
por 26.12.2012 / 03:51
1

Para responder a parte da sua pergunta que está na linha de assunto, o código executável para isso é mantido na imagem initrd. A imagem initrd pode ser carregada diretamente no kernel no momento da inicialização, que é como o problema chicken / egg é resolvido para obter o código para a leitura de partições ext sem precisar ler a partição.

Em relação à escolha do sistema de arquivos para / boot.

  • O Ext3 é compatível com versões anteriores do ext2 e introduz principalmente o registro no diário.
  • O Ext4 é uma revisão importante do sistema de arquivos ext, traz muitos recursos novos e não é reversível sem a restauração de dados e a reconstrução do sistema de arquivos.

Eu realmente não vejo a necessidade de me preocupar em usar o ext3 / 4 em / boot. Eu costumo nem me incomodar com um / boot separado em minhas máquinas virtuais e funciona muito bem como parte de minhas partições ext4. Eu não me preocuparia em usar ext2 sem journaling em / boot, pois você provavelmente não terá operações de gravação em andamento no sistema de arquivos / boot durante um corte de energia, a menos que você esteja atualizando seu kernel.

Os módulos são mantidos no local habitual: / lib / modules // kernel / fs /. Eles são compilados na imagem initrd para uso pelo kernel no momento da inicialização.

Atualização: Não encontrei uma declaração oficial do Red Hat, mas é notado no livro de Michael Jang que o RHEL 6 não ext2 para o / boot já que o ext4 é perfeitamente adequado e agora o sistema de arquivos padrão para / boot. O livro Jang também afirma que não há diferenças entre o ext2 e o ext3, exceto o journaling.

    
por 24.12.2012 / 19:16
1

O grub ( 0.9x ) suporta ext2 e ext3, mas não ext4 (, a menos que recursos incompatíveis com versões anteriores sejam desativados ).

Considerando que o Grub2 (desde 1.97) suporta ext2, ext3 e ext4 com o mesmo módulo [ ext2.mod ] que está localizado em / boot / grub2 / i386-pc / no Fedora 17 ( 32-bit )

    
por 26.12.2012 / 11:53