Eu tive que instalar o Windows 10. Como eu estava tendo dificuldades com a instalação, desconectei as duas primeiras unidades (que tinham dados do Fedora). Assim, com apenas um disco rígido conectado, consegui instalar o Windows com sucesso.
Agora, conectei todas as minhas unidades. Consigo fazer o Windows inicializar corretamente, mas o Fedora não está mais inicializando.
Este é o erro quando seleciono o Fedora no grub:
erro: nenhum dispositivo desse tipo: 3b9c12dc-6ed0-4e2f-a28b-3e0931ccfea2
erro: arquivo'/vmlinuz-4.13.9-300.fc27.x86_64' não encontrado.
erro: você precisa carregar o kernel primeiro.
Então, eu pesquisei e encontrei esta pergunta , mas para ser honesto, eu realmente não entendi a resposta completamente. De qualquer forma, pressionei c
a linha de comando do grub. Quando digito na ls
linha de comando, vejo isso:
(lvm/fedora_hdd-swap) (lvm/fedora_sdd-root) (lvm/fedora_sdd-home) (hd0) (hd0,gpt4) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1) (hd1) (hd1, gpt12) (hd1,gpt11) (hd2) (hd3) (hd3,gpt4) (hd3,gpt3) (hd3,gpt2) (hd3,gpt1)
Agora, quando digito ls (lvm/fedora_hdd-root)/
, vejo todos os arquivos linux necessários, como /boot, /etc, etc. Então meus arquivos estão sãos e salvos, só preciso configurar o grub corretamente, suponho?
Quando volto ao grub e digito e
para editar a listagem do Fedora, vejo isso:
getparams 'Fedora (4.13.9-300.fc27.x86_64) 27 (Workstation Edition)
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=achi0,gpt2 3b9c12dc-6ed0-4e2f-a28b-3e0931ccfea2
else
search --no-floppy --fs-uuid --set=root 3b9c12dc-6ed0-4e2f-a28b-3e0931ccfea2
fi
Acho que com base no que vejo na linha de comando do grub, devo editar a lista de acordo.
O GRUB realmente não se importa com sua partição raiz do Linux; apenas o kernel do Linux se preocupa com isso. O que o GRUB quer encontrar é a partição que contém o sistema de
/boot
arquivos. Por várias razões, o GRUB o chama de "sistema de arquivos raiz 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 foi/boot
prefixado. Isso me diz que seu/boot
provavelmente era um sistema de arquivos separado, e aset root='hd0,gpt2'
linha 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 ponto de montagem para o sistema de/boot
arquivos real.Há 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 pode serhd3,gpt2
.Na pior das hipóteses, sua
/boot
partição realmente estava no disco em que você instalou o Windows 10 e a instalação do Windows substituiu essa partição. Mas uma/boot
partição é 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çãoTroubleshooting
->Rescue a Fedora system
ou ainst.rescue
opção de inicialização.Depois que o modo de recuperação for iniciado, ele deverá oferecer um prompt de comando. Se tudo correr bem, seu sistema Fedora já deve estar montado para você em
/mnt/sysimage
. Portanto, primeiro use umchroot /mnt/sysimage
comando, para que você não precise prefixar/mnt/sysimage
todos os nomes de caminho e poderá usar as ferramentas normais de gerenciamento de pacotes.Agora você pode criar uma nova
/boot
partição e montá-la, ou - já que seu GRUB aparentemente pode ler volumes lógicos LVM - apenas reinstale o conteúdo que deveria estar no sistema de/boot
arquivos no/boot
diretório do seu sistema de arquivos raiz.Como você aparentemente está usando um sistema baseado em UEFI (já que todas as suas partições são do tipo GPT), isso significa apenas criar um diretório vazio
/boot/efi
se ele ainda não existir (para atuar como um ponto de montagem para a partição do sistema EFI ou ESP) , executandomount /boot/efi
, verificando se as configurações/etc/default/grub
correspondem à configuração atual e reinstalando o pacote de kernel mais recente usandorpm --reinstall
.O pacote do kernel contém o
/vmlinuz-*
arquivo 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/boot
agora devem ser recuperados. O processo de reinstalação do pacote do kernel deve atualizar o arquivo de configuração real do GRUB para você.Observe que o GRUB possui 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
sistemas UEFI. Se você atualizar o primeiro após reinstalar o pacote do kernel, poderá acionar manualmente a atualização do último arquivo com este comando: