42.7. 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
コマンドを使用して、マシンを別のカーネルで再起動すると、システムは、次のカーネルを起動する前に標準のシャットダウンシーケンスを通過しません。これにより、データが失われたり、システムが応答しなくなったりする可能性があります。