CentOS/RHEL 7 システムで Rescue Kernel の initramfs と vmlinuz を再生成したいと考えています。システムを起動する現在のカーネルを使用してこれを行うにはどうすればよいですか?
ブート プロセス中にカーネル イメージと initramfs イメージがロードされると、initramfs はシステム上で最初のプロセスを開始します。このプロセスはプロセス ID 1 の systemd です。この systemd プロセスはさらに、システム ブートの最終段階で制御を引き継ぎ、次の操作:
- /etc/systemd/ から構成ファイルを読み取ります ディレクトリ
- /etc/systemd/system/default.target によってリンクされたファイルを読み取ります
- /etc/rc.local を実行します ファイル
以下の手順に従って、現在のカーネルから Rescue Kernel の initramfs と vmlinuz を再生成してください。
1.レスキュー カーネルの既存のファイルを確認します。
# cd /boot # ll | grep rescue -rw-------. 1 root root 72166662 Apr 6 21:37 initramfs-0-rescue-a0eaa652c599455aa125077a4167f435.img <<----Apr 6 -rwxr-xr-x. 1 root root 5925632 Apr 6 21:37 vmlinuz-0-rescue-a0eaa652c599455aa125077a4167f435 <<----Apr 6
2. 既存のファイルを別のディレクトリ (「/tmp」など) に移動します。
# mv initramfs-0-rescue-a0eaa652c599455aa125077a4167f435.img /tmp/initramfs-0-rescue-a0eaa652c599455aa125077a4167f435.img.bk # mv vmlinuz-0-rescue-a0eaa652c599455aa125077a4167f435 /tmp/vmlinuz-0-rescue-a0eaa652c599455aa125077a4167f435.bk
/boot ディレクトリにレスキュー カーネル用のファイルが存在しないことを確認します。
# ll | grep rescue #
3. 現在のカーネルでレスキュー カーネル用の新しい initramfs と vmlinuz を再生成します。
# /etc/kernel/postinst.d/51-dracut-rescue-postinst.sh $(uname -r) /boot/vmlinuz-$(uname -r)
確認
上記のコマンドが完了すると、レスキュー カーネル用の 2 つの新しいファイルが次のように表示されます。
# ll | grep rescue -rw-------. 1 root root 72164785 May 4 00:18 initramfs-0-rescue-a0eaa652c599455aa125077a4167f435.img <<----May 4 -rwxr-xr-x. 1 root root 5925632 May 4 00:18 vmlinuz-0-rescue-a0eaa652c599455aa125077a4167f435 <<----May 4