UPDATE:
Esta resposta é de 2009 e se aplica ao grub-legacy, não ao grub2.
Você pode usar file
para identificar o GRUB em um MBR. por exemplo,
# file -s /dev/sda
/dev/sda: x86 boot sector; GRand Unified Bootloader, stage1 version 0x3
, stage2 address 0x2000, stage2 segment 0x200; partition 1:
ID=0xfd, starthead 1, startsector 63, 1044162 sectors; partition
2: ID=0x82, starthead 0, startsector 1044225, 1028160 sectors;
partition 3: ID=0xfd, starthead 0, startsector 2072385,
1951447680 sectors, code offset 0x48
O root=
paramater não é armazenado no MBR, que é armazenado no arquivo menu.lst
do GRUB que é armazenado em um sistema de arquivos (normalmente no diretório / boot / grub da raiz fs ou no diretório grub da / boot filesystem - mas nem sempre, pode ser em qualquer lugar).
Você terá que analisar a saída do arquivo acima, determinar em qual disco / partição o arquivo menu.lst
está, montá-lo, lê-lo e analisá-lo. Você também vai querer ler no arquivo grub / default para descobrir qual entrada do menu grub é a padrão, porque provavelmente é aquela que tem o parâmetro root = que você está mais interessado.