No meu computador pessoal (literalmente) tive um problema no GRUB, que ainda não consegui resolver, mas ao invés de postar a dúvida referente a esse problema específico, preferi criar um tópico perguntando sobre o funcionamento do GRUB, de modo a entender melhor o problema que estou tentando resolver.
Como o GRUB funciona exatamente?
Digo, se ele é instalado na MBR, ela não contém espaço suficiente para armazenar todas as informações necessárias para funcionamento completo do GRUB (como por exemplo, o "papel de parede" dele) e além disso na partição / contém uma pasta chamada /boot/grub que contém arquivos de configuração do GRUB.
Então suponho que a instalação do GRUB na MBR seja apenas um "gatilho", para que ele possa se carregar completamente não da MBR, mas sim de uma partição contendo seus arquivos de configuração. Mas a questão é: como o GRUB na MBR "sabe" qual a partição na qual procurar o /boot/grub?
Eu pensei que isso podia estar relacionado com a flag "boot", mas vejo que não, uma vez que no meu computador (aqui da empresa, não o pessoal) a partição que está marcada com a flag "boot" é a partição "reservada pelo sistema" do Windows, que contém 100MB (e o grub carrega normalmente). Veja:
root@SISTEMAS-14:/home/wellington# fdisk -l
Disk /dev/sda: 250.1 GB, 250058268160 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488395055 sectors
Units = setores of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0006add0
Dispositivo Boot Start End Blocks Id System
/dev/sda1 * 2048 206847 102400 7 HPFS/NTFS/exFAT
/dev/sda2 206848 285272745 142532949 7 HPFS/NTFS/exFAT
/dev/sda3 285274110 488394751 101560321 5 Estendida
/dev/sda5 285274112 484491263 99608576 83 Linux
/dev/sda6 484493312 488394751 1950720 82 Linux swap / Solaris
Se o GRUB não se guia pela flag boot, pra que exatamente serve essa flag? E como ele sabe que meu /boot/grub está em sda5?
Supondo que eu tivesse duas distros diferentes instaladas, eu teria dois /boot/grub. Como o GRUB saberia qual /boot/grub usar?
Já que eu não me lembrava se de fato meu GRUB estava instalado na MBR (já que também há a opção para instalá-lo na partição, embora não seja recomendado), procurei na internet como saber se o GRUB está instalado na MBR e me deparei com esse comando:
root@SISTEMAS-14:/home/wellington# dd bs=512 count=1 if=/dev/sda 2>/dev/null | strings
ZRr=
`|f
\|f1
GRUB
Geom
Hard Disk
Read
Error
Segundo o autor da postagem, como a palavra "GRUB" foi encontrada nos primeiros 512 bytes do disco, quer dizer que o GRUB está instalado.
É isso mesmo? Essa é a única forma de saber se o GRUB está instalado na MBR?
Aliás, o que significa exatamente instalar o GRUB na MBR?
No caso, se eu tivesse instalado o GRUB na partição ao invés da MBR, como ele seria carregado?