Depois de alterar uma partição do disco do sistema, o sistema não inicializa e entra no "Dracut Emergency Shell"; como faço para inicializar?

Depois de alterar uma partição do disco do sistema, o sistema não inicializa e entra no "Dracut Emergency Shell"; como faço para inicializar?

Fundo

Eu tinha um novo sistema no qual passei muito tempo configurando o software para executar todos os tipos de serviços e então descobri que a unidade era potencialmente instável. Então decidi substituir o disco, mantendo o conteúdo do novo disco.

O disco do sistema também teve um problema ao inicializar corretamente kernelque não consegui consertar (segui todas as grubinstruções, mas ele simplesmente não inicializava corretamente kernelpor padrão, apenas se você escolhesse manualmente o correto). Então, imaginei que a melhor maneira era simplesmente fazer uma nova instalação Fedora Serverno novo disco e isso resolveria o problema de inicialização ao longo do caminho.

O que aconteceu

O novo disco era muito maior, então particionei-o de maneira um pouco diferente durante o processo de instalação. Em seguida, removi a unidade e coloquei o disco do sistema novo e o antigo em outro servidor próximo. Por precaução, guardei fstabo novo disco do sistema, sabendo que ele tinha a partição UUIDs.

Há muitas maneiras de mover as coisas e decidi que queria uma partição raiz limpa no novo disco do sistema. Achei ddque poderia fazer isso, mas estou acostumado a usá-lo onde as partições são do mesmo tamanho e estava um pouco inseguro, então apenas reformatei a partição raiz ("/") com gparted. Em seguida, movi os arquivos usando ferramentas normais do sistema operacional. Em seguida, cortei e colei o UUIDmaterial da nova instalação e inseri-o no fstabservidor que estava consertando.

Tudo correu bem.

Eu então tentei inicializar o sistema. Ele postou, depois foi para o grubgerenciador de boot, selecionou automaticamente o kernel correto e pronto! ... Até que não aconteceu!

Ele chegou a "mostrar a tela de inicialização do Plymouth" ou algo parecido, fez uma pausa e depois emitiu vários avisos de tempo limite de algo que se autodenominava dracut. A partir daqui, tirei uma captura de tela com meu telefone. Diz:

Warning: Could not boot.
Starting Dracut Emergency Shell...
Warning: /dev/disk/by-uuid/<a uuid> does not exist
Generating "/run/initramfs/rdsosreport.txt"

seguido por uma sugestão para usar journalctle talvez salvar rdsosreport.txtpara relatórios de bugs.

ACIMA! O que fazer? Eu procurei de alto a baixo por isso Warning [...] does not existe dracut emergency shellpelas coisas citadas acima. Nada!

Responder1

Atualizar fstab

É necessário atualizar /etc/fstabos arquivos com o UUID adequado da partição

Atualizar criptotab

Se a sua partição anterior foi criptografada, você precisa remover a entrada de/etc/crypttab

Se sua nova partição estiver criptografada, você precisará adicionar a entrada correspondente no/etc/crypttab

Regenerar initramfs

Depois de atualizar o arquivo /etc/fstabe /etc/crypttabvocê precisa atualizar a imagem initramfs usando dracut.

Você pode atualizar a imagem do dracut do shell de emergência do dracut executando

# dracut --hostonly --regenerate-all --force
Referências

Responder2

A mensagem:

Warning: /dev/disk/by-uuid/<uuid> does not exist

é uma pista importante.

Acontece que a partição raiz UUIDé armazenada em dois locais na grub2parte da partição do servidor Fedora moderno /boot. Mas neste cenário, existem na verdade três UUIDproblemas.

A reformatação da partição raiz ("/") na verdade alterou o arquivo UUID.Então, o novo UUIDtem que ser primeiro descoberto e depois colocado nos locais certos. Há muitas maneiras de encontrar, UUIDsmas uma ferramenta de linha de comando para fazer isso é blkid- como neste exemplo:

# blkid
/dev/sda1: UUID="64bbac09-1a12-4bea-8873-212ffb56f2a8" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="primary" PARTUUID="8a09913a-fdb2-42a0-98e3-6b89e16374d2"

Observe que para cada partição, há duas UUIDsmostradas por esta ferramenta; você quer o primeiro deles. Observe também que usuários não privilegiados não podem executar arquivos blkid.

Aqui estão os três locais onde a partição raiz UUIDprecisa estar:

  1. Na /etc/fstablinha onde a montagem da partição raiz é descrita e;
  2. Na /boot/grub2.cfglinha configurando as opções do kernel. A maneira mais rápida de encontrá-lo é procurar o primeiro, UUIDse ainda o tiver. Ou procure "set kernelopts="root=UUID=", e;
  3. In /boot/grub2/grubenvem uma linha semelhante à linha citada no /boot/grub2.cfgarquivo. Procurar:kernelopts=root=UUID=

Lembre-se de alterar apenas o UUID novo e deixar todo o resto como estava. Talvez faça um backup do arquivo antes de editá-lo, só para garantir!

informação relacionada