Problema no GRUB / boot do kernel Linux?

2

Estou trabalhando com um pacote de software específico que é compatível apenas com uma versão mais antiga do kernel do Linux. Depois de instalar esta versão mais antiga através do seguinte comando

$ sudo apt-get install linux-image-3.19.0-49-generic \
    linux-headers-3.19.0-49 linux-headers-3.19.0-49-generic

Eu reiniciei, mas não consegui abrir a tela GUI do GRUB. Olhando em volta on-line me deparei com isso:

Em vez de usar um número para escolher GRUB_DEFAULT , usei a seguinte sugestão:

GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 3.19.0-49-generic"

Observe que criei um backup antes de editar /etc/default/grub . Na inicialização, desta vez a máquina inicializou usando o kernel correto, mas foi para o que parece ser um terminal, mas não tem resposta de teclado. Vendo isso, eu decidi voltar para o kernel original, mas ele não está listado na GUI do GRUB (ele funciona por algum motivo agora, ou pode não ter pressionado a tecla rápido o suficiente).

Em vez disso, tudo o que tenho na GUI são as opções Ubuntu e Advanced. Eu sou, portanto, capaz de entrar no prompt grub, ou seja:

grub>

Eu sinto que isso deve ser uma correção muito direta, seja para fazer o kernel antigo inicializar corretamente, ou inicializar o original. Ou trabalha.

No entanto, eu tenho absolutamente zero experiência ou conhecimento com a linha de comando do GRUB. Qualquer ajuda seria muito apreciada.

    
por Ryan 28.06.2016 / 20:07

1 resposta

0

Pessoalmente, eu tentaria obtê-lo inicializando a partir da linha de comando do GRUB, antes de começar a editar o arquivo grub.cfg. Uma vez que você tenha iniciado a partir do CLI, então você saberá quais são as configurações corretas para colocar no arquivo; -)

Na linha de comando do GRUB, primeiramente digite insmod ext2 para instalar o módulo do sistema de arquivos ext2. Em seguida, digite ls , que mostrará quais partições você tem disponível e as designações que o GRUB usa para essas partições (que são diferentes do Linux).

Depois de ter essa informação, digite:

root=<insert GRUB path to /boot partition>
linux <insert path to relevant vmlinuz file> root=<insert Linux path to root partition> ro <insert any other kernel boot parameters you want>
initrd <insert path to initrd file>
boot

e ele deve inicializar com esse kernel. Por exemplo, no meu laptop, eu digitaria:

root=(ahci0,gpt2)
linux /vmlinuz-4.13.1 root=/dev/sda4 ro
initrd /initrd.img-4.13.1
boot

Em seguida, se você quiser adicioná-lo ao menu de inicialização do GRUB, basta adicionar esses comandos ao arquivo grub.cfg.

(note que estou supondo que você está usando um initrd, já que você está usando o Ubuntu)

    
por 14.11.2017 / 15:31