O GRUB substitui completamente o MBR ou apenas o código de inicialização do MBR?

1

Quando nós inicializamos um computador com windows e linux (último), o grub é instalado sobre o mbr por padrão, MAS qual abordagem é seguida -

1. O MBR (512 bytes) é completamente substituído pelo grub. O grub cria sua própria tabela de partições e a utiliza. No momento da inicialização após o BIOS ser inicializado, o GRUB é carregado, o que vai para os estágios 1, 1.5 e 2.

2. Apenas o código de inicialização do MBR (cerca de 446 bytes) é substituído pelo GRUB e o GRUB usa a tabela de partições do MBR DEFAULT.

Por favor, me ajude a esclarecer as coisas.

    
por Shivam aggarwal 31.10.2015 / 10:37

1 resposta

1

Aqui está a seção correspondente da documentação: 10 arquivos de imagem do GRUB

  

boot.img

     

Nos sistemas BIOS da PC, essa imagem é a primeira parte do GRUB a ser iniciada. Ele é gravado em um registro mestre de inicialização (MBR) ou no setor de inicialização de uma partição. Como um setor de inicialização do PC tem 512 bytes, o tamanho dessa imagem é de exatamente 512 bytes.

     

A única função de boot.img é ler o primeiro setor da imagem principal a partir de um disco local e pular para ele. Devido à restrição de tamanho, boot.img não consegue entender nenhuma estrutura do sistema de arquivos, portanto grub-setup codifica permanentemente a localização do primeiro setor da imagem principal em boot.img ao instalar o GRUB.

Você deve ler o restante do capítulo e também 3.4 instalação do BIOS .

As suposições ou as opções fornecidas são imprecisas:

  •   

    Quando nós inicializamos um computador com windows e linux ...

    Essa é a primeira suposição errada. Discos rígidos nus não são fornecidos com nenhum sistema operacional.

  •   

    O grub cria sua própria tabela de partições e a usa.

    Isso implicaria perder informações sobre todas as partições criadas anteriormente, mas o GRUB não é um gerenciador de partições em primeiro lugar. O formato da tabela de partição e as próprias partições já foram configuradas e criadas em uma unidade em branco no momento em que o GRUB ou qualquer outro tipo de bootloader é chamado em um processo de instalação do sistema operacional . A função de um pacote de bootloader durante a instalação é detectar se ele é compatível com o ambiente e usar mecanismos apropriados para implantar a si mesmo.

  •   

    O GRUB é carregado, o que vai para os estágios 1, 1.5 e 2.

    Não há estágios no design do GRUB 2, leia a seção Para usuários do GRUB Legacy no primeiro link acima.

  •   

    Somente o código de inicialização do MBR (em torno de 446 bytes) é substituído pelo GRUB e o GRUB usa a tabela de partições do MBR DEFAULT.

    Não há "MBR PADRÃO", apenas a tabela de partições você escolheu usar nas etapas anteriores do processo de instalação e não precisa ser uma partição tabela no formato MBR legado em tudo. Se não houver outro mecanismo a não ser ler e analisar 512 bytes, substitua os bytes e escreva 512 bytes. Isso será feito e nem será importante para você, já que nada além do que você escolheu deve ser executado no disco e seu layout. Você pode até achar que seu disco rígido escreve setores inteiros de 4K .

N.B .: É difícil encontrar sistemas BIOS reais nas lojas atualmente. A certificação de hardware para o Windows 8 exigiu que os fabricantes enviassem sistemas UEFI. Os fabricantes de placas-mãe e da Intel forneciam sistemas UEFI há alguns anos, mas precisavam confiar na compatibilidade com mecanismos de inicialização legados até a Microsoft decidir mudar.

    
por LiveWireBT 31.10.2015 / 15:12