O Windows 10 não consegue inicializar após instalar o Ubuntu 24.04 como dual-boot.
Recentemente instalei o Ubuntu 24.04.2 LTS em um Dell Precision Tower 3620 que antes rodava apenas o Windows 10. Segui essas instruções e consegui uma instalação do Ubuntu funcionando perfeitamente - oba!, porém o GRUB não reconhece que o Windows 10 existe e, se eu tentar iniciar o Windows 10 reorganizando a inicialização do BIOS, ele trava na tela do Dell OEM.
Suspeito que o problema seja porque acabei com duas partições de boot efi, uma em /dev/sda1
e a outra (nova?) em /dev/sda6
que foi montada automaticamente como /boot/efi
. Este é o layout atual do disco rígido de acordo com o GParted:
Ao entrar na ordem de inicialização do BIOS, de alguma forma consegui ativar o processo de recuperação de inicialização do Windows (não lembro como!), mas ele mostra uma tela preta com esta mensagem de erro e entra em um loop de reinicialização:
Microsoft Secure Boot Recovery Version 1.0
Visit https://aka.ms/securebootrecovery to learn more about this application.
Checking Secure Boot Certificate Configuration...
The Secure Boot Certificate database already contains the Microsoft UEFI 2023 certificate.
No changes required. If you continue to see this message each time the system starts,
the UEFI firmware boot configuration may be missing an entry for 'Windows Boot Manager'
or the Windows entry was moved too low in the boot order.
System will reboot in 10 seconds.
Outros pensamentos:
- Este PC tem apenas um disco rígido, mas tenho acesso a um pendrive inicializável.
- Tentei não alterar nenhuma configuração UEFI/BIOS além da ordem de inicialização (por exemplo, a inicialização segura ainda está habilitada)
- Posso montar e visualizar toda a
/dev/sda3
partição que é o local original do Win10. Nada parece corrompido ali.
Esta é a saída de find /boot/efi
.
/boot/efi
/boot/efi/EFI
/boot/efi/EFI/ubuntu
/boot/efi/EFI/ubuntu/grubx64.efi
/boot/efi/EFI/ubuntu/shimx64.efi
/boot/efi/EFI/ubuntu/mmx64.efi
/boot/efi/EFI/ubuntu/BOOTX64.CSV
/boot/efi/EFI/ubuntu/grub.cfg
/boot/efi/EFI/BOOT
/boot/efi/EFI/BOOT/fbx64.efi
/boot/efi/EFI/BOOT/mmx64.efi
/boot/efi/EFI/BOOT/bkpbootx64.efi
/boot/efi/EFI/BOOT/bootx64.efi
/boot/efi/EFI/BOOT/grubx64.efi
sudo os-prober
é executado sem imprimir nenhuma saída
Este é o meu /etc/default/grub
(com linhas de comentários removidas):
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`( . /etc/os-release; echo ${NAME:-Ubuntu} ) 2>/dev/null || echo Ubuntu`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
GRUB_DISABLE_OS_PROBER=false
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
#GRUB_TERMINAL=console
#GRUB_GFXMODE=640x480
#GRUB_DISABLE_LINUX_UUID=true
#GRUB_DISABLE_RECOVERY="true"
GRUB_INIT_TUNE="480 440 1"
Esta é a saída de sudo mount /dev/sda1 /mnt/efi1; find /mnt/efi1 -maxdepth 3
;
/mnt/efi1
/mnt/efi1/EFI
/mnt/efi1/EFI/ubuntu
/mnt/efi1/EFI/ubuntu/shimx64.efi
/mnt/efi1/EFI/ubuntu/grubx64.efi
/mnt/efi1/EFI/Microsoft
/mnt/efi1/EFI/Microsoft/Boot
/mnt/efi1/EFI/Microsoft/Recovery
/mnt/efi1/EFI/Boot
/mnt/efi1/EFI/Boot/bkpbootx64.efi
/mnt/efi1/EFI/Boot/bootx64.efi
/mnt/efi1/EFI/Boot/grubx64.efi
/mnt/efi1/EFI/dell
/mnt/efi1/EFI/dell/bios
/mnt/efi1/System Volume Information
Como posso fazer o Windows 10 inicializar?
Perguntas de acompanhamento (se relevantes):
- Terei que mesclar de alguma forma as duas partições de boot e excluir uma delas? Se sim, dicas/instruções de guia idiota seriam muito apreciadas. Eu quase nunca toco em particionamento ou altero configurações de boot porque sei que vou estragar alguma coisa!
- Se/quando eu conseguir inicializar o Windows 10, o os-prober detectará o Windows 10 automaticamente?
Finalmente consegui fazer o Win10 funcionar. Na ausência de uma resposta mais especializada, vou postar a minha. Com agradecimentos a @oldfred pelas dicas iniciais. Embora a solução final tenha sido orientada para o Windows, não vou postar em um fórum do Windows porque:
Passos tomados para resolver (começando com um Ubuntu dual-boot com Windows 10 que estava travado na tela do OEM):
/dev/sda1
(usando UUID fornecido porlsblk -f
)/dev/sda6
Parece que esses sinalizadores precisam ser aplicados a /dev/sda1 para que a próxima etapa funcionesudo os-prober
que agora adota o Windows como um sistema operacional disponívelsudo update-grub
que adiciona o Windows como uma opção no menu Grub/dev/sda3
que deveria estar disponível como, mas só é visível no diskpart) "Linux-filesystem" (0F63DAF-8483-4772-8E79-3D69D8477DE4) para o tipo de GUID "basic partition". Os tipos são fornecidos aqui: https://en.wikipedia.org/wiki/GUID_Partition_Table Acho que esse foi um dos estágios principais. Ao entrar novamente no prompt de comando de recuperação do Windows, /dev/sda3 agora monta automaticamente como (Yay!). Mas ele ainda não inicializa! Com as informações fornecidas aqui https://www.techtarget.com/searchenterprisedesktop/tip/Four-ways-to-solve-Windows-10-boot-problems , a visualização no notepad.exe sugere que o inicializador ainda está confundindo as partições ( a partição de recuperação e a partição real do Windows).C:\
C:\
C:\Windows\System32\Logfile\Srt\SrtTrail
X:\
C:\
dism /image:c:\ /cleanup-image /restorehealth /source:wim:X:\source\install.wim:1
. Isso levou cerca de 20 minutos para ser executado e a próxima reinicialização deu a tela de login usual do Win10.Resumo : Acho que a instalação do Ubuntu de alguma forma alterou o tipo de GUID da partição do Windows para "Linux-filesystem", o que confundiu todas as tentativas do Windows Recovery de reparar as configurações de inicialização. Não acho que o Linux preste atenção ao tipo de GUID, mas o Windows ignorará completamente uma partição se ela estiver configurada incorretamente.
Outras informações úteis vieram daqui: https://forums.tomshardware.com/threads/windows-10-bootrec-rebuildbcd-and-scanos-say-0-windows-installations-detected.3661383/ (por exemplo
diskpart
list disk
select disk 0
list partition
list volume
select volume 3
assign letter C:
)