A seleção de qualquer uma das entradas do UEFI no GRUB me permite inicializar o Windows 7, o que fazer?

1

Um pequeno problema com um novato aqui, depois de um monte de reinstalação, consegui fazer com que o 7 + 8 + Ubuntu não travasse no meu novo T430. 8 (pré) instalado primeiro, depois 7, depois Ubuntu (bootloader instalado na partição raiz, não MBR eu estou supondo?), Então boot-repaired de um live CD Grub funciona, huzzah!

O problema é que a inicialização para o Windows possui duas opções:

  • Windows UEFI bkpbootmgfw.efi
  • Carregador UEFI do Windows Boot

Ambas as quais me enviam para o bootloader do Windows 7, que então me dá a opção de inicializar 7 ou 8. De qualquer forma eu posso inicializar a ambos diretamente do grub?

UPDATE: Eu tentei usar easybcd para re-padrão o bootloader do Windows, mas de alguma forma conseguiu estragar as coisas quando "reset" ing, e acabei com 60 itens de inicialização. O Windows não inicializaria depois.

Agora eu reinstalei tudo completamente, então o Ubuntu e o Windows têm suas próprias botas, que eu posso selecionar como dispositivos pressionando F12, e também posso ajustar o padrão. No entanto, gostaria de ter todas as 3 opções disponíveis desde o início.

Eu tentei usar o easybcd para adicionar o Ubuntu ao bootloader do Windows, mas ele diz que está faltando o arquivo /NST/AutoNeoGrud2.mbr e não inicializa a partir daí.

    
por Andy 23.09.2013 / 23:43

2 respostas

1

Isso não é definitivo, já que nunca testei; no entanto ....

Primeiro, o MBR é irrelevante em seu sistema, exceto na medida em que um MBR de proteção faz parte da Tabela de Partição GUID (GPT). Seus gerenciadores de boot são armazenados como arquivos na partição do sistema EFI (ESP), que é montada em /boot/efi na maioria dos Linux instalações. O Ubuntu armazena o GRUB no diretório EFI/ubuntu do ESP (ou seja, /boot/efi/EFI/ubuntu do Ubuntu) e a Microsoft armazena seu gerenciador de inicialização na árvore de diretórios EFI/Microsoft no ESP. É por isso que você obtém o tratamento dual boot loader quando quer inicializar o Windows - a Microsoft usa o um local para o Windows 7 e Windows 8, assim como o Ubuntu faria se instalasse várias versões do Ubuntu , para que um gerenciador de partida apresente um menu para permitir que você inicialize qualquer uma das versões do Windows.

Em teoria, você pode criar um segundo ESP, copiar o diretório EFI/Microsoft do ESP original para ele e editar arquivos em ambos os ESPs para limitá-los para inicializar apenas uma versão do Windows. Infelizmente, eu não sei o suficiente sobre os arquivos de inicialização do Windows para dar instruções mais precisas. Na verdade, eu nem sei que isso realmente funcionaria, mas poderia.

Se você estiver disposto a fazer o possível, tente fazer isso para que o Windows faça a maior parte do trabalho, reinstalando o Windows 7:

  1. Crie um segundo ESP no disco. No GParted, você precisará encolher uma partição em uma pequena quantidade, criar uma nova partição FAT32 nesse espaço (certifique-se de que é FAT32, não FAT16) e fornecer um "sinalizador de inicialização". Eu também recomendo dar um nome único, como "WIN7ESP". (Isso pode ser útil se você acabar usando o rEFInd ou ajudar a identificá-lo nos navegadores de arquivos.)
  2. Remova o "sinalizador de inicialização" do ESP original.
  3. Opcionalmente, altere o código de tipo na partição do Windows 8. Você poderia definir o "lvm flag" no GParted, por exemplo. O objetivo aqui é diminuir a probabilidade de o instalador do Windows 7 detectar o Windows 8.
  4. Apague a partição original do Windows 7 criando um novo sistema de arquivos NTFS. Dê um nome único para facilitar a identificação.
  5. Reinstale o Windows 7. Neste ponto, o Windows 7 deve inicializar diretamente.
  6. Restaurar o GRUB como seu gerenciador de inicialização padrão. Se não tiver certeza de como fazer isso, você pode usar Reparo de inicialização. Como alternativa, você pode instalar outro gerenciador de boot EFI, como rEFInd ou gummiboot.
  7. No Linux, inicie o GParted e desfaça as alterações de código do tipo de partição feitas anteriormente - redefina o sinalizador de inicialização no ESP original e, se você alterou o código de tipo na partição do Windows 8, remova esse sinalizador para restaurá-lo. código de tipo correto.
  8. No Linux, digite sudo update-grub para fazer com que ele detecte novamente os carregadores de inicialização, com alguma sorte incluindo os dois carregadores de inicialização do Windows. Se isso falhar, talvez seja necessário editar /etc/grub.d/40_custom para adicionar um menu personalizado; ou você pode instalar o meu gerenciador de inicialização do rEFInd, que deve detectar as duas cópias do gerenciador de inicialização do Windows.

Eu não faço promessas que este procedimento funcionará. Além disso, mesmo que funcione, pode criar problemas no final da linha, porque o Windows não suporta mais de um ESP por sistema. (A especificação da EFI diz que está tudo bem.) Assim, uma futura atualização ou reinstalação do Windows pode acabar ficando confusa e mal-comportada. Você deve ser capaz de contornar esses problemas, redefinindo temporariamente o código de tipo em um ou outro ESP (ou seja, removendo seu "sinalizador de inicialização" no GParted).

Se esse procedimento não funcionar ou se parecer muito complicado para você, recomendo que você pergunte sobre isso em um fórum do Windows, já que a configuração do carregador de inicialização do Windows é mais um problema do Windows do que um problema do Linux.

Mais dois pontos:

  • AFAIK, o Ubuntu ainda está dando às suas partições do Linux o mesmo tipo de código que o Windows usa. Isso faz com que as partições do Linux apareçam como discos não formatados no navegador de arquivos do Windows. Eu recomendo corrigir esse problema com gdisk , como descrito aqui. Negligenciar isso faz com que seja muito fácil de acidentalmente lixo sua instalação do Linux a partir do Windows.
  • O Windows 8 usa um novo recurso de "inicialização rápida" que é incompatível com a inicialização dupla (mesmo com o Windows 7). É IMPERATIVO que você desabilita esse recurso, conforme descrito aqui. A falha em desativar este recurso quase certamente resultará em corrupção do sistema de arquivos.
por Rod Smith 24.09.2013 / 00:22
0

Quando você inicializa o Windows, ele vai direto para o gerenciador de inicialização, não para o próprio sistema operacional. Como você tem duas versões do Windows instaladas, ele recomendará a você em vez de apenas inicializar o próprio Windows. Como resultado, é mais fácil usar apenas o bootloader do Windows e fazer com que ele inicialize o Linux. O grub pode posteriormente ser configurado para ir diretamente ao Ubuntu. Veja o que você precisa fazer.

  1. Obtenha o EasyBCD
  2. Use o EasyBCD para definir o Windows como o carregador de inicialização padrão e modificar seu menu de inicialização para incluir o grub
  3. Entre no Ubuntu. Seu menu de inicialização agora deve permitir que você escolha entre o Windows 7, 8 e o grub. Certifique-se de que o Ubuntu é a opção padrão para o grub.
  4. Executar gksudo gedit /etc/default/grub do terminal
  5. Verifique se GRUB_HIDDEN_TIMEOUT é igual a 0
  6. Lucro!

Isso deve fazer o Grub ir diretamente para o Ubuntu e fazer com que o menu de inicialização do Windows permita que você escolha entre todos os seus sistemas operacionais. Boa sorte!

    
por Dillmo 24.09.2013 / 00:28