Atualização do Windows 10 mata o grub e o reparo de inicialização não ajuda

83

Acabei de atualizar para o Windows 10 a partir do Windows 8.1 no meu laptop particionado com o Ubuntu 14.04 instalado. O Grub não apareceu mais na inicialização, então executei o reparo de inicialização a partir de um liveUSB do Ubuntu. Isso não pareceu ter nenhum efeito. Eu verifiquei e a inicialização segura ainda está desativada.
Faça logon no boot-repair: http://paste.ubuntu.com/11972534/
Então, o que vem a seguir?

Atualização: tentei usar o chroot para atualizar o grub da minha partição Ubuntu. O update-grub é executado com êxito, encontrando o gerenciador de inicialização do linux e do windows, mas o processo ainda não tem efeito. O grub-install reclama que não consegue encontrar o diretório EFI (mas eu montei tudo corretamente).

Atualização2: Acabei de descobrir que executar o efibootmgr após chroot no ubuntu mostra o ubuntu como não estando na ordem de inicialização. Mudei manualmente a ordem e reiniciei para descobrir que a ordem de inicialização foi redefinida. Eu corro no Windows: bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efiMas isso não tem efeito, mesmo após o relatório 'Operação bem-sucedida'.

Nicholas Verstegen
fonte
O próximo seria registrar um relatório de bug.
Rinzwind 31/07/2015
@Rinzwind Acabei de enviar o log para [email protected], explicando minha situação.
Nicholas Verstegen 31/07/2015
Se você atualizou os arquivos do grub no ESP, entrou no ACERs UEFI e ativou a confiança nesses arquivos. Você precisa de uma senha do sistema definida para fazer isso. askubuntu.com/questions/597213/...
oldfred
Mantenha dois ESPs separados para ambos, caso contrário, o Windows apagará o GRUB a cada atualização do BOOTMGR.
Erkin Alp Güney
Esta breve nota ( linuxbsdos.com/2015/07/29/… ) indica que, se o seu ESP estiver na partição UEFI, a atualização não deve quebrar nada.
Carles Araguz

Respostas:

114

Eu apenas tive que executar isso no Windows como administrador:

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

Ou, se você estiver usando o PowerShell:

bcdedit /set "{bootmgr}" path \EFI\ubuntu\grubx64.efi

O GRUB aparece bem na inicialização e eu posso inicializar no Ubuntu e no Windows 10.

Nicholas Verstegen
fonte
2
@bheeshmar: isso é digno de uma resposta por si só! ;-)
Fabby
3
Isso funcionou para mim, muito obrigado. Posso saber o que esse comando realmente fez por favor?
Jehoshuah
3
FYI: não funciona no Windows PowerShell, precisa executar cmd como administrador para que ele funcione
William Saunders
2
@ Jehoshuah Ele define o Grub como o gerenciador de inicialização do sistema, em vez do gerenciador de inicialização do Windows, o que significa que, quando o sistema é iniciado, ele executa o Grub. BCD significa "Dados de configuração de inicialização".
Wjandrea 22/05
7
Nota: para encontrar o caminho para o último argumento desse comando, você pode usar bcdedit /enum firmware. Isso ajuda se você estiver usando outra distribuição Linux e seu motor de busca desembarcou aqui :-)
David Faure
19

A única solução que funcionou para mim é descrita nesse link que eu trouxe aqui novamente, porque é mais fácil encontrar esse segmento no google.

Essencialmente, as etapas são:

  1. Usando o Ubuntu Live para inicializar no modo 'Try Ubuntu'.
  2. Use GParted para verificar a partição linux correta (por exemplo /dev/sda2).
  3. Monte a partição linux:

    sudo mount /dev/sda2 /mnt  #Replace sda2 with your partition number
    
  4. Monte todas as outras pastas do sistema linux:

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
    

    Se você estiver executando um sistema UEFI, também precisará montar seu diretório EFI usando o seguinte comando:

    sudo mount /dev/sda1 /mnt/boot/efi
    
  5. chroot em sua instalação

    sudo chroot /mnt
    
  6. Agora que você está logado na sua instalação (não no Ubuntu Live), basta

    update-grub
    grub-install /dev/sda
    update-grub
    exit
    sudo reboot
    

E é isso ! Os créditos vão para Scott Severance no link que eu mencionei acima.

Nir
fonte
11
Em parte funcionou para mim .. agora ele inicia direto para linux sem mostrar o menu de inicialização
PowerAktar
@PowerAktar você tentou pressionar "ESC" para mostrar o menu do grub?
InitializeSahib
A resposta me ajudou. Basicamente, eu inicializei meu PC com o modo 'Try Ubuntu' e instalei o reparo de inicialização para corrigir o grub. A partição Linux foi recuperada. Mas eu perdi a partição do Windows após a correção. Por isso, tentei passar das etapas 4 a 6. Essas etapas me ajudaram a recuperar a partição do Windows 10. Obrigado Nir
r0ng 11/11/16
2
Essa resposta é quase a mesma da pergunta vinculada, exceto pela pior formatação e gramática. Se sua resposta for essencialmente uma cópia de outra pergunta, seria melhor sinalizá- la como uma duplicata da outra quando você ganhar 15 pontos de reputação . Não se esqueça de votar nas respostas que você achou úteis!
David Foerster
Essa é a única coisa que funcionou para mim. Notei que (L) o ubuntu não criaria nada no sda1 / EFI / boot / ..., mas manualmente, o corrigi. Obrigado!
user2084865 22/02
4

mesmo problema aqui, atualizando do windows7 para 10 em um pc de inicialização dupla ... resolvi desta maneira:

  1. Atualizar o Windows
  2. Durante o processo de instalação, após a primeira reinicialização, recebo o prompt de resgate do grub, corrigido com o BootRepair em um pendrive
  3. Concluída a instalação do Windows, o GRUB se foi e, com um cd ao vivo do gparted, notei que todas as partições ainda estavam lá, mas todas eram NTFS
  4. TestDisk usado do Windows recuperou minha partição Linux
  5. BootRepair novamente e tudo parece ok (eu tenho a voz do Windows duplicada no menu GRUB .. não sei por que, mas tudo parece ok para mim agora!)

Espero que possa ser útil para alguém!

Francesco
fonte
Mais de um passo a passo a passo seria útil
Veridian
Esta solução funcionou para mim também .. e salvou o meu dia :) PS. Este passo a passo podem ajudar: cgsecurity.org/wiki/TestDisk_Step_By_Step
O bom gigante
11
Como o TestDisk recuperou suas partições Linux? Você acabou de usá-lo para alterar o tipo de partição?
Greg Sino
Você está dizendo que a instalação do Windows converte partições ext4 em NFTS? O que aconteceu com coisas como permissões de arquivo e links simbólicos, que não podem ser expressos 100% da mesma maneira no NTFS? Eu esperaria uma perda parcial de informações do arquivo.
bluenote10
4

A máquina da minha esposa é mais antiga (não UEFI) e tinha o Ubuntu instalado em uma partição lógica estendida. A atualização para o Windows 10 matou o grub pela primeira vez e, portanto, a reinicialização resultou no prompt "grub rescue", que eu restaurei com o BootRepair do LiveUSB, mas minha partição Linux estava ausente! Eu restaurei isso com o resgate separado do LiveUSB, que encontrou e recuperou a partição. A partir daí, montei a partição do LiveUSB e fiz uma instalação do grub e fui capaz de inicializar novamente no Ubuntu e no Win10 recuperados. Espero que isso ajude os outros.

bheeshmar
fonte
3
NOTA: Todos os usuários com Windows 7 na inicialização do BIOS em unidades particionadas MBR (msdos) e Ubuntu em uma partição lógica provavelmente terão esse problema. É melhor fazer backup separadamente da tabela de partições primeiro. Então, se você não alterou a tabela de partição, poderá restaurá-la diretamente. askubuntu.com/questions/654386/… O Windows sempre "esqueceu" de incluir a partição Linux ao reescrever a tabela de partições.
oldfred
Eu gostaria de ter lido isso antes de pressionar o botão Atualizar para o Windows 10 na máquina da minha esposa! :)
bheeshmar
2
Você pode fornecer um link para "BootRepair" e "parted rescue" e / ou "LiveUSB"? Existem muitas dessas coisas e as pessoas podem estar interessadas em usar exatamente as que você fez (não consegui encontrá-las definitivamente no Google).
Greg Bell
@oldfred O Windows reescreve a tabela ao fazer a atualização? Isso é assustador.
Android Dev
2

Você verificou a ordem da sua sequência de inicialização? Se o carregador de inicialização da Microsoft estiver no número 2, mova-o para a parte inferior e reinicie.

Você pode verificá-lo no Ubuntu executando sudo efibootmgr -vno terminal.

Adam Elvin
fonte
2

Aqui temos várias respostas, fornecendo etapas sobre como eles resolveram o problema (menu Perda de Grub devido à atualização mais recente do Win10). Várias respostas provam que a solução não é única, pois a configuração da máquina não é única.

Para o meu sistema ( Acer E5-575G-57D4 ), a seguir está a correção:

Resposta curta :

1) No Windows, conforme mencionado por Nicholas em sua resposta, digite o seguinte comando como administrador no prompt de comando do Windows.

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

2) Execute o utilitário de reparo de inicialização com o Live Ubuntu CD / USB.

Resposta longa:

1) Faça login no Windows.

2) Crie um pendrive inicializável (com sua versão do Ubuntu) e conecte-o.

3) Digite este comando como administrador no prompt de comando:

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

Reinicie .

4) Enquanto inicializa, pressione F12 para ver o menu de inicialização. Selecione "Linux". Nota: Para isso, o "menu de inicialização F12" deve estar ativado nas configurações do BIOS (pressione F2 durante a inicialização).

5) No menu, selecione "Experimente o ubuntu sem instalar", para a sessão Live Ubuntu .

6) Conecte-se ao seu WiFi. Faça o download e execute o reparo de inicialização usando os seguintes comandos:

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

Basta seguir as instruções até receber a mensagem de que o grub está corrigido. Funcionou para mim.

Obrigado :)

umash07
fonte
1

Não tenho certeza se isso está relacionado, mas também tive um problema ao tentar atualizar para o Windows 10 a partir de uma inicialização dupla do Windows 8.1 / debian.

Basicamente, em algum momento da atualização, acabei com o grub entrando no modo de recuperação, porque minha partição debian havia sido apagada no processo e, portanto, os arquivos de inicialização (com geralmente uma partição de inicialização separada, mas não desta vez ... ) De uma olhada neste link: a atualização do Windows 10 levou ao resgate do grub

Acho que o problema é que o Windows não gravou a tabela de partição corretamente durante o processo de atualização.

De qualquer forma, resolvi o problema inicializando em um disco rígido externo de instalação do Win8.1 e segui as instruções: https://neosmart.net/wiki/fix-mbr/ (role para baixo até win8 / 8.1). Isso limpou o grub e reinstalou o carregador de inicialização da mSoft. Eu então consegui terminar a atualização e reinstalei o debian todos juntos, pois na época eu não tinha percebido que era simplesmente um problema com a tabela de partição não sendo escrita corretamente. No entanto, uma solução melhor seria tentar recuperar sua tabela de partições (usando testdisk?) E depois reinstalar / atualizar o grub.

Espero que ajude.

PS: Obrigado à Microsoft por não dar a mínima para as pessoas que têm uma configuração de inicialização dupla ...

Jérémy Riviere
fonte
Eu também sofri uma partição limpa com a atualização.
Lewis Goddard
O que eu não entendo é como é que apenas minha partição linux raiz foi apagada quando eu tinha duas outras partições lógicas para / opt e linux-swap que foram deixadas intocadas. Certamente, se as janelas realmente tinha dificuldade para escrever partições lógicas na tabela aqueles deve ter sofrido muito ...
Jérémy Riviere
11
Não vi problemas nos sistemas UEFI / gpt não gravando a tabela de partição corretamente. Mas qualquer Windows 7 ou 8 com BIOS / MBR e Linux em partições lógicas parece ter o problema. askubuntu.com/questions/654386/… Todos os outros com problema de partição ausente tinham apenas uma partição LInux como lógica. Mas agora parece muito estranho que o Windows apenas "esqueça" de escrever a partição / (root). E já o vejo há anos, mesmo com o Windows 7 reinstalado.
oldfred
11
@oldfred Isso acontece se as partições lógicas não estiverem numeradas em ordem, ou seja, sda6 está antes do sda5 dentro da partição estendida, e não apenas se forem partições Linux (swap Linux excluído e NTFS no meu caso). Às vezes, a atualização do Windows 10 cria uma nova partição para um ambiente de recuperação, se não couber na partição de inicialização.
Martin Thornton
1

Eu usei o rescuetux / supergrubdisk. Inicializei no DriveDroid no meu tablet Android. Em seguida, o auto detect detect rescuetux. Entrei no botão WINDOWS, pressione o botão de reparo betaWindowsMBR. E selecionado / dev / sda2 ok ok ok. Então disse bem sucedido. Agora eu acabei de voltar ao menu uefi do Windows.

Beezy Weezy
fonte
1

Minha correção foi próxima ao @Francesco, mas um pouco diferente.

  1. Atualize o Windows de 7 para 10.
  2. Durante o processo de instalação, após a primeira reinicialização, recebo o prompt de resgate do grub, corrigido com o BootRepair em um pendrive.
  3. O Grub agora aparece, mas está apenas mostrando a partição Ubuntu, não o Windows.
  4. Entre no Ubuntu, vá para o terminal e digite update-grub
  5. Agora, o Windows mostra o backup no menu grub, continue com a atualização do Windows 10.
Metrópole
fonte
No meu caso, meu sistema inicializa no Windows após o BootRepair.
tbear
11
Além disso, todas as partições Linux desapareceram como Francesco. Você teve sorte.
tbear
@ tbear então como você se recuperou?
Greg Sino
1

Se você tiver uma mídia de instalação do Win10, poderá usá-la para instalar um novo MBR novo. Basta inicializar até ver "Instalar agora" (ou similar), mas não clique nele. Há um pequeno link dizendo "ferramentas de reparo" (ou algo assim). A partir disso, você pode inserir o prompt de comando.

cd c:\windows\system32
bootrec /fixmbr

talvez até

bootrec /fixboot

Isso deve corrigir o problema. Mas, seu Linux se foi devido à ignorância da Microsofts quanto às próprias escolhas das pessoas. Eles acabaram de decidir que não há problema em excluir o que estiver disponível no seu disco rígido e o que eles não gostam. Portanto, podemos legalmente decidir que a EM é um bando de idiotas ...

A ferramenta de criação de mídia de instalação do Win10 está disponível gratuitamente em https://www.microsoft.com/en-us/software-download/windows10

19Vidar75
fonte
0

8/8/15 Atualizei do Windows 7 para o Windows 10 e, após a instalação do Windows10, tornei o Firefox meu navegador padrão e desliguei o PC, esperei 15 segundos e liguei o PC e nem esperava que ele me desse um Clique no Ubuntu e ele pareceu ficar no limbo com uma tela cinza pelo que pareceu uma eternidade, mas eu não fiz nada, exceto tocar no botão Enter do teclado para tentar fazer algo acontecer e esperou, então finalmente a tela preta familiar para escolher o Ubuntu ou opções avançadas apareceu. Inicializou no Ubuntu bem. Depois que eu desliguei e liguei o Windows 10, a hora e a data no Windows mostraram 5 horas mais rápido, assim como o Windows 7 depois de usar o Ubuntu, LOL. Na próxima vez que escolhi o Ubuntu para inicializar a inicialização, a espera foi muito menor.

James
fonte
0

Para mim, o processo foi bastante complicado. Eu uso o reparo de inicialização do pendrive, e depois de remover o pendrive e reiniciar o computador, apenas a opção de login do ubuntu veio. Eu entro no Ubuntu que foi instalado no disco rígido do meu computador e depois uso o reparo de inicialização novamente. Depois disso, quando reinicio o computador, agora tenho as opções para fazer login no Unbunt e no winsows 10 e está funcionando muito bem.

mr_azad
fonte
-2

Após a atualização para o Windows 10 no Acer Aspire-AXC-605, não consegui inicializar no ubuntu e a tecla F2 não exibia a tela do BIOS, por isso não foi possível inicializar a partir do USB ubuntu live.

Eu tive que usar a tecla Esc enquanto inicializava a tela "Diagnosticar PC" e eu poderia inicializar o USB a partir daí.

Geo
fonte
Isso realmente não responde à pergunta.
TheWanderer
@ Zacharee1, a solução proposta pelo usuário é "Hit escape, para acessar a tela Diagnostic PC, que oferece uma opção de inicialização USB". Não é uma boa resposta, mas é uma tentativa de responder.
Thomas Ward
@ThomasW. ESTÁ BEM. Eu realmente não vejo isso.
TheWanderer
@ Zacharee1 vê minhas edições - divide um pouco, mas o ponto é que, embora seja uma resposta, ela não é muito boa e realmente não fornece uma ótima resposta
Thomas Ward