Se você configurou recentemente uma configuração de inicialização dupla com Windows e Linux, pode ter enfrentado o mesmo problema que eu: o Windows não aparece como uma opção no menu GRUB. Vou mostrar como resolvi isso (e a razão técnica por trás disso).
Para ser mais específico, instalei o CachyOS em uma unidade separada da unidade do Windows 11. Eu já instalei várias distribuições Linux nesta unidade várias vezes, e o menu de inicialização normalmente funciona. Minha opção de inicialização do Windows 11 apareceria sem nenhum esforço de minha parte. Neste caso, porém, foram necessárias algumas etapas extras para que funcionasse.
Se ao inicializar seu PC você não vir nenhum menu de inicialização, primeiro você precisará aprender como fazer seu menu GRUB aparecer.
Por que o Windows não aparece no GRUB
Acontece que hoje em dia as instalações do GRUB geralmente vêm com o os-prober desativado, e esse foi o motivo pelo qual o Windows não estava aparecendo. Se você não sabe, os-prober é um pacote que permite ao GRUB identificar automaticamente outros sistemas operacionais instalados no seu PC. Quando estiver desabilitado, o GRUB não conseguirá identificar o Windows sem intervenção manual.
A razão para isso é a desconfiança no pacote os-prober. Os desenvolvedores de distribuição que empacotam o GRUB têm optado por desabilitar o os-prober como precaução de segurança já em 2021, quando o desenvolvedor da Canonical Julian Andres Klode descreveu seu raciocínio para desabilitar o os-prober no Ubuntu. Eles declararam: “os-prober é inerentemente inseguro, pois monta todas as partições do seu disco usando grub-mount para verificá-las em busca de outro sistema operacional.” Mesmo que patches tenham sido feitos desde então, muitos simplesmente não confiam nisso.
Você pode facilmente ativar o os-prober novamente, se desejar. Se você deve ou não, depende da sua situação. Não estou no negócio de dar conselhos sobre segurança cibernética sem conhecer pelo menos seu modelo de ameaça.
Quanto a mim, me senti confortável em reativar o os-prober, visto que minha pesquisa me disse que a maioria das preocupações eram com soluções alternativas de inicialização segura e já desativei a inicialização segura em meu PC. Novamente, cabe a você decidir qual é o caminho mais seguro. Para isso, mostrarei duas opções diferentes, sendo que uma delas evita completamente o os-prober.
Como definir as configurações do carregador de inicialização GRUB2
Escolha um sistema operacional padrão e até mostre uma imagem de fundo.
Opção fácil: Habilitar os-prober
Se você se sentir confiante em ativar o os-prober dadas as implicações de segurança, poderá fazê-lo editando sua configuração padrão do GRUB. Normalmente você pode encontrar o arquivo de configuração em /etc/default/grubportanto, para editá-lo, será necessário abri-lo com o editor de texto de sua preferência e com acesso administrativo. Para editá-lo com nano, usei este comando:
sudo nano /etc/default/grub
Percorra o arquivo até encontrar uma linha que diz #GRUB_DISABLE_OS_PROBER=false. Remova o comentário excluindo o símbolo #.
Isso é tudo que você precisa fazer para habilitar o os-prober, além de salvar o arquivo. No nano, você faz isso pressionando Ctrl+o seguido de Enter para confirmar o nome do arquivo e, em seguida, Ctrl+x para sair do nano. Não se esqueça de atualizar o GRUB, como explicarei mais tarde.
Opção mais segura: adicionar manualmente o Windows como uma entrada de menu
Outra opção que é mais segura, mas um pouco mais complicada, é ignorar a ativação do os-prober e, em vez disso, adicionar você mesmo o Windows ao menu de inicialização do GRUB.
Para fazer isso, primeiro você precisa saber onde seu sistema Linux localiza a partição EFI da instalação do Windows. Você pode descobrir isso executando o seguinte comando, que lista todos os discos e suas finalidades:
sudo dfisk -l
Posso ver que na minha unidade do Windows há um dispositivo denominado “Sistema EFI” localizado em /dev/nvme0n1p1. Copiarei esse endereço e o deixarei pronto para o seguinte comando blkid, que revelará o UUID do dispositivo, necessário para uma entrada de inicialização personalizada:
sudo blkid /dev/nvme0n1p1
Procure o valor UUID entre aspas e anote-o. Então, vamos editar o GRUB 40_custom arquivo, que nos permite adicionar entradas de inicialização personalizadas ao GRUB. Estou usando o nano para fazer isso, mas você pode usar o editor de texto de sua preferência.
sudo nano /etc/grub.d/40_custom
Cole o seguinte bloco de código e substitua your-Windows-EFI-partition-UUID com o UUID que você encontrou.
menuentry "Windows" --class windows --class os { insmod ntfs search --no-floppy --set=root --fs-uuid your-Windows-EFI-partition-UUID ntldr /bootmgr }
Observe também que você pode alterar o texto entre aspas após “entrada de menu” com o que deseja que a entrada de inicialização do Windows apareça.
De qualquer forma, lembre-se de atualizar o GRUB
Depois de fazer alterações no arquivo de configuração padrão do GRUB ou adicionar uma entrada de inicialização personalizada, não se esqueça de gerar novamente a configuração do GRUB. Esse processo é o que realmente faz com que suas alterações tenham efeito. Para ser honesto, eu mesmo esqueci disso quando desativei o os-prober e fiquei confuso quando o Windows não apareceu após a reinicialização.
Para facilitar as coisas, algumas distros possuem aliases pré-configurados para atualizar o GRUB, como update-grub. Você pode tentar executá-lo primeiro (como sudo), mas se não funcionar para você, você pode atualizá-lo manualmente com este comando:
sudogrub-mkconfig -o /boot/grub/grub.cfg
Aguarde a conclusão da regeneração e tente reinicializar. Você deverá ver o Windows, além de quaisquer outros sistemas operacionais instalados, no menu de inicialização do GRUB.
Considere substituir o GRUB para evitar problemas
Se você está preocupado com as vulnerabilidades do os-prober e não deseja lidar com a edição manual do menu GRUB, recomendo procurar gerenciadores de inicialização alternativos.
Por exemplo, você pode substituir o GRUB pelo systemd-boot, embora falte suporte para BIOS legado (em oposição ao UEFI). Você também pode considerar o Clover Bootloader, que foi originalmente projetado para Hackintoshes e oferece suporte a UEFI e BIOS. Outra opção que proporcionará uma experiência semelhante ao gerenciador de inicialização do macOS é o rEFInd.