Atualizar de 13.10 para 14.04 quebrou o Grub


11

Eu tenho uma inicialização dupla do Ubuntu + Windows 8 em um sistema UEFI. Tudo estava bem até eu atualizar para o Ubuntu 14.04 a partir da 13.10.

Agora, o que recebo quando inicializo o PC é uma tela de resgate grub como esta com o seguinte:

Failed to open \EFI\Microsoft\Boot\grubx64.efi - 800000000000000E
Failed to load image
Failed to open \EFI\Microsoft\Boot\MokManager.efi.efi - 800000000000000E
Failed to load image
Welcome to GRUB!

error: symbol 'grub_term_highlight_color' not found.
grub rescue> 

O uso do reparo de inicialização a partir de um CD ao vivo (13.10 ou 14.10) relata que ocorreu um erro e cria este relatório: http://paste2.org/Y8mDwa0M

(O reparo de inicialização diz que instalará pacotes do Ubuntu 13.10)

mas nada muda.

Se eu pressionar f12 na inicialização, chego a uma tela de bios (Menu Boot), onde posso escolher entre hdd, usb, leitor de dvd e, se clicar no HD, tenho três opções:

Selecione um dispositivo para inicializar:

Windows Boot Manager 
ubuntu
Ubuntu

A opção do Windows me leva de volta ao resgate do grub.

Com as outras duas opções, chego a um menu grub onde consigo iniciar o Ubuntu, mas a opção da janela não funciona

Não sei mais o que fazer

Atualização :

Obrigado pelas respostas, eu realmente tentei todas elas (reinstalei o grub mais de 5 vezes de versões diferentes do Ubuntu em pen drives e usei muitas vezes o reparo de inicialização, mas nada funcionou)

No final, estou usando o rEFInd ( http://www.rodsbooks.com/refind/getting.html ), que está me permitindo começar o grub a partir do qual posso iniciar o Ubuntu (mas não o Windows) e iniciar o Windows por conta própria usando o menu REFERÊNCIA.

Mas é claro que não é a solução ideal

Atualização 2:

Eu tenho apenas um disco:

insira a descrição da imagem aqui

Atualização 3:

este é o erro que aparece quando tento instalar o grub ou executar o grub-install:

Installing for i386-pc platform. 
grub-install: Warning: This GPT partition label has no BIOS Boot Partition, the embed is not possible. 
grub-install: Warning: This embed is not possible. GRUB can only be installed in this configuration using blocklist. The blocklist however, are not reliable and it is not recommended to use ..
Installation completed, no errors reported.
Generating grub configuration file ... 
Found linux image: / boot/vmlinuz-3.13.0-24-generic 
Found initrd image: / boot/initrd.img-3.13.0-24-generic 
Found linux image: / boot/vmlinuz-3.11.0-19-generic 
Found initrd image: / boot/initrd.img-3.11.0-19-generic 
Found linux image: / boot/vmlinuz-3.11.0-7-generic 
Found initrd image: / boot/initrd.img-3.11.0-7-generic 
Found linux image: / boot/vmlinuz-3.11.0-5-generic 
Found initrd image: / boot/initrd.img-3.11.0-5-generic 
Found linux image: / boot/vmlinuz-3.11.0-4-generic 
Found initrd image: / boot/initrd.img-3.11.0-4-generic 
Found linux image: / boot/vmlinuz-3.11.0-3-generic 
Found initrd image: / boot/initrd.img-3.11.0-3-generic 
Found linux image: / boot/vmlinuz-3.11.0-2-generic 
Found initrd image: / boot/initrd.img-3.11.0-2-generic 
Found Windows Boot Manager on / dev/sda2 @ / EFI / Microsoft / Boot / Bootmgfw.efi 
Adding boot menu entry for the EFI firmware configuration 
done

(traduzido do italiano)



Eu tentei esses comandos, mas fiquei preso no chroot. Eu recebo um erro: "chroot: falha ao executar o

Tenho o mesmo erro indo para 14,04, isso me ajuda: wiki.ubuntuusers.de/GRUB_2/Reparatur , quase o mesmo que a resposta de freeseek

1
@ Larry Consulte a publicação abaixo, o método 3 nº 1 é o seu problema, não é possível usar uma raiz de alteração de 32 bits para reparar um sistema de 64 bits.
precisa saber é o seguinte

Respostas:


7

Não testei isso com um grub quebrado no 14.04, mas nunca tive problemas usando estas instruções:
https://wiki.ubuntu.com/Grub2#Recover

Primeiro de tudo, você deve iniciar seu sistema a partir de um CD ou USB ao vivo. Então

" MÉTODO 3 - CHROOT

Este método de instalação usa o comando chroot para obter acesso aos arquivos do sistema danificados. Depois que o comando chroot é emitido, o LiveCD trata o sistema quebrado / como seu. Os comandos executados em um ambiente chroot afetarão os sistemas de arquivos dos sistemas quebrados e não os do LiveCD.

1) Inicialize no LiveCD Desktop (Ubuntu 9.10 ou posterior). Observe que o Live CD deve ser o mesmo que o sistema que você está consertando - de 32 ou 64 bits (caso contrário, o chroot falhará).

2) Abra um terminal (Aplicativos> Acessórios> Terminal).

3) Determine a partição normal do sistema - (a opção é um "L" minúsculo)

sudo fdisk -l

Se você não tiver certeza, execute

df -Th  

Procure o tamanho correto do disco e o formato ext3 ou ext4.

4) Monte sua partição normal do sistema:

Substitua a partição correta: sda1, sdb5, etc.

sudo mount /dev/sdXX /mnt  

Exemplo: sudo mount / dev / sda1 / mnt

5) Somente se você tiver uma partição de inicialização separada: sdYY é a designação da partição / boot (por exemplo, sdb3)

sudo mount / dev / sdYY / mnt / boot 
6) Monte os sistemas de arquivos virtuais críticos:
sudo mount --bind / dev / mnt / dev
sudo mount --bind / dev / pts / mnt / dev / pts
sudo mount --bind / proc / mnt / proc
sudo mount --bind / sys / mnt / sys 
7) Faça o chroot no dispositivo normal do sistema:

sudo chroot / mnt 

8) Se não houver /boot/grub/grub.cfg ou não estiver correto, crie um usando

update-grub 

9) Reinstale o GRUB 2:

Substitua o dispositivo correto - sda, sdb, etc. Não especifique um número de partição.

grub-install / dev / sdX 

10) Verifique a instalação (use o dispositivo correto, por exemplo sda. Não especifique uma partição):

sudo grub-install --recheck / dev / sdX 

11) Sair do chroot: CTRL-D no teclado

12) Desmonte os sistemas de arquivos virtuais:

sudo umount / mnt / dev / pts
sudo umount / mnt / dev
sudo umount / mnt / proc
sudo umount / mnt / sys 

13) Se você montou uma partição separada / de inicialização:

sudo umount / mnt / boot 

14) Desmonte o diretório / usr do LiveCD:

sudo umount / mnt / usr 

15) Desmonte o último dispositivo:

sudo umount / mnt 

16) Reinicialize.

reinicialização do sudo 
"

Além disso, existem outras maneiras de reparar o grub: Como posso reparar o grub? (Como recuperar o Ubuntu depois de instalar o Windows?)


1
Os passos 3,4 e 9 fizeram o trabalho por mim. Graças
ezdazuzena

1
boot-reparação falhou miseravelmente -, mas isso funcionou perfeitamente para mim
Jon Skarpeteig

2

Teve o mesmo erro "símbolo 'grub_term_highlight_color' não encontrado", preso no resgate do Grub. Tentei reparar a inicialização (opção recomendada), mas não funcionou!

Solução: baixou o boot-repair.iso inicializável ( http://sourceforge.net/projects/boot-repair-cd/ ) e criou um disco usb inicializável. Inicializado a partir dele, conectado à Internet e iniciado o "Reparo recomendado", siga as instruções em algumas etapas (grub excluído / desinstalado e depois reinstalado uma nova versão), que funcionou para mim! Eu acho que, no seu caso, o grub deve ser desinstalado e reinstalado no sda8 em vez do sdb1.


isso funciona para mim: baixei a imagem do cd de reparo de inicialização - usei x64, pois a instalação do Ubuntu é x64. Em seguida, instalei o ISO via unetbootin . Realizou reparos regulares e viola!
Meta

O disco inicializável (versão 64.04 14.04 Desktop) com o reparo de inicialização também funcionou para mim, após a atualização das 13.10 para as 14.04. Pela minha parte, segui as instruções aqui (a segunda opção) e cliquei em "Reparo recomendado" na ferramenta e, em seguida, o grub repentinamente voltou a funcionar!
Krøllebølle

2

Eu tive o mesmo problema. Meu palpite é que, como eu tenho dois discos rígidos, o sistema está tentando iniciar a partir da unidade errada em que uma versão antiga do GRUB está instalada. Minha solução foi iniciar o Ubuntu com um pen drive (não importa qual versão). Depois de iniciar, estes comandos farão isso, execute como root:

mkdir /tmp/drive
sudo mount /dev/sdX1 /tmp/drive
sudo mount --bind /dev /tmp/drive/dev
sudo mount --bind /proc /tmp/drive/proc
sudo mount --bind /sys /tmp/drive/sys
sudo chroot /tmp/drive
dpkg-reconfigure grub-pc

Onde sdX1 deve ser a unidade em que seu sistema está instalado. Quando você executa o último comando, deve selecionar a unidade sdX, embora eu ache que executá-la várias vezes instalará a nova versão do grub em cada unidade e lhe dará alguma tranqüilidade.


Eu recebo mount: o ponto de montagem / tmp / drive / dev não existe
alemur

1
@Akmur você esqueceu - ligue possivelmente ou montou a unidade errada? --bind leva o sistema de arquivos na unidade do usb e substitui / dex / sdX1 / dev com usedevice / dev
eyoung100

@Akmur, você provavelmente montou a partição errada. Quando mencionei o sdX1, isso precisa se referir à sua partição de inicialização, que já deve conter os diretórios dev, proc, sys. Se não houver, provavelmente você está montando a partição errada. Se você acredita que montou a partição correta, talvez continue criando os diretórios ausentes com o mkdir.
freeseek 14/05

1

Eu tive o mesmo erro ao atualizar de 13.10 para 14.04. Essas instruções pareciam um pouco assustadoras para mim.

Acabei criando uma unidade USB inicializável com o Super Grub Disk. http://www.supergrubdisk.org/

Inicializado a partir disso. Na inicialização disse-lhe para detectar sistemas operacionais instalados. Ele encontrou minha instalação do Ubuntu 14.04, então eu disse para inicializar isso. Inicializado sem problemas.

Eu já tinha o Boot Repair instalado no meu sistema. https://sourceforge.net/p/boot-repair

Executou isso e aceitou as alterações padrão.

Desligar. Retirou a unidade USB do slot, pressionou a energia e esperou com a respiração retida.

Sistema inicializado normalmente! Problema resolvido.


O OP afirmou que o Reparo de Inicialização não funcionou, então provavelmente não é uma resposta.
mikewhatever

1

Meu palpite é que você tem arquivos EFI antigos na sua partição EFI. Há um bug da barra de ativação específico da situação da EFI que, suspeito, trata do seu caso. Funcionou para mim depois de todas as outras sugestões não. A correção é atualizar os arquivos EFI manualmente . Abaixo está um passo a passo. Observe que você precisará substituir sua partição EFI no lugar de /dev/sda1.

  1. Inicialize no CD ao vivo
  2. Abrir xterm
  3. Use parted para determinar sua partição EFI: sudo parted -l(substitua / dev / sda1 na próxima etapa)
  4. Monte sua partição EFI: sudo mount /dev/sda1 /mnt
  5. Atualize o arquivo EFI de inicialização: sudo cp /mnt/EFI/ubuntu/grubx64.efi /mnt/EFI/Boot/bootx64.efi

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.