Grub2 adicionando uma nova distribuição Linux

3

Eu instalei o Arch Linux no meu computador, mas também instalei o Slackware em outra partição ( /dev/sda5 ).

Eu gostaria de configurar o Grub2 da instalação do Arch Linux através do arquivo /etc/grub.d/40_custom para adicionar o Slackware à lista de menu na inicialização.

Eu procurei por algum tempo na Internet, mas não consegui encontrar uma resposta para saber se eu preciso instalar o Grub no Slackware também e o que exatamente escrever no arquivo de configuração.

Ler a documentação completa do grub é muito longo.

Eu tentei o seguinte, mas durante o carregamento do Slackware, eu tenho um evento de pânico do kernel dizendo algo como "incapaz de encontrar o bloco":

menuentry "Slackware 14.0" {
        set root='hd0,msdos5'
        echo 'Loading Linux Slackware 14.0 ...'
        linux /boot/vmlinuz root=UUID=xxxXXxx-xx-XXX... ro acpi=off
}
    
por user1850133 07.06.2013 / 00:55

2 respostas

1

Você está vendo esse erro porque tem root=UUID=... , mas nenhuma linha initrd. O kernel não tem suporte embutido para root=UUID=... . Tem que ser tratado por um initrd.

  • Então você poderia simplesmente adicionar uma linha initrd. Normalmente você deve ter um initrd gerado durante o processo de instalação.

Caso contrário, acho que o problema está na instalação do Linux (do Slackware), e você precisa salvá-lo. A mídia de instalação do SO geralmente inclui sistemas de resgate muito úteis. Eu recomendo strongmente obter esse sistema de recuperação quando você instalar o seu sistema operacional e mantê-lo por perto. (E verifique se você ainda teria acesso à Internet, se você ainda não está confiante sobre como usar o sistema de resgate).

  • Ou você pode tentar não usar o UUID. Em vez disso, especifique o nó do dispositivo para o sistema de arquivos raiz diretamente, como root=/dev/sda1 . Você pode colocar o UUID de volta depois de terminar o bootstrapping / resgatar seu sistema.

Em seu comentário, você apresenta uma interessante dependência circular. Como gerar o initrd, se esse processo requer a inicialização exatamente o mesmo kernel? No entanto, não acho que esse requisito faça algum sentido. (Considere o instalador, atualizações de kernel, etc.) Deve ser bem possível a partir de um sistema de resgate correspondente, ou quando chrooted na instalação a partir de um sistema de resgate mais recente ...

Você deve estar pensando em mkinitrd_command_generator.sh . Eu vejo em outro lugar um exemplo de invocação para um kernel específico.

/usr/share/mkinitrd/mkinitrd_command_generator.sh /boot/vmlinuz-generic-2.6.37.6

Espero que isso signifique que não está limitado ao kernel atual, porque isso seria um pouco inútil.

    
por 07.06.2013 / 19:05
2

No meu sistema Ubuntu, basta executar grub-mkconfig para encontrar partições com novas instalações. Você pode rodar (sem a mudança manual):

grub-mkconfig | diff - /boot/grub/grub.cfg

para ver se o Arch Linux também é capaz de fazer isso. E se for, corra:

grub-mkconfig -o /boot/grub/grub.cfg
    
por 07.06.2013 / 08:02