Como eu posso abrir o menu grub no grub CLI?

1

Estou executando um novo Ubuntu 16.04.2 em uma nova máquina (2 semanas de idade), mas 2 noites atrás (2 a 3 de maio) uma atualização do kernel interrompeu completamente o meu sistema. Eu tenho razões para acreditar que eu poderia consertar isso se eu pudesse dizer ao grub para escolher um kernel antigo na inicialização.

Problema, esta é uma instalação de um único boot, então o menu do grub está desativado por padrão, e não consigo mostrá-lo pressionando Shift, repetidamente ou não (ou pressionando a barra de espaço ou o que for). só pode obter interface de linha de comando do grub para mostrar pressionando Esc. Isso é tudo o que tenho no momento, pois não consigo nem abrir uma sessão, menos um terminal, então não posso editar o arquivo de configuração do grub ou qualquer outra coisa.

Eu tentei fazer

grub> configfile /boot/grub/grub.cfg

mas ele apenas tenta iniciar meu sistema como de costume sem que eu possa interferir na escolha de outro kernel.

Ouvi dizer que é possível iniciar a interface do menu do GRUB a partir do CLI, mas não é explicado como se deve fazer isso no manual . No momento, parece ser minha única opção. Idéias?

EDIT: Desde que eu não posso editar arquivos de configuração ou usar o Shift para abrir o menu grub, isso não é uma duplicata de esta outra pergunta

    
por Jaumito 04.05.2017 / 18:35

1 resposta

3

Você pode selecionar manualmente o kernel e o initrd na linha de comando do GRUB. Isso só vai mudar as coisas para o boot de um embora. Após o sistema ser inicializado, você terá que fazer os ajustes necessários no GRUB para torná-lo permanente.

grub> set root=(hd<disk with kernel and initrd>,msdos<partition with kernel and initrd>)
grub> linux /boot/vmlinuz-<kernel version you want to boot from> root=/dev/<root device>
grub> initrd /boot/initrd-<same version as chosen kernel>
grub> boot

Dependendo se / boot for uma partição separada, isso pode ser um pouco diferente. Você definiria a raiz inicial = para ser a partição / disco de inicialização e, ao delcarar linux e boot , não incluiria boot/ , já que ela estaria iniciando nesse diretório. O root= na linha linux ainda apontaria para o disco / partição raiz.

--- Edite para incluir informações de comentários ---

Com base no que discutimos nos comentários, você deve tentar esses comandos para inicializar:

grub> set root=(hd1,gpt2)
grub> linux /boot/vmlinuz-<version you want to boot from> root=/dev/sdb2
grub> initrd /boot/initrd-<same version as chosen kernel>
grub> boot
    
por TopHat 04.05.2017 / 18:42