Na internet só encontrei isso:
/etc/kernel/postinst.d/51-dracut-rescue-postinst.sh $(uname -r) /boot/vmlinuz-$(uname -r)
mas não funciona no Fedora 36 e em breve será lançada a versão 37, porque este arquivo está faltando, na verdade todo o /etc/kernel/postinst.d/
diretório está vazio.
eu também encontrei
dnf reinstall kernel-core
mas só funciona para um kernel atualizado. Estou executando o kernel que não está mais disponível nos repositórios. Além disso, essa não é uma boa opção em si, pois resultará na reinstalação literalmente de muitas centenas de arquivos sem motivo.
grep -r rescue /etc
não encontra nada.
# grep -r rescue /usr/bin
grep: /usr/bin/tdbdump: binary file matches
grep: /usr/bin/ctags: binary file matches
grep: /usr/bin/systemctl: binary file matches
grep: /usr/bin/systemd-analyze: binary file matches
grep: /usr/bin/efisecdb: binary file matches
grep: /usr/bin/dpkg: binary file matches
grep: /usr/bin/grub2-mkrescue: binary file matches
/usr/share
contém uma tonelada de correspondências, mas não tenho ideia de como trabalhar com isso.
kernel-core
e kernel-modules
pacotes têm scripts RPM que fazem alguma coisa, mas não há nada específico para "resgatar". Parece que tudo é feito como uma única operação, mas não quero gerar novamente o initrd.
Os kernels de resgate usam um initramfs de uso geral, então você precisa regenerá-lo. (Compare os tamanhos de seus initramfses para ver o impacto disso.)
Para criar um novo kernel de resgate usando o kernel atualmente em execução, no Fedora 36, execute