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):
Basicamente eu quero:
- ambos os sistemas operacionais para inicializar a partir do SSD
- Ubuntu para usar o HDD para uma
/home
partição swap nominal e/tmp
- uma partição compartilhada na qual o Windows e o Ubuntu podem gravar
Não tenho ideia do porquê /dev/sdb3
e /dev/sdb4
tenho 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:
- Alguns dizem que instale o Windows primeiro, outros dizem o contrário.
- Instale o Grub novamente.
- 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.