Como executo o update-grub de um LiveCD?

45

Ok, então fiz algo estúpido. Eu estava tentando limpar minhas entradas do Grub e acidentalmente removi todos os meus kernels Linux do Grub (eles ainda estão no disco rígido). Então, agora, obviamente, o Grub não me dá nenhuma maneira de inicializar no Ubuntu; Eu posso inicializar no Windows, mas o Ubuntu nem está listado.

Então eu só quero rodar o "sudo upgrade-grub" de alguma forma para restaurar o Ubuntu na lista. Eu posso arrancar a partir de um LiveCD, mas uma vez lá como faço para executar esse comando? (A minha instalação do Ubuntu está em sda5, a propósito).

    
por Kelley 01.06.2012 / 22:31

5 respostas

0

Obrigado pela grande ajuda! No entanto, no final nada parecia funcionar, e desde que eu tinha uma partição / home separada, eu era capaz de reinstalar o Ubuntu sem perder nenhum dado. Eu ainda tenho que reinstalar programas e fazer algumas configurações, mas tudo parece bom neste momento.

    
por Kelley 02.06.2012 / 01:27
60

Uma vez que você diz que seu bootloader GRUB aparece, mas o menu está vazio, eu acho que você não precisa reinstalar o grub, mas sim, como você perguntar, executar update-grub. Para conseguir isso, você pode usar um Live CD, montar as partições relevantes do seu disco rígido, chroot para o diretório montado, e executar update-grub, que deve funcionar como se estivesse operando no disco rígido real.

Inicialize com o seu Live CD, selecionando "Experimentar o Ubuntu sem instalar".

Assim que inicializar, abra um terminal (ctrl-alt-t) e monte sua partição Ubuntu em / mnt. Eu estou supondo que a partição do Ubuntu é / dev / sda5, mas você deve determinar isso sozinho. Deixe-me saber se você precisa de ajuda para fazer isso:

sudo mount /dev/sda5 /mnt

Em seguida, monte mais alguns diretórios necessários:

sudo mount --bind /dev /mnt/dev
sudo mount --bind /sys /mnt/sys
sudo mount --bind /proc /mnt/proc

Além disso, se você tiver uma partição de inicialização separada do Ubuntu (bastante incomum nos dias de hoje, mas pode ser o caso):

sudo mount /dev/sdaX /mnt/boot

Como você pode saber se tem uma partição de inicialização?

Uma vez que você tenha sua partição Ubuntu montada, abra /mnt/etc/fstab . Se você vir uma entrada para /boot , observe para qual dispositivo está apontando ( /dev/sda4 maybe?). Este é o que você tem que montar.

Depois de montados, execute o chroot para começar a usar o diretório montado como partição raiz:

sudo chroot /mnt

Você receberá um aviso de #/ . A primeira coisa a fazer é confirmar que você está usando o diretório /boot correto. Vá para /boot/grub e veja os arquivos lá. Deve haver um monte de arquivos .mod e um arquivo grub.cfg. Se o diretório estiver vazio, não continue, porque isso significa que este NÃO é seu diretório boot real. Olhe acima para ver como determinar se você precisa montar um diretório boot adicional.

Depois de confirmar que /boot/ contém os arquivos corretos, o que significa que é o local correto, digite:

sudo update-grub

Isso deve reconstruir seu arquivo /boot/grub/grub.cfg com as entradas do menu.

Em seguida, saia do chroot:

exit

Neste ponto, você pode querer verificar se as coisas foram atualizadas corretamente. Para isso, cd /mnt/boot/grub e verificar arquivos que do grub estão lá, deve haver um monte de arquivos .MOD e grub.cfg, este último deve ter entradas para seus kernels Ubuntu. Se você só vê nenhum arquivo .mod grub.cfg e, isso significa que este não é o diretório de inicialização correto, olhe para cima para saber como montar uma partição de boot separada.

Desmonte os sistemas de arquivos:

sudo umount /mnt/dev
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/boot #Only if you mounted it earlier
sudo umount /mnt/

E depois reinicie, esperamos que o seu menu do Grub seja restaurado.

    
por roadmr 01.06.2012 / 23:02
10

Inicialize a partir de um CD ao vivo.

Pressione Alt + Ctrl + T para abrir o terminal e executar os seguintes comandos:

sudo mount /dev/sda5 /mnt

Instale o carregador de inicialização GRUB2:

sudo grub-install --root-directory=/mnt /dev/sda

Isso é /dev/sda - o disco rígido em si, não a partição do Ubuntu - /dev/sda5 .

Desmonte a partição do Ubuntu e reinicie o computador da seguinte forma:

sudo umount /dev/sda5 ; sudo reboot

Se você tiver mais de um sistema operacional instalado, detecte novamente os sistemas operacionais da seguinte forma:

sudo update-grub

É isso!

    
por Basharat Sialvi 01.06.2012 / 22:48
1

Minha solução para esse problema foi:

  1. faça o download do supergrub2disk em ligação
  2. coloque no pendrive ligação
  3. inicializa o computador do pendrive com supergrub2disk
  4. faça login no seu Ubuntu
  5. obtenha o Reparo de inicialização para o Ubuntu no link

Talvez não seja a solução mais rápida, mas para mim foi a mais fácil.

    
por jmarceli 06.02.2014 / 15:55
0
As instruções combinadas de roadmr e Basharat Sialvi pode ser encontrado aqui: link

As instruções para os comandos chainloader e multiboot do Grub2 estão em Wiki de Ajuda da comunidade .

    
por user293759 29.11.2015 / 18:37

Tags