COMO "ATUALIZAR-GRUB" NO CHROOT

COMO "ATUALIZAR-GRUB" NO CHROOT

Estou inicializando duas vezes o Windows 10 e o Ubuntu 18.04. Atualizei recentemente o Windows 10 e desde então não consigo inicializar no Linux. Ocasionalmente, a atualização atrapalhava a inicialização da partição Linux, mas sempre consegui consertar isso através da linha de comando do grub. Este parece ser um problema totalmente diferente.

Peço desculpas se isso é uma duplicata - em todas as perguntas relacionadas que vi, o solicitante geralmente consegue acessar o menu de recuperação ou pode inicializar normalmente, mas não no modo de recuperação.

Consigo iniciar com êxito o processo de inicialização a partir do grub, mas depois desse ponto, não consigo acessar a tela de login do Ubuntu. Depois de entrar no grub (2.02), navego para "Ubuntu" ou "Opções avançadas para Ubuntu" e tenho quatro opções:

Ubuntu, with Linux  4.18.0-21-generic
Ubuntu, with Linux  4.18.0-21-generic (recovery mode)
Ubuntu, with Linux  4.18.0-20-generic
Ubuntu, with Linux  4.18.0-20-generic (recovery mode)

Iniciar qualquer um dos quatro sai do grub com sucesso e inicia uma cascata de saída de tela. No entanto, nunca chego a uma janela gráfica de login, prompt de login ou qualquer coisa interativa. Vou digitar o que normalmente são as últimas cinco linhas aqui:

[   OK   ] Reached target Local Encrypted Volumes.
[   OK   ] Reached target Local File Systems (Pre).
[   OK   ] Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch
[   OK   ] Reached target Sound Card.
[   OK   ] Found device WDC_WDBNCE5000PNC SSD.

E então, nada acontece. Tenho que segurar o botão liga / desliga por seis segundos para reiniciar o computador. Faltando uma nova instalação, alguém tem alguma idéia?

Se alguém quiser saber as falas anteriores, ficarei feliz em transcrevê-las aqui. Estou grato por qualquer ajuda que possa obter.

EDIT: Aqui está o que aconteceu quando segui o conselho de @K9spud. fsckvoltou limpo, então isso é um alívio. Eu costumava chrootusar a instalação do Linux como diretório raiz e descobri que /var/boot.log progrediu muito mais do que o listado originalmente. Um item que notei foi que o dispositivo no final do log conforme postei não estava conseguindo montar, provavelmente porque configurei /etc/fstaberrado. A última mensagem no log é

[  OK   ] Started Show Plymouth Boot Screen

Após remover a linha incorreta de /etc/fstab, o sistema inicializa normalmente.

DR: Ter um configurado incorretamente /etc/fstabimpede a exibição da tela de login.

Responder1

Esta pode ser uma pergunta difícil de responder. A resposta mais simples é instalar de novo, mas isso é uma droga se você já tiver muitos dados/personalização investidos em sua instalação antiga.

Se fosse minha máquina, eu inicializaria o Ubuntu no modo live a partir do meu pen drive de instalação USB do Ubuntu e começaria a vasculhar o disco rígido para tentar descobrir o que deu errado e tentar repará-lo.

A primeira coisa que você pode fazer é criar uma imagem de backup de tudo, pois você pode acabar piorando as coisas na primeira vez que tentar consertar as coisas.

Em seguida, eu executaria fsck na partição Linux para ter certeza de que nada corrompeu a partição. Se o fsck voltar limpo, ótimo, todos os seus dados ainda estarão lá e poderão ser recuperados de uma forma ou de outra, se necessário. Se o fsck voltar com vários erros, eu diria que a instalação está quebrada, a partição está corrompida e não vale a pena salvá-la além de quaisquer dados personalizados que você possa recuperar antes de fazer uma nova instalação.

Após a aprovação do fsck, eu provavelmente montaria a partição Linux e usaria "chroot" para começar a trabalhar a partir da instalação do Linux, como se tivesse sido inicializado a partir da instalação do Linux. Você terá que mexer na montagem de dev, sys, proc, etc. dentro do ambiente chroot, então você pode executar "update-grub" para tentar reinstalar o grub. A execução de "update-grub" pode revelar alguns erros que podem explicar por que você não consegue inicializar.

Se o "update-grub" funcionar sem revelar nada importante, talvez tente vasculhar /var/log para ver se algum dos arquivos de log mostra algum erro que possa indicar por que o sistema falhou ao inicializar.

Além disso, não tenho certeza do que mais sugerir sem ver todas as mensagens de erro e tentar avaliar o que está quebrado e o que não está.

É muito frustrante que o Windows tenha tão pouca consideração pelas instalações do Linux que às vezes interrompe a inicialização do Linux - me faz querer evitar ter um sistema de inicialização dupla com o Windows. Esperamos que a Microsoft melhore e comece a ser mais cuidadosa ao bagunçar as instalações do Linux no futuro.

Responder2

COMO "ATUALIZAR-GRUB" NO CHROOT

  1. Inicialize a partir do seu pen drive USB Ubuntu no modo Linux Live. Certifique-se de que seu BIOS inicialize a unidade USB no modo correto (UEFI vs. Legacy/MBR) para o seu sistema, caso contrário você terá grandes problemas para fazer o update-grub funcionar.

  2. Uma vez inicializado no Linux ativo, abra um Terminal e comece a trabalhar com estes comandos:

mkdir linux

sudo mount /dev/sdXX linux

(substitua "/dev/sdXX" por qualquer número de dispositivo/partição correto para a partição Linux em seu disco rígido. Talvez seja necessário executar "gparted" para dar uma olhada em suas tabelas de partição para descobrir o que é o quê)

sudo chroot linux /bin/bash

mount -t devtmpfs udev /dev

mount -t proc proc /proc

mount -t sysfs sysfs /sys

update-grub

(alguns sistemas podem precisar de alguns comandos de "montagem" adicionais para /boot e/ou /boot/efi - consulte o arquivo /etc/fstab do seu sistema para obter ajuda para descobrir como montá-los, se necessário)

Se tudo estiver funcionando corretamente, "update-grub" deverá dizer algo como:

Sourcing file `/etc/default/grub'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.0-48-generic
Found initrd image: /boot/initrd.img-4.15.0-48-generic
Adding boot menu entry for EFI firmware configuration
done

Para mim, update-grub era tudo o que eu precisava para inicializar meus sistemas novamente, mas para algumas pessoas, se o grub tiver sido completamente removido do MBR ou do que quer que seja que o UEFI use, talvez seja necessário usar "grub-install" também.

Depois que tudo isso for feito sem erros, você deverá desmontar todas as coisas que montamos anteriormente no ambiente chroot antes de sair. Caso contrário, o Ubuntu terá dificuldade em desmontar a partição Linux de forma limpa quando você desligar.

umount /sys

umount /proc

umount /dev

exit

sudo umount linux

sync

informação relacionada