Ao experimentar uma falha de inicialização, vejo o sistema cair para um prompt que diz dracut.
Pelo que entendi, o dracut é usado para gerar uma imagem do initramfs. O que estou confuso é que, com base no fato de que estou acessando um shell intitulado "dracut", ele não parece ser apenas um programa utilitário para gerar initramfs, mas também é um programa próprio que é executado na inicialização. Isso está correto? - Se o que foi dito acima estiver correto, então qual é a distinção/relação entre initramfs e dracut?
Responder1
Dracut é uma ferramenta para gerar uma instância do initramfs e também possui o que é chamado de shell de emergência dracut. O objetivo do initramfs é fornecer um ambiente capaz de localizar, carregar e passar a execução para o sistema de arquivos raiz. Se em algum momento algo der errado durante este processo, o initramfs irá para o shell de emergência do dracut, dando a você a oportunidade de depurar/tentar reparar o problema.
Em relação ao comentário:
"Eu ficaria feliz em fazê-lo. Para esclarecer, o que aconteceu originalmente foi que eu tinha uma VM VMWare rodando RHEL. Devido a um problema com a importação de VMs diretamente para o VMWare Workstation, decidi apenas puxar o disco rígido da VM do ESXi para uma nova VM no VMWare Workstation No entanto, quando tento inicializar a VM, consigo carregar o GRUB e, posteriormente, o dracut, mas o dracut não consegue encontrar o sistema de arquivos raiz. também seria capaz de encontrar o sistema de arquivos raiz."
Ao instalar o RHEL, o dracut gera uma instância do initramfs que contém apenas os drivers necessários para ser compatível com o hardware no qual o sistema operacional foi instalado. Quando mudei o disco rígido da minha instância RHEL do ESXi em um conjunto de hardware virtual para o VMWare Workstation, um conjunto diferente de hardware virtual, o initramfs associado ao kernel não tinha mais o conjunto apropriado de drivers necessários para localizar e carregar o sistema de arquivos raiz .
Para corrigir o problema, antes de mover o disco rígido, você precisa executar o dracut --force --no-hostonly
. Citarhttps://fedoramagazine.org/initramfs-dracut-and-the-dracut-emergency-shell/
O parâmetro force informa ao dracut que não há problema em sobrescrever o arquivo initramfs existente. O parâmetro no-hostonly substitui o comportamento padrão de incluir apenas drivers que são pertinentes ao computador em execução no momento e faz com que o dracut inclua todos os drivers no initramfs.
Isso significa que o dracut agora estará "inchado" e terá todos os drivers aplicáveis necessários para quando o disco rígido for movido. Depois de terminar de mover o disco rígido, você deverá executar novamente o dracut para dracut --force
regenerar uma versão leve do dracut.