Olá a todos do VOL!
Geralmente, quando temos uma distro que utiliza
Grub2, como o
Ubuntu ou
Debian, e por algum motivo queremos instalar o
Mandriva também, este último sempre dá "Kernel panic" ao iniciar.
Esta dica destina-se a mostrar uma possível solução para isso.
Este problema trata-se de um bug já documentado aqui:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/779213
Nota: A solução apresentada aqui resolveu em 100% o problema que ocorreu comigo. Mas não há garantias de que vá funcionar em outras instalações.
Isto começou comigo em um Ubuntu 10.10 com Mandriva 2010. Agora se repetiu com Mandriva 2011 e Debian 6.
Instalei o Mandriva normalmente, mantendo o Grub 2 do Debian como gerenciador de boot padrão. Mas na hora de "bootar" o Mandriva dava "Kernel panic".
Obs.: Não há como gerenciar o boot de ambos os sistemas utilizando o Grub do Mandriva, pois ele não reconhece o Grub 2 utilizado por Debian/Ubuntu. Portanto, a melhor e única opção seria manter o Grub 2 do Debian como padrão.
Para manter o Grub do Debian/Ubuntu como padrão, basta selecionar a opção durante a instalação do Mandriva:
Em "Dispositivo de boot" selecione a partição onde está instalado o Mandriva (dev/sda5 no meu caso).
Nota: Se for ao contrário, instalar o Ubuntu com o Mandriva já instalado, não há necessidade de modificar a instalação. Instale o Ubuntu normalmente.
Depois de instalado todo o sistema. Reinicie o computador.
Vai aparecer a tela normal do Grub 2, sem as entradas do Mandriva. Inicie o Debian ou Ubuntu, e rode no terminal:
# sudo update-grub
Com este comando será adicionada/atualizada as entradas do Grub.
Agora, mesmo com este comando, ao iniciar o Mandriva irá ocorrer o "Kernel Panic".
Para solucionar o problema, reinicie novamente o computador, selecione a entrada do Mandriva e aperte "e" ao invés de enter. Abrirá uma página contendo a descrição da entrada do Mandriva, mais ou menos assim:
insmod part_msdos
insmod ext2
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set 1792a52b-b419-4a0f-acd0-f18194747dc7
linux /vmlinuz BOOT_IMAGE=linux root=UUID=7dde89cb-75ec-4be2-9928-2f37e14c6769 resume=UUID=c0555465-1a71-439d-a748-e22cfade80e5 vga=791
initrd (hd0,4)/initrd.img
Note que há uma diferença, a localização do initrd está em uma partição diferente do Kernel principal (root):
...
"set root='(hd0,msdos5)'"
" initrd (hd0,4)/initrd.img"
..
Este initrd é carregado após o Kernel durante a inicialização do sistema. Por isso que o sistema começa a carregar, mas para no momento que tenta iniciar (e não consegue) o initrd.
Para corrigir isso, edite a entrada (use as setas do teclado) colocando a mesma localização/partição do Kernel. Ficaria mais ou menos assim:
insmod part_msdos
insmod ext2
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set 1792a52b-b419-4a0f-acd0-f18194747dc7
linux /vmlinuz BOOT_IMAGE=linux root=UUID=7dde89cb-75ec-4be2-9928-2f37e14c6769 resume=UUID=c0555465-1a71-439d-a748-e22cfade80e5 vga=791
initrd (hd0,5)/initrd.img
Note que foi apenas editado os números referentes à partição.
Após a correção, tecle "Ctrl + x" para iniciar esta entrada modificada. Se tudo correr bem, ela iniciará sem problemas.
Agora para corrigir isso de modo quase permanente para que você não precise ficar editando a entrada sempre que der boot no Mandriva, entre no Debian/Ubuntu e rode no terminal:
# nano /boot/grub/grub.cfg
Nota: Apenas troque o nano pelo seu editor de textos preferido.
Procure pela entrada do Mandriva, ela é semelhante a visualizada no Grub. Faça o mesmo procedimento, coloque o mesmo número da partição descrita na linha "set root=":
Antes:
menuentry "Mandriva" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set 1792a52b-b419-4a0f-acd0-f18194747dc7
linux /vmlinuz BOOT_IMAGE=linux root=UUID=7dde89cb-75ec-
4be2-9928-2f37e14c6769 resume=UUID=c0555465-1a71-439d-a748-e22cfade80e5 vga=791
initrd (hd0,4)/initrd.img
}
Depois:
menuentry "Mandriva" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set 1792a52b-b419-4a0f-acd0-f18194747dc7
linux /vmlinuz BOOT_IMAGE=linux root=UUID=7dde89cb-75ec-
4be2-9928-2f37e14c6769 resume=UUID=c0555465-1a71-439d-a748-e22cfade80e5 vga=791
initrd (hd0,5)/initrd.img
}
Note que as entradas do Mandriva são diferentes do Debian ou Ubuntu, pois adicionam a localização completa do initrd. Talvez venha daí o bug, mesmo outras distros que utilizam o Grub 1, como openSUSE e Fedora, se instalados com o Ubuntu, não há a descrição de qual partição se encontra o initrd.
Depois disso, salve o arquivo e reinicie o computador selecionando o Mandriva. Se tudo der certo, ele iniciará normalmente.
Obs.: Após as mudanças NÃO rode o "update-grub".
Sempre que você rodar o "update-grub" (ou algum programa o fizer como o Grub-customizer), edite manualmente a entrada do Mandriva para corrigir a entrada. Pois as mudanças serão desfeitas.
Espero que isso possa ajudar a outros que porventura estejam passando pelo mesmo problema.
Nota: esta solução também é possível para quem utiliza a distro
Mageia, por esta ser derivada do Mandriva.
Abraços a todos!
Leandro.