Red Hat Training

A Red Hat training course is available for RHEL 8

42.7. kexec を使用したカーネルの再起動

kexec システムコールを使用すると現在実行中のカーネルから別のカーネルを読み込んだり、起動したりすることが可能で、カーネル内のブートローダーとして機能します。

kexec ユーティリティーは、kexec システムコールのカーネルおよび initramfs イメージを読み込み、別のカーネルで起動します。

以下の手順では、kexec ユーティリティーを使用して別のカーネルに再起動する時に、kexec システムコールを手動で呼び出す方法を説明します。

手順

  1. 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 イメージを手動で読み込みます。

  2. システムを再起動します。

    # reboot

    このコマンドはカーネルを検出し、すべてのサービスをシャットダウンしてから、kexec システムコールを呼び出して直前の手順で指定したカーネルに再起動します。

警告

kexec -3 コマンドを使用してカーネルを再起動すると、システムは、次のカーネルを起動する前に標準のシャットダウンシーケンスを通過しません。そのため、データ損失や応答しないシステムが発生する可能性があります。