Geralmente não é instalado lá . Na maioria das vezes, o GRUB (estágio 1) é instalado no MBR somente , no Linux.
Embora o GRUB versão 1 sempre transborde um pouco nos 30 kB seguindo o MBR (estágio 1.5, ou seja, drivers do sistema de arquivos), com o GRUB versão 2, o código instalado no MBR pode carregar algum outro código maior (estágio 1.5) por leitura bruta de qualquer setor do disco (mas normalmente irá se ater ao comportamento do GRUB 1 - isto é, carregamento de código a partir dos 30 kB após o MBR).
Esses 30 kB são geralmente espaço em disco "livre" não particionado, porque razões históricas é bastante raro que a primeira partição de um disco inicie antes do setor 63, o que deixa pelo menos 512 * 62 = 31 kiB após o MBR.
Em seguida, ele carrega alguns arquivos, geralmente de /boot
, como o menu ( menu.lst
ou grub.cfg
), mais drivers do sistema de arquivos, etc. Este é o estágio 2.
Depois disso, tem o suficiente para iniciar um sistema operacional.
Quanto ao VBR agora , ele não é comumente usado em partições Linux porque não é confiável o suficiente , mas o MS Windows geralmente instala um no início do sistema ( C: \) partições. O GRUB irá apenas executá-lo se você quiser iniciar o Windows. Esse processo é chamado de chainloading: um bootloader que lança outro. Isso também significa que o sistema de arquivos usado deve deixar intocado o começo de sua partição, porque poderia sobrescrever o VBR senão! A quantidade de espaço "intocado" disponível depende do sistema de arquivos, então não há garantia: ele pode ser muito pequeno ...
Sobre o estágio de carregamento 1.5 de um local "incomum" , como eu disse, o GRUB 2 pode carregar seu estágio 1.5 de qualquer setor no disco. Pode ser de um arquivo, mas isso pode ser perigoso porque o sistema de arquivos pode decidir mover esse arquivo para outros setores no disco a qualquer momento (ou pior ainda, fragmentá-lo!), E o GRUB precisaria atualizar o novo número de setor no MBR de cada vez ...
Um caso interessante é o Tabelas de Partição GUID (GPT). Eles são grandes demais para garantir que espaço suficiente (30 kB) estará sempre disponível para o estágio 1.5. A solução recomendada nesse caso é usar uma "partição do carregador de inicialização" dedicada (não é um problema, pois a GPT pode suportar 128 partições) que não hospedará um sistema de arquivos, mas sim dados do estágio 1.5 do GRUB. Desta forma, ele não se moverá em nenhum lugar, e você pode dar bastante espaço.
Você deve realmente ler artigo do GRUB da wikipedia onde obtive a maior parte dessas informações .