Eu instalei o Windows 7, que comia o arquivo de inicialização do Ubuntu. Ao iniciar o computador, ele agora vai direto para o Windows, sem me dar a opção de inicializar o Ubuntu.
Como posso recuperar o Ubuntu?
Eu instalei o Windows 7, que comia o arquivo de inicialização do Ubuntu. Ao iniciar o computador, ele agora vai direto para o Windows, sem me dar a opção de inicializar o Ubuntu.
Como posso recuperar o Ubuntu?
Respostas:
Quando você instala o Windows, o Windows assume que é o único sistema operacional (SO) na máquina ou, pelo menos, não é responsável pelo Linux. Por isso, substitui o GRUB por seu próprio gerenciador de inicialização. O que você precisa fazer é substituir o carregador de inicialização do Windows pelo GRUB. Eu já vi várias instruções para substituir o GRUB mexendo com comandos do GRUB ou algo parecido, mas para mim a maneira mais fácil é simplesmente chroot
instalar e executar a instalação update-grub
. chroot
é ótimo porque permite que você trabalhe em sua instalação real, em vez de tentar redirecionar as coisas aqui e ali. É realmente limpo.
Aqui está como:
Determine o número da partição da sua partição principal. sudo fdisk -l
, sudo blkid
ou GParted (que já deve estar instalado, por padrão, na sessão ao vivo) pode ajudá-lo aqui. Vou assumir nesta resposta que é /dev/sda2
, mas certifique-se de usar o número de partição correto para o seu sistema!
Se sua partição principal estiver em um LVM , o dispositivo será localizado /dev/mapper/
, provavelmente, /dev/mapper/{volume}--{os}-root
onde {volume}
está o nome do volume LVM e {os}
é o sistema operacional. Execute ls /dev/mapper
para o nome exato.
Monte sua partição:
sudo mount /dev/sda2 /mnt #Replace sda2 with the partition from step 2
Se você tem um separado /boot
, /var
ou /usr
partições , repita os passos 2 e 3 para montar essas partições a /mnt/boot
, /mnt/var
e /mnt/usr
, respectivamente. Por exemplo,
sudo mount /dev/sdXW /mnt/boot
sudo mount /dev/sdXY /mnt/var
sudo mount /dev/sdXZ /mnt/usr
substituindo sdXW
, sdXY
e sdXZ
pelos respectivos números de partição.
Vincule a montagem de outras coisas necessárias:
for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
Se o Ubuntu estiver instalado no modo EFI ( veja esta resposta se você não tiver certeza ), use sudo fdisk -l | grep -i efi
ou GParted para encontrar sua partição EFI. Terá um rótulo de EFI
. Monte esta partição, substituindo sdXY
pelo número da partição real do seu sistema:
sudo mount /dev/sdXY /mnt/boot/efi
chroot
na sua instalação do Ubuntu:
sudo chroot /mnt
Neste ponto, você está na sua instalação, não na sessão ao vivo, e executando como root. Atualizar grub:
update-grub
Se você receber erros ou se a etapa 7 não tiver resolvido o problema, vá para a etapa 8. (Caso contrário, é opcional.)
Dependendo da sua situação, pode ser necessário reinstalar o grub:
grub-install /dev/sda
update-grub # In order to find and add windows to grub menu.
Se o Ubuntu estiver instalado no modo EFI e o UUID da partição EFI tiver sido alterado, pode ser necessário atualizá-lo /etc/fstab
. Compare:
blkid | grep -i efi
grep -i efi /etc/fstab
Se o UUID da partição EFI atual (de blkid
) for diferente daquele em /etc/fstab
, atualize /etc/fstab
com o UUID atual.
Se tudo funcionou sem erros, está tudo pronto:
exit
sudo reboot
Neste ponto, você deve conseguir inicializar normalmente.
Se você não pode inicializar normalmente e não executou a etapa 8 porque não havia mensagens de erro, tente novamente com a etapa 8.
grub-efi-amd64
e, se estiver usando a inicialização segura, deseja usar grub-install --uefi-secure-boot
. Isso também está detalhado em superuser.com/a/376471/197980
O instalador do Windows não se importa com outro sistema operacional no sistema. Por isso, ele escreve código próprio no registro mestre de inicialização. Felizmente, a solução também é fácil.
Você precisa reparar o MBR. Faça o seguinte
Inicialize usando um usb / cd ao vivo do ubuntu. Use boot-repair
para corrigir o problema.
Após inicializar com usb / cd ao vivo, execute o seguinte comando no terminal:
sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair
Use Recomended Repair
.
Mais informações - https://help.ubuntu.com/community/Boot-Repair
Inicialize a partir de um pendrive ou CD USB do Ubuntu ao vivo e
instale o Boot-Repair no ubuntu seguindo as etapas
Abra o terminal e execute os seguintes comandos
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install boot-repair
Após concluir a instalação, você pode iniciá-lo no menu Sistema-> Administração-> Reparo de Inicialização, se você usar o Gnome, ou procurar "reparo de inicialização" no painel, se usar o Unity. Em seguida, siga as seguintes capturas de tela:
Método 1
Pressione Aplicar e reinicie o sistema
Método 2
Basta instalar easyBCD
no Windows 7 e fazer
Adicionar Nova Entrada> Linux / BSD> (selecione) Grub2> (push) Adicionar Entrada
Em seguida, você pode escolher o Ubuntu no gerenciador de inicialização do Windows 7 para acessar o Grub2 (gerenciador de inicialização anterior).
Em sistemas baseados em EFI (como a maioria dos sistemas fornecidos com o Windows 8 ou posterior), o Windows às vezes atualiza seu carregador de inicialização ou o redefine como o carregador de inicialização padrão. Isso é particularmente comum ao reinstalar o SO ou executar uma atualização importante do sistema (atualizando para a versão mais recente do Windows, por exemplo). Observe que é improvável que o Windows apague os arquivos GRUB em um computador baseado em EFI. Tudo o que é necessário para inicializar o Ubuntu ainda está no lugar; está apenas sendo ignorado. Nesses casos, uma reinstalação completa do GRUB é um exagero e, de fato, traz uma (pequena) chance de que ele crie novos problemas.
Portanto, em vez de reinstalar o GRUB nesses casos, recomendo redefinir o GRUB (ou qualquer outro gerenciador de inicialização ou gerenciador de inicialização que você preferir) como padrão. Existem várias maneiras de fazer isso, incluindo:
ubuntu
entrada na lista de opções de inicialização e mova-a para o topo da lista. Na próxima vez que você reiniciar, o GRUB deverá aparecer. (Se você usar algo diferente do GRUB, precisará localizar sua entrada.)bcdedit
- A bcdedit
ferramenta Windows pode ser usada para definir o GRUB na ordem de inicialização padrão. O comando bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
, digitado em uma janela de prompt de comando do administrador , fará isso; no entanto, se o seu computador inicializar com o Secure Boot ativo, bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi
será necessário. De fato, o último comando normalmente funcionará mesmo se o Secure Boot não estiver em uso, então eu usaria esse comando primeiro. Observe que há uma ferramenta de shell do Windows mais avançada que requer uma sintaxe um pouco diferente da apresentada, mas não recordo os detalhes.ubuntu
entrada para inicializar o Ubuntu aparecerá neste menu do gerenciador de inicialização, permitindo que você inicialize no Ubuntu. Como alternativa, você pode inicializar em uma mídia de emergência do Ubuntu, como o instalador inicializado no modo "tente antes de instalar". De qualquer forma, você pode usar efibootmgr
para ajustar a ordem de inicialização:
sudo efibootmgr
para ver as entradas de inicialização.BootOrder
linha atual .ubuntu
e anote seu Boot####
número.sudo efibootmgr -o xxxx[,yyyy,zzzz,....]
para alterar a ordem de inicialização, fazendo xxxx
o número para o Ubuntu. O que vem depois disso provavelmente não é muito importante, embora eu tenha notado que o Windows provavelmente voltará ao início da ordem de inicialização, se não estiver na lista. Portanto, você provavelmente deve garantir que o Windows esteja na lista e pode ser mais seguro reordenar a lista para que todas as entradas originais estejam lá, apenas com a ubuntu
entrada movida para o topo da lista.Existem outras variantes nesses procedimentos, como usar bcfg
em um shell EFI, usar bless
no macOS, usar meu rEFInd para fazer uma inicialização única, etc. Porém, eu começaria com o EasyUEFI; é provável que seja a solução mais simples. Às vezes, o Windows insiste em se tornar o padrão sempre que é iniciado, e os relatórios indicam que isso bcdedit
pode ser melhor para lidar com esse problema.
Observe que nenhuma das opções anteriores se aplica às instalações no modo BIOS; no entanto, como a maioria dos computadores fornecidos com o Windows 8 ou posterior é inicializada no modo EFI, as instalações no modo BIOS estão se tornando cada vez mais raras; portanto, em muitos casos, é melhor lidar com o problema da maneira EFI do que reinstalar cegamente o GRUB.
efibootmgr
para reordenar a ordem de inicialização (conforme descrito por Rod -> obrigado!), que foi prejudicada por um win10 atualizar. Posteriormente, o GRUB-bootmanager aparece como antes da atualização, para que eu possa confirmar que a solução fornecida funcionou para mim. Não consegui encontrar a versão básica do EasyUEFI, mas apenas uma versão de teste da versão pro gratuita não oferecida.
Agora existe uma solução mais simples:
Isso foi testado em um laptop Samsung Series 7 Chronos com inicialização dupla do Windows 8 e Ubuntu 13.10, inicialização segura desativada, UEFI e inicialização herdada ativada.
O Boot-Repair funcionou para mim. É muito, muito fácil de usar aplicação gráfica, você não precisa usar a linha de comando, você só precisa clicar em um botão :)
Todas as opções de reparo disponíveis estão descritas na documentação do Ubuntu e há uma página separada explicando como iniciar o Reparo de Inicialização (criando um disco inicializável ou instalando-o em um disco ativo existente do Ubuntu) e como usá-lo.
Basta inicializar um CD ao vivo do Ubuntu, instalar o Boot-Repair e executá-lo.
chroot
reparo do que procurar no Google por alguma outra ferramenta.
Quando o GRUB é interrompido, o usuário geralmente não tem acesso aos sistemas; portanto, o reparo deve ser realizado a partir de uma sessão ao vivo (CD ao vivo ou USB ao vivo).
Existem muitas causas possíveis para uma interrupção do GRUB: Windows escrevendo no MBR, DRM impedindo a instalação correta do GRUB, bug do instalador, alteração de hardware ... Atualizar o GRUB como proposto inicialmente por Scott geralmente não é suficiente, reinstalar o GRUB como proposto por Marco é mais eficiente, mas ainda existem várias situações que exigem outros ajustes (adicionando opções ao kernel, exibindo o menu do GRUB, alterando as opções do GRUB, escolhendo a arquitetura de host correta ...). Outras dificuldades para reparar o GRUB são o uso de chroot e a escolha das partições / discos corretos.
Tudo isso foi facilitado em uma pequena ferramenta gráfica: Boot-Repair . Ele deve ser integrado ao CD do Ubuntu 12.04 para facilitar o uso, mas para as pessoas que precisam agora, já existem algumas distros integrando-o: Ubuntu-Secured-Remix (CD do Ubuntu que integra o Boot-Repair), Boot-Repair-Disk (CD executando o Boot -Reparação na inicialização), ...
Espero que isto ajude.
As respostas dadas por Scott e Web-E são boas o suficiente e ajudaram muitas vezes. Porém, muitas vezes, a ferramenta de reparo de inicialização não é capaz de reparar o grub devido a problemas relacionados à plataforma i386 e amd64 ou àquela em que o grub não consegue encontrar o efi
diretório.
O que resolveu meu problema mais de 10 vezes é limpar manualmente as instalações antigas do grub e instalar uma nova.
Então, primeiro execute as 6 primeiras etapas da resposta de Scott, onde você pode pular a 5ª etapa se ocorrer um erro:
- Inicialize a partir do CD ao vivo ou USB ao vivo, no modo "Experimente o Ubuntu".
Determine o número da partição da sua partição principal.
sudo fdisk -l
,sudo blkid
ou GParted (que já deve estar instalado, por padrão, na sessão ao vivo) pode ajudá-lo aqui. Vou assumir nesta resposta que é/dev/sda2
, mas certifique-se de usar o número de partição correto para o seu sistema!Se sua partição principal estiver em um LVM , o dispositivo será localizado
/dev/mapper/
, provavelmente,/dev/mapper/{volume}--{os}-root
onde{volume}
está o nome do volume LVM e{os}
é o sistema operacional. Executels /dev/mapper
para o nome exato.Monte sua partição:
sudo mount /dev/sda2 /mnt #Replace sda2 with the partition from step 2
Se você tem um separado
/boot
,/var
ou/usr
partições , repita os passos 2 e 3 para montar essas partições a/mnt/boot
,/mnt/var
e/mnt/usr
, respectivamente. Por exemplo,sudo mount /dev/sdXW /mnt/boot sudo mount /dev/sdXY /mnt/var sudo mount /dev/sdXZ /mnt/usr
substituindo
sdXW
,sdXY
esdXZ
pelos respectivos números de partição.Vincule a montagem de outras coisas necessárias:
for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
Se o Ubuntu estiver instalado no modo EFI ([veja esta resposta se não tiver certeza] [efi]), use
sudo fdisk -l | grep -i efi
ou GParted para encontrar sua partição EFI. Terá um rótulo deEFI
. Monte esta partição, substituindosdXY
pelo número da partição real do seu sistema:sudo mount /dev/sdXY /mnt/boot/efi
chroot
na sua instalação do Ubuntu:sudo chroot /mnt
Em seguida, execute estas etapas:
sudo dpkg --configure -a
sudo apt install -fy
sudo apt purge -y grub*-common grub-common:i386 shim-signed
sudo apt install -y grub-pc
sdXY
para instalar o carregador de inicialização. Encontre onde seu sistema operacional atual está instalado usando o sudo fdisk -l
comando Será marcado como Linux
. Navegue nessa janela usando a Tabtecla e selecione uma opção usando a Spacetecla.sudo grub-update
uma verificação dupla.Se o problema persistir, você pode ler o wiki do Arch para entender sobre o grub e resolver muitas outras variedades de problemas. (Sim, também ajuda no Ubuntu!).
O Windows não vê partições formatadas no Linux. Você precisa usar o gparted a partir de um liveCD e criar uma partição primária formatada em NTFS com o sinalizador de inicialização.
Alguns tiveram problemas se a nova partição primária estiver após a partição estendida, pois o Windows nem sempre redefine a tabela de partição corretamente. É melhor ter bons backups e um backup separado da tabela de partições.
Faça backup da tabela de partição em arquivo de texto e salve no dispositivo externo.
sudo sfdisk -d /dev/sda > PTsda.txt
Isso é apenas para sistemas MBR (msdos). Se a instalação do Ubuntu estiver na unidade de partição GPT, você poderá instalar o Windows apenas no modo UEFI ou converter a unidade novamente em MBR (msdos).
Somente o fsck
comando corrigiu a grub-rescue
tela para mim.
Use o Boot-Repair para inicializar a partir do Live-CD e abra o Terminal
Obtenha o dispositivo correto:
sudo fdisk -l
Precisa encontrar o dispositivo de inicialização, o dispositivo de inicialização tem *
na categoria Inicialização como aqui:
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 2000895 1998848 976M 82 Linux swap / Solaris
/dev/sda2 * 2000896 943716351 941715456 449G 83 Linux
Agora repare o disco usando:
sudo fsck /dev/sda2 -y
Nota: / dev / sda2 é o dispositivo de inicialização neste exemplo.
Reinicie quando concluído. Feito.
A resposta de Scott Severance é válida e detalhada, mas há uma resolução que não requer dispositivo de inicialização externo e, portanto, não é necessário identificar e montar manualmente todas as partições do Ubuntu que antecederam o chroot
.
No Windows 10, você pode usar Advanced Recovery
para selecionar um dispositivo (partição?) Para inicializar.
Vá para Settings
e escolha Update & Security
:
Vá para Recovery
:
De Advanced Startup
escolherRestart Now
Em seguida, escolha Use a Device
e todas as opções de inicialização devem ser apresentadas a você. Escolha a partição 'ubuntu' e seu PC deverá inicializar a partir dessa partição.
Uma vez inicializado no meu ambiente normal do Ubuntu, tentei apenas rodar, grub-update
mas isso não fez nenhuma alteração.
Eu então encontrei minha /boot/efi
partição que estava /dev/nvme0n1p1
e funcionou sudo grub-install /dev/nvme0n1p1
e depois sudo update-grub
.
Isso restaurou meu registro mestre de inicialização várias vezes agora, pois parece haver uma nova política do Windows 10 de substituir o MBR em pequenas atualizações .
Eu tive um problema diferente, causado (provavelmente) pela boot-repair
limpeza de meus /etc/grub.d/
modelos, descritos na minha pergunta aqui: Ubuntu 18.04 não inicializando após a instalação do Windows 10
Como apontado por @karels comentário, a configuração do grub é gerado usando os arquivos em /etc/grub.d
. Meu diretório continha apenas /etc/grub.d/25_custom
, que continha entradas de menu estranhas apontando para imagens .efi inexistentes. Parecia que meus /etc/grub.d
modelos talvez tivessem sido lavados boot-repair
.
Corrigi isso por:
sudo mount /dev/sdxx /mnt
sudo cp /etc/grub.d/* /mnt/etc/grub.d/
sudo update-grub