O GRUB não se importa com a sua partição raiz do Linux; somente o kernel do Linux se importa com isso. O que o GRUB deseja encontrar é a partição que contém o sistema de arquivos /boot
. Por várias razões, o GRUB o chama de "sistema de arquivos raiz do GRUB".
O nome do caminho do kernel na mensagem de erro error: file '/vmlinuz-4.13.9-300.fc27.x86_64' not found
não tinha /boot
prefixado a ele. Isso me diz que seu /boot
foi provavelmente um sistema de arquivos separado, e a linha set root='hd0,gpt2'
na configuração do GRUB para inicializar o Fedora me diz que costumava ser a segunda partição em algum disco particionado por GPT em algum momento.
Se você digitar ls (lvm/fedora_hdd-root)/boot/
, provavelmente descobrirá que é apenas um diretório vazio. Ele serve como o ponto de montagem para o sistema de arquivos /boot
real.
Existe também o UUID do sistema de arquivos, mas a mensagem de erro error: no such device: 3b9c12dc-6ed0-4e2f-a28b-3e0931ccfea2
indica que ele não pode ser encontrado.
Meu palpite é que, na melhor das hipóteses, a ordem de detecção da unidade pode ter mudado, e o que costumava ser hd0,gpt2
agora poderia ser hd3,gpt2
.
No pior caso, sua partição /boot
estava no disco em que você instalou o Windows 10 e a instalação do Windows substituiu essa partição. Mas uma partição /boot
é relativamente fácil de substituir: você precisará inicializar no modo de recuperação a partir de uma mídia de instalação do Fedora, usando a opção do menu de inicialização Troubleshooting
- > Rescue a Fedora system
ou a opção de inicialização inst.rescue
.
Quando o modo de recuperação for iniciado, ele deverá oferecer um prompt de comando. Se tudo correr bem, o seu sistema Fedora já deve estar montado para você em /mnt/sysimage
. Então, primeiro use um comando chroot /mnt/sysimage
, assim você não terá que prefixar /mnt/sysimage
para todos os nomes de caminho, e você poderá usar as ferramentas normais de gerenciamento de pacotes.
Agora você pode criar uma nova partição /boot
e montá-la, ou - já que seu GRUB pode aparentemente ler volumes lógicos LVM - basta reinstalar o conteúdo que deveria estar no sistema de arquivos /boot
no diretório /boot
do seu sistema de arquivos raiz.
Como aparentemente você está usando um sistema baseado em UEFI (como todas as suas partições são do tipo GPT), isso significa apenas criar um diretório vazio em /boot/efi
se ele ainda não existir (para agir como um ponto de montagem para o EFI System Partition, ou ESP), executando mount /boot/efi
, verificando se as configurações em /etc/default/grub
correspondem à configuração atual e reinstalando o pacote do kernel mais recente usando rpm --reinstall
.
O pacote kernel contém o arquivo /vmlinuz-*
, e o processo de instalação do pacote criará automaticamente um arquivo initramfs apropriado para ele. Feito isso, todos os arquivos essenciais que devem estar em /boot
devem ser recuperados. O processo de reinstalação do pacote kernel deve atualizar o arquivo de configuração do GRUB para você.
Observe que o GRUB tem dois arquivos de configuração: o simplificado em /etc/default/grub
e o arquivo de configuração real gerado automaticamente, localizado em /boot/efi/EFI/fedora/grub.cfg
nos sistemas UEFI. Se você atualizar o primeiro após reinstalar o pacote do kernel, você pode disparar manualmente a atualização do último arquivo com este comando:
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg