7.9. kexec を使用したカーネルの再起動
7.9.1. kexec によるカーネルの再起動
kexec
システムコールを使用すると現在実行中のカーネルから別のカーネルを読み込んだり、起動したりすることが可能で、カーネル内のブートローダーとして機能します。
kexec
ユーティリティーは、kexec
システムコールのカーネルおよび initramfs
イメージを読み込み、別のカーネルで起動します。
次のセクションでは、kexec ユーティリティーを使用して別のカーネルで再起動する際に kexec
システムコールを手動で呼び出す方法を説明します。
kexec
ユーティリティーを実行します。# kexec -l /boot/vmlinuz-3.10.0-1040.el7.x86_64 --initrd=/boot/initramfs-3.10.0-1040.el7.x86_64.img --reuse-cmdline
このコマンドは、
kexec
システムコールのカーネルおよび initramfs イメージを手動で読み込みます。システムを再起動します。
# reboot
このコマンドはカーネルを検出し、すべてのサービスをシャットダウンしてから、
kexec
システムコールを呼び出して直前の手順で指定したカーネルに再起動します。
kexec -3
コマンドを使用してカーネルを再起動すると、システムは、次のカーネルを起動する前に標準のシャットダウンシーケンスを通過しません。そのため、データ損失や応答しないシステムが発生する可能性があります。