Inicialização dupla do Windows 10 e Ubuntu 16.04 em UEFI

Inicialização dupla do Windows 10 e Ubuntu 16.04 em UEFI

Como usuário de longa data do Ubuntu, comprei recentemente um Acer Revo One que veio pré-instalado com o Windows 8 em um SSD de 60 GB. Desta vez decidi manter a licença. Aproveitei a atualização gratuita para o MS Windows 10 (optei por fazer uma instalação limpa a partir de um disco USB para poder controlar as partições no SSD - deixei espaço suficiente para uma partição root). Esta instalação funcionou bem.

Em seguida, instalei um HDD e continuei com a instalação do Ubuntu 16.04 usando um USB ativo.

Particionei os discos da seguinte maneira (obtive isso no GParted após inicializar a partir do Ubuntu Live USB):

/dev/sda

/dev/sdb

Basicamente eu quero:

  1. ambos os sistemas operacionais para inicializar a partir do SSD
  2. Ubuntu para usar o HDD para uma /homepartição swap nominal e/tmp
  3. uma partição compartilhada na qual o Windows e o Ubuntu podem gravar

Não tenho ideia do porquê /dev/sdb3e /dev/sdb4tenho sinalizadores "msftdata".

A inicialização segura está habilitada (li vários posts - alguns dizem que foi desabilitado ao instalar o Ubuntu, outros dizem que você não precisa fazer isso). A inicialização rápida está desativada.

O Ubuntu é instalado conforme o esperado, no entanto, após a reinicialização (depois de remover o disco USB ativo), a máquina inicializa apenas no Windows.

Eu verifiquei o BIOS e não há opção de inicializar em nada além do Gerenciador de inicialização do Windows (ou do disco USB ativo quando instalado).

relatórios efibootmgr:

BootCurrent:0002 
Timeout: 2 seconds  
BootOrder: 0000,0002,0001 
Boot0000* Windows Boot Manager  
Boot0001 ubuntu 
Boot0002* UEFI: SanDisk

Percebi que não há nenhum asterisco próximo ao Boot0001, indicando que não está "ativo". Tentei definir isso como ativo e também tentei alterar a ordem de inicialização para que Boot0001 seja o primeiro. Eu até tentei mudar o BootNext para 0001. Nada disso funciona. Percebi que as alterações para ativar o Boot0001 são redefinidas na próxima inicialização - portanto, minhas alterações não estão sendo preservadas.

Eu li uma série de postagens que fazem várias recomendações:

  1. Alguns dizem que instale o Windows primeiro, outros dizem o contrário.
  2. Instale o Grub novamente.
  3. Repare as entradas do bootloader EFI manualmente (montando a partição EFI e copiando/renomeando as entradas) ou usando Boot-Repair.

Não consigo anexar um despejo da partição EFI, mas aqui está um fragmento:

./EFI
./EFI/Microsoft
./EFI/Microsoft/Boot
./EFI/Microsoft/Boot/bg-BG
./EFI/Microsoft/Boot/bg-BG/bootmgfw.efi.mui
./EFI/Microsoft/Boot/bg-BG/bootmgr.efi.mui
./EFI/Microsoft/Boot/bootmgr.efi
./EFI/Microsoft/Boot/memtest.efi
./EFI/Microsoft/Boot/boot.stl
./EFI/OEM/Boot
...
./EFI/Microsoft/Boot/en-GB
./EFI/Microsoft/Boot/en-GB/bootmgfw.efi.mui
./EFI/Microsoft/Boot/en-GB/bootmgr.efi.mui
...
./EFI/OEM
./EFI/OEM/Boot
./EFI/OEM/Boot/boot.stl
./EFI/OEM/Boot/bootmgfw.efi
./EFI/OEM/Boot/bootmgr.efi
./EFI/OEM/Boot/memtest.efi
./EFI/OEM/Boot/BOOTSTAT.DAT
./EFI/OEM/Boot/BCD
./EFI/OEM/Boot/BCD.LOG
./EFI/OEM/Boot/BCD.LOG1
./EFI/OEM/Boot/BCD.LOG2
...
./EFI/OEM/Boot/en-GB
./EFI/OEM/Boot/en-GB/bootmgfw.efi.mui
./EFI/OEM/Boot/en-GB/bootmgr.efi.mui
...
./EFI/ubuntu
./EFI/ubuntu/fw
./EFI/ubuntu/fwupx64.efi
./EFI/ubuntu/grubx64.efi
./EFI/ubuntu/grub.cfg
./EFI/ubuntu/shimx64.efi
./EFI/ubuntu/MokManager.efi
./OEM
./OEM/AcerOA30.xml
./OEM/Factory
./OEM/Factory/AMIDEWINx64.exe
./OEM/Factory/AMIFLDRV64.sys
./OEM/Factory/CHK.bat
./OEM/Factory/CHK_DK.bat
./OEM/Factory/Delay-Diags.exe
...

Eu sei que estou perto de quebrar essa noz, então qual das sugestões acima provavelmente funcionará? Prefiro não entrar na situação em que o Windows não inicialize mais e tenha que reiniciar. Demora muito para reinstalar tudo.

Uma espécie de sucesso.

Meu BIOS estava desatualizado, então atualizei isso.

Também usei o Boot-Repair de um disco de inicialização USB para reparar a partição de inicialização EFI (não tenho certeza se ela estava quebrada).

Tentei então a sugestão do @fords - executando o bcdedit dentro de w$ - Sucesso! O Grub é exibido com uma infinidade de opções - o Ubuntu é o padrão.

Tudo isso deu em nada quando reiniciei o Windows que, ao desligar, decidiu aplicar uma atualização que impedia a inicialização do Ubuntu. (suspiro profundo).

Tudo que recebo são algumas linhas sugerindo que eu tente

sysctl reboot

ou

sysctl defaults

nenhum dos quais fez muito.

A atualização do Windows desfez o bcdedit do Windows e/ou o reparo de inicialização do Linux? Em caso afirmativo, como evito que as atualizações do Windows causem estragos diariamente?

Responder1

Você já tentou definir o carregador de inicialização padrão para Grub no prompt de comando do Windows? Tive que fazer isso quando instalei o Ubuntu para rodar com o Windows 10:

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

Eu também recomendo desligar o Secure Boot. O Windows é uma fera irritadiça quando se trata de inicialização dupla.

Responder2

Após a atualização do Windows 10 Creator, clicar com o botão direito no logotipo do Windows mostra a opção PowerShell (Admin) em vez de Prompt de Comando (Admin). Tentei editar o bcdedit usando o PowerShell e errei. Portanto, não use o PowerShell com o bcdedit, a menos que você saiba o que está fazendo.

A solução é procurar o Prompt de Comando, abri-lo no Modo Admin (clique com o botão direito -> abrir como Admin) e usar os comandos gerais já mencionados acima -

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

Se alguém descobrir como usar o PowerShell para bcdedit, poste aqui.

Responder3

Retiro tudo ... w$ não arruinou meu dia (surpreendentemente) - foi minha pouca habilidade em editar /etc/fstab para otimização de SSD que me impediu de inicializar no Ubuntu. Tudo está bem no mundo.

Espero que minha experiência seja útil para alguém aí!

Responder4

Outra solução é usar duas partições EFI. Um apenas para windows, outro para linux e outros sistemas, na segunda partição crie um caminho EFI\Microsoft\Boot\ e copie shimx64.efi para bootmgrfw.efi dentro deste caminho e deixe EFI\ubuntu\ intacto. Os laptops ACER veem o shim nesta partição como Gerenciador de inicialização do Windows e inicializam também a partir daqui. Vejo que os-prober, se nesta partição houver apenas bootmgrfw.efi e não BCD etc, reconheça apenas o bootloader do Windows na primeira partição original, não criando uma entrada de menu dupla em grub.cfg. Assim, você pode inicializar o GRUB EFI e chamar o Ubuntu ou o Windows com o chaniload correto para a outra partição. Neste modo, o Windows mantém a estrutura de partição EFI correta na primeira partição e não deve substituir o falso bootmgrfw.efi (shim) na segunda partição durante as atualizações. Para mim está trabalhando em um ACER 5750g.

informação relacionada