nov
GRUB no Fedora, que dor de cabeça!
Recebeu um GRUB no canto da tela e não consegue bootar? Ou está passando por isso:
grub-install /dev/XXX
/dev/XXX has no corresponding BIOS drive
???
Hoje passei, mais uma vez, horas brigando com o GRUB. É o tipo de coisa que não entendo sobre o Fedora. O GRUB sempre me causa problemas em recuperações de Servidores e Desktops. Alguém sabe por que a versão do Fedora é tão incompetente? A do Ubuntu parece ser muito mais “esperta”, principalmente quando se trata de mais de um HD.
Recebi o servidor de um cliente no escritório hoje. Ele havia corrompido a partição de boot do XEN Hypervisor, por causa de quedas constantes de energia que nem o nobreak aguentou. Apenas a partição do sistema foi corrompida, a de dados ficou intacta. Tudo é espelhado via SATA RAID da placa-mãe de um HP DC5750 AMD64x2 3800+.
Depois de fazer e verificar os devidos backups, foi hora de formatar o servidor XEN, aproveitando para fazer um upgrade do Fedora7 para o Fedora8. E começou a saga…
- Formatei tudo, menos a partição de dados e nem pensei em formatar a partição de boot. O servidor ficou com o grub do Fedora7 e suas configurações! Como pode? O boot rescue do Fedora8 e 7 não ajudaram.
- Formatei novamente, desta vez removendo a partição /boot e deixando apenas swap + o /. Ao iniciar o servidor, surpresa: tela preta apenas com um “GRUB” no canto superior esquerdo.
- La vou eu bootar no CD de instalação usando a opção “rescue” na linha do boot. Ele monta tudo certinho, reconhece a instalação e me deixa fazer o famoso chroot /mnt/sysimage.
- Logicamente fui direto ao assunto, que sempre foi muito mistorioso para mim, mesmo com vasta experiência des do Redhat 7.3 e Google searching. Digitei grub-install e recebi outra famosa mensagem que me deixa irado até hoje e abismado de não terem evoluído desdo FedoraCore 1 e nem nos suportes via forum, FAQ, Wikis e KBs espalhadas pela internet. Acho muitos casos semelhantes mas NUNCA uma solução:
grub-install /dev/XXX
/dev/XXX has no corresponding BIOS drive - No lugar do XXX eu tentei os HD individuais do espelho (/dev/sda e /dev/sdb) e também o /dev/mapper/pdc_iahigb que é o drive resultante do RAID1 da controladora SATA. Tentei até um HD extra que é o /dev/sdc, configurado como JBOD na controladora RAID. Sempre a mesma resposta. Detalhe, que eu saiba a BIOS deixou de cadastrar HDs desde a época do PC-AT, logo depois do PC-XT (em 1988), por isso ainda não entendo esta mensagem.
Então esqueça o grub-install e preste atenção nestas dicas que aprendi da maneira mais difícil: quebrando a cabeça.
- Se você recebe alguma mensagem de GRUB ao bootar, quer dizer que o MBR está lá e você está conseguindo bootar no seu drive. Outras coisas podem estar erradas.
- Verifique o /boot/grub/device.map os Fedora escolhem ordens estranhas para os drives, não sei porque. Eis o meu exemplo antes:
- [root@xen64 grub]# cat device.map
# this device map was generated by anaconda
(hd1) /dev/mapper/pdc_iahigb
(hd0) /dev/sdc
- [root@xen64 grub]# cat device.map
- E depois que eu alterei, e faz mais sentido, pois assim está a ordem de boot na BIOS:
- [root@xen64 grub]# cat device.map
# this device map was generated by ALROGER
(hd0) /dev/mapper/pdc_iahigb
(hd1) /dev/sdc
- [root@xen64 grub]# cat device.map
- Não, você não pode usar aqui /dev/sda e /dev/sdb enquanto eles estão sendo usados pela controladora RAID para fazer o devido RAID1 (espelhamento).
- Agora verifique seu /boot/grug/menu.lst (famoso grub.conf), veja meu exemplo:
- default=0
timeout=5
title Fedora (2.6.21-2950.fc8xen)
root (hd0,0)
kernel /boot/xen.gz-2.6.21-2950.fc8
module /boot/vmlinuz-2.6.21-2950.fc8xen ro root=/dev/mapper/pdc_iahigbp1
module /boot/initrd-2.6.21-2950.fc8xen.img
- default=0
- Observe que alterei a linha do root, que estava como (hd1,0) e também troquei o root=LABEL=/ para root=/aDeviceQueInteressa. Esses labels, a meu ver, só nos confundem, e imagine quando juntamos 2 servidores ou HDs com os mesmos labels…. a dor de cabeça é maior ainda.
Jóia! Tudo configurado corretamente! Mas mesmo assim o grub-install não quer saber de ajudar. Então a dica final: use apenas “grub” e na sua linha de comando (ele é um shell):
- root (hd0,0)
- setup (hd0)
Simples? Pois é. A primeir linha define o local do seu root (/) como sendo a primeira partição do primeiro HD. A segunda linha, pura e simplesmente, sem mais perguntas, GRAVA o boot do grub!
ATENÇÃO: Apesar de todos os mistérios do Fedora, continuo afirmando que é o mais rápido e confiável sistema operacional Linux, e continuo usando e recomendando em todos os servidores que implemento.
Única referência que vale citar:
Alroger Filho
Estranho, nunca tive este problema no Fedora, mas no Ubuntu já ouvi reclamações !!!
outubro 19th, 2008 at 9:06 pmParabéns pelo trabalho, tudo muito organizado aqui !!! Parabéns !!!
outubro 19th, 2008 at 9:28 pm