Solução para Kernel panic em Dual-boot com Grub2 para Mandriva-Mageia

Publicado por Leandro Nkz em 17/09/2011

[ Hits: 10.036 ]

Blog: http://brweatherproject.blogspot.com/

 


Solução para Kernel panic em Dual-boot com Grub2 para Mandriva-Mageia



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:
Linux: Solução para Kernel panic em Dual-boot com Grub2/Mandriva-Mageia
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.

Outras dicas deste autor

Como inserir o Tux/TuxDebian durante o boot do Debian

Java - Anti-aliasing de fontes em aplicações gráficas

Armazenamento em nuvem redundante com Dropbox e Copy

OraPlus - Simples gerenciador para o banco de dados Oracle

Como editar, renomear entradas e inserir uma imagem de fundo no Grub 2 com o Grub Customizer

Leitura recomendada

Desligamento programado no Linux - Como fazer?

Saída de áudio para fones do notebook Lenovo Z460

Permitir login de root no GDM

Definir navegador padrão

Ubuntu Hardy sem bootsplash ao reiniciar/desligar

  

Comentários
[1] Comentário enviado por removido em 24/11/2011 - 08:56h

Brigadão pela dica!
Eu havia desistido do dual-boot com mageia por isso.
Vou testar sua dica um dia desses e te falo o que deu!
Nota 10!

[2] Comentário enviado por leandro em 24/11/2011 - 15:22h

Opa! Obrigado!

Quando puder testar, posta aí o resultado...

Abração.

[3] Comentário enviado por removido em 30/05/2012 - 17:35h

Leandro, usei um modo mais facil: instalei o grub-legacy no Ubuntu e deu certo.
Vamos ver se após atualizar o kernel do Ubuntu o dual-boot continua funcionando!
TKS!

[4] Comentário enviado por leandro em 31/05/2012 - 15:10h

Legal Clodoaldo!

Quem sabe não vira uma dica, hein?

abraço.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts