Como impedir que o Windows substitua o GRUB ao usar uma máquina de inicialização dupla

19

Eu tenho lido muito sobre inicialização dupla, e parece tão fácil quanto carregar o Windows e, em seguida, carregar o Linux com o GRUB, mas todo mundo diz que o Windows adora lixeira do GRUB quando tem a oportunidade. Quais são algumas das etapas que posso executar para impedir que isso aconteça (além de usar o gerenciador de inicialização do Windows, desejo manter isso o mais simples possível)?

Nathan2055
fonte
11
Relacionado: Como recuperar o grub após a instalação do Windows
Gilles 'SO- stop be evil'

Respostas:

17

Windows irá substituir o setor de inicialização sempre que você instalá-lo, atualizá-lo para uma nova versão, ou usar ferramentas como bootrec /fixmbr, bootrec /fixbootou o mais velho fdisk /mbr. Em geral, instale o Windows primeiro e depois o Linux. O setor de inicialização permanecerá parado até que você faça uma das coisas acima. (E talvez também haja outras maneiras de gravar no MBR.) Mas, se você perder o GRUB, ele será facilmente restaurado:

  • Inicialize a partir de um CD ao vivo (CD / DVD ou unidade flash).
  • Torne-se root ou use sudocom os comandos abaixo.
  • Liste as partições disponíveis, se necessário: fdisk -l
  • O Windows quase certamente existirá em / dev / sda1: mount /dev/sda1 /mnt
  • Reinstale o GRUB no MBR: grub-install --root-directory=/mnt/ /dev/sda
  • Reinicialização: shutdown -r now
  • Restaure o menu do GRUB: update-grub

Você também pode instalar 100% Unix, Linux ou BSD e simplesmente executar o Windows em uma máquina virtual se o computador for forte o suficiente para isso.

Além disso: o BIOS do seu computador pode ter uma opção para proteger o setor de inicialização.

Christopher
fonte
Ao atualizar, você quer dizer Windows 7 para Windows 8 ou apenas executando o Windows Update?
Nathan2055
11
@ Nathan2055 Sim, como 7 a 8 ... versões novas e superiores do Windows. O Windows Update não afetará o MBR.
Christopher
Eu pensei assim. A coisa boa é que eu duvido que eu esteja mexendo com o MBR no Windows, e não há como eu estar indo para o Windows 8 depois de ler isso .
precisa
11
Como alternativa, você pode tentar configurar o carregador de inicialização do Windows para carregar em cadeia no grub: oreillynet.com/pub/h/2337 Um pouco mais envolvido e pode ser muito trabalhoso para pouco efeito, mas fazê-lo dessa maneira o faz se O Windows substitui o gerenciador de inicialização, você ainda poderá inicializar no Linux.
Bratchley
@JoelDavis: Sim, eu li vários tutoriais sobre como fazer isso, mas para alguém que não tem absolutamente nenhuma experiência, mesmo carregando o GRUB e o fato de que eu não acho que o Windows me causará problemas, considerando que eu não quero atualizar, Eu acho que vou com uma configuração de GRUB baunilha e não mexer com o gerenciador de inicialização.
precisa
4

Eu acho que vou com uma configuração de GRUB baunilha e não mexer com o gerenciador de inicialização.

Se você usa qualquer forma de grub, está mexendo com o carregador de inicialização. GRUB significa "grande gerenciador de inicialização unificado". E existem duas versões - grub v1 e grub v2. Todos os sistemas linux modernos usam o grub2 automaticamente. Se você instalar qualquer sistema Linux, o grub é o carregador de inicialização padrão, a menos que você vá especificamente com o LILO, o que eu não sugeriria.

Pessoalmente, tenho um sistema de inicialização dupla com xp e Wheezy. Eu mantenho o xp de sobrescrever o grub desativando a opção "windows restore".

Antes de desativar a opção de restauração, eu precisaria corrigir o grub pelo menos uma vez por semana, pois o carregador de inicialização do Windows continuava sobrescrevendo o grub.

Estou corrigindo para instalar o Windows 8 em um disco rígido externo através de uma porta USB. Espero que isso ocorra sem problemas e não mexa com o meu mbr.

Jenn
fonte
11
desativar a opção de restauração do Windows parece ter corrigido esse problema para mim.
DrCord
2

Esta é uma solução alternativa que eu uso, ele funciona com atualizações do Windows sem necessidade de intervenção: Renomeie seu EFI / Microsoft em EFI / Microsomething Substitua o caminho de inicialização do Windows em grub.cfg para EFI / Microsomething / bootmfgw.efi

menuentry "Microsoft Windows UEFI-GPT" {
    insmod part_gpt
    insmod fat
    insmod search_fs_uuid
    insmod chain
    search --fs-uuid --set=root <PROVIDE YOUR EFI DRIVE UUID>
    chainloader /EFI/Microsomething/Boot/bootmgfw.efi
}
nulleight
fonte
1

Basta abrir gparted, clicar com o botão direito do mouse na partição que contém o Grub, gerenciar as bandeiras e marcar a inicialização.

John Milionis
fonte
2
Isso pode funcionar se a instalação do Windows apenas alterar a partição de inicialização. No meu caso, a instalação do Windows 8.1 substituiu o MBR, exigindo a grub-installsolução de Christopher .
Nathan Kidd
1

Uma solução que encontrei em algum lugar online (unix.stackexchange.com) envolve a desativação do gerenciador de inicialização do Windows. Entre no Linux (a instalação original, se você puder ou viva o CD / DVD) e execute este comando:

efibootmgr

Observe que esse método funcionará apenas se o Linux tiver sido instalado no modo UEFI; portanto, você receberá um erro se o Linux tiver sido instalado no modo Legado. Se você o instalou no modo UEFI, receberá algumas informações e uma lista. Você notará o gerenciador / gerenciador de inicialização do Windows e o Linux em algum lugar da lista. É provável que o Windows tenha maior prioridade (a ordem de inicialização está acima da lista).

Também existem estrelas * ao lado de algumas, se não todas, das entradas, marcando-as como ativas.

Veja o número de inicialização de 4 dígitos ao lado da entrada do Windows e execute

sudo efibootmgr --bootnum #### --inactive

Isso desativará a entrada do Windows. Além disso, verifique se o Windows agora desativado tem maior prioridade, se ainda não o tiver:

sudo efibootmgr --bootorder ####,$$$$,&&&&,%%%%

onde #### é o número de inicialização do Windows.

Se você reiniciar agora, inicializará no grub, se a opção Linux estiver ativada com a prioridade mais alta.

Observe que o Windows parece não reconhecer que foi desativado; portanto, isso não será revertido inicializando no Windows ou atualizando-o.

Participei de um festival de instalação local do Linux, onde instalamos o Linux para pessoas interessadas, na maioria das vezes como um sistema operacional secundário próximo ao Windows. Ainda não vi esse método falhar e tentei em várias distros (principalmente Ubuntu e Mint) e em vários fornecedores (Asus, Acer, HP, Lenovo).

Karlovsky120
fonte
0

O Windows 10 substitui o GRUB 2 quando você altera os títulos de cor, tamanho, fonte ou entrada de menu do texto.

Existem duas maneiras de resolver isso.

  1. Você pode instalar o Linux no modo herdado (Configurações do BIOS> Inicialização> Suporte herdado + Legado primeiro).

  2. Você pode desativar a restauração do Windows (também conhecida como Proteção do sistema) (Painel de controle> Sistema e segurança> Sistema> Proteção do sistema> Configurar> Desativar).

Anônimo
fonte