2022年にFedoraで実行/インストールされたカーネルから回復カーネルを手動で再生成する方法は?

2022年にFedoraで実行/インストールされたカーネルから回復カーネルを手動で再生成する方法は?

インターネットで私はこれだけを見つけました。

/etc/kernel/postinst.d/51-dracut-rescue-postinst.sh $(uname -r) /boot/vmlinuz-$(uname -r)

ただし、このファイルが見つからず、実際にディレクトリ全体が空である/etc/kernel/postinst.d/ため、Fedora 36および将来の37バージョンでは機能しません。

私もそれに気づいた。

dnf reinstall kernel-core

しかし、最新のカーネルでのみ動作します。私が実行していたカーネルは、もはやリポジトリで利用できません。さらに、この方法自体は理由なく何百ものファイルが再インストールされるため、良いオプションではありません。

grep -r rescue /etc何も見つかりませんでした。

# 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多数の一致が含まれていますが、使用方法がわかりません。

kernel-coreパッケージのRPMスクリプトはkernel-modulesいくつかの操作を実行できますが、Rescueに固有の操作はありません。これはすべて1つの操作で行われているようですが、initrdを再生成したくありません。

答え1

回復カーネルは通常のinitramfsを使用するため、再構築する必要があります。 (影響を確認するには、initramfsesのサイズを比較してください。)

現在実行中のカーネルを使用して新しい回復カーネルを作成するには、Fedora 36で次のコマンドを実行します。

sudo rm /boot/*rescue*
sudo /usr/lib/kernel/install.d/51-dracut-rescue.install add "$(uname -r)" /boot "/boot/vmlinuz-$(uname -r)"

関連情報