Instalador do Ubuntu sobrescrevendo o carregador de inicialização do Windows 8 no disco para o qual ele não foi instalado

1

Tudo isso começou quando fui instalar o Ubuntu em uma partição no meu disco rígido externo. No instalador do Ubuntu LiveUSB, a configuração era criar uma partição ext4 no espaço vazio no disco rígido externo (/ dev / sdc3) e gravar o gerenciador de inicialização em / dev / sdc. A instalação foi concluída e eu consegui inicializar bem com a nova partição do Ubuntu - com uma pegadinha.

Ao reiniciar, fui recebido com uma reclamação de inicialização segura (Violação de inicialização segura - assinatura inválida), o que era estranho, já que eu não tinha dito ao instalador para tocar no gerenciador de inicialização original (nem nada) em / dev / sda. Fui avisado com o GRUB depois de rejeitar a reclamação, também estranho, já que eu não tinha chegado ao ponto em que eu poderia escolher a ordem de inicialização. Eu reiniciei sem o disco rígido externo para verificar se estava na unidade principal e não na unidade externa, momento em que o GRUB me deu um terminal em vez de um menu. Digitar 'exit' me trouxe de volta para o Windows 8.

Eu tentei apagar o GRUB iniciando no Windows no modo de prompt de comando e usando bootrec /fixmbr e bootrec /fixboot , mas ele não teve efeito e o GRUB continua.

Então, minhas perguntas são:

  1. Por que o instalador do Ubuntu decidiu gravar o GRUB em / dev / sda e / dev / sdc quando eu especifiquei / dev / sdc como a partição do gerenciador de inicialização e / dev / sdc3 como a partição de instalação do Ubuntu?
  2. Como posso me livrar do GRUB com algo diferente do Windows no modo de recuperação?
por Marco van Hilst 23.07.2014 / 06:13

2 respostas

3

Por favor esqueça tudo que você já sabia sobre a instalação do gerenciador de inicialização, pelo menos no que diz respeito ao computador em discussão. Você está tentando aplicar as suposições do BIOS a um computador EFI (não-BIOS) e elas não se aplicam. (Sim, eu sei que a maioria das pessoas, e até mesmo fabricantes, se referem a EFIs como BIOSes, mas isso só causa confusão. Veja Postagem do blog de Adam Williamson sobre este assunto para obter mais detalhes.) O comando bootrec /fixmbr do Windows destina-se a lidar com o modo de inicialização do BIOS e inaplicável a você. Eu não sei sobre bootrec /fixboot ; pode ou não ser útil em um computador baseado em EFI.

Na EFI, todos os carregadores de inicialização e programas relacionados residem na partição do sistema EFI (ESP), que é um FAT partição cuja finalidade é manter os carregadores de inicialização e arquivos relacionados. Normalmente, um computador terá apenas um ESP, embora seja legal que um computador tenha múltiplos ESPs. Um computador de dois discos pode ter um, dois, três ou mais ESPs. No caso de um computador multi-ESP, não está claro qual deles o instalador do Ubuntu usará. Em teoria, o instalador do Ubuntu deve usar o identificado como a "partição de inicialização EFI" (sua própria nome não padrão para o ESP) no instalador; No entanto, tenho minhas dúvidas sobre se o Ubuntu faz isso de forma consistente. (Eu não tive a chance de olhar para isso em profundidade). Em qualquer caso, o instalador do Ubuntu mantém um prompt de modo BIOS para onde instalar o gerenciador de inicialização ao instalar no modo EFI, mas é completamente inútil! Eu acho que há um relatório de bug sobre isso no Launchpad, mas uma pesquisa rápida não apareceu.

Em teoria, então, um computador baseado em EFI pode ter dezenas de gerenciadores de inicialização instalados. Qual deles o firmware realmente usa? Isso é determinado por um conjunto de entradas NVRAM, que identificam os carregadores de inicialização e listam a ordem em que devem ser julgados. As entradas da NVRAM identificam os carregadores de inicialização por partição e nome de arquivo.

Não está claro se você tem um, dois ou mais ESPs; no entanto, como as entradas da NVRAM identificam os carregadores de inicialização por partição e nome de arquivo, esse detalhe é essencialmente irrelevante. As chances são de que o que aconteceu é que o Ubuntu adicionou o GRUB a um ESP e adicionou uma entrada à NVRAM do computador dizendo-lhe para usar o GRUB por padrão. (Na verdade, isso apontaria para o Shim, que é uma das ferramentas do Linux para lidar com o Secure Boot. O Shim então iniciará o GRUB.) Não sei por que você está recebendo um aviso de Inicialização Segura seguido pelo GRUB. Talvez você tenha uma entrada NVRAM que aponta diretamente para o GRUB sem passar pelo Shim seguido por uma entrada que aponta para o Shim. Isso explicaria, mas o AFAIK, o instalador do Ubuntu, não configura as coisas desta maneira.

Em EFI, você pode editar as entradas da NVRAM para controlar a ordem de inicialização. No Linux, o utilitário efibootmgr faz esse trabalho. No Windows, você pode usar o bcdedit ou uma ferramenta de terceiros como o EasyUEFI . Usando efibootmgr , digite o comando sozinho para ver uma lista de entradas de inicialização e use a opção -o para definir a ordem de inicialização, como em efibootmgr -o 5,3,8 para que o firmware tente Boot0005 primeiro e, em seguida, inicie Boot0003 se falhar e, finalmente, tentar Boot0008 . (É claro que você precisará definir o pedido do seu sistema, com base na saída de efibootmgr sem nenhuma opção.) A maioria das EFIs possui seu próprio gerenciador de inicialização para permitir que você selecione uma inicialização. carregador. Os detalhes variam muito de um computador para outro, no entanto. Normalmente, você deve pressionar uma tecla de função no início do processo de inicialização para acessar esse gerenciador de inicialização.

    
por Rod Smith 23.07.2014 / 15:13
0
  1. Eu acho que você teria que dizer para NÃO instalar em / dev / sda como é onde ele é instalado por padrão.

  2. Usando um disco de reparo do Windows, siga estas instruções link Eu acredito que você ainda precisa recriar o armazenamento de dados de configuração de inicialização (BCD) para corrigir o seu problema (/ fixmbr bootrec / fixboot não é suficiente).

por mchid 23.07.2014 / 06:24