ブートローダなしで実行されているLinuxから別のカーネルから直接起動する

ブートローダなしで実行されているLinuxから別のカーネルから直接起動する

マシンをリセットしてブートローダを介さずにLinux実行からディスク上の他のカーネルに直接起動する方法はありますか?

理論的には、Linuxは他のカーネルをRAMにロードし、initrdもロードし、すべてを正常に終了してから、shutdownコントロールを新しいカーネルに渡すことができるはずです。

これを行うための実用的な方法はありますか?

ベストアンサー1

探しているようですね。プログラムの実行

文書の例:

たとえば、再起動するカーネルイメージが/boot/vmlinux、/proc/cmdlineの内容がroot=/dev/hda1、initrdのパスが/boot/initrdの場合、次のコマンドを使用できます。カーネルをロードするには:

kexec -l /boot/vmlinux --append=root=/dev/hda1 --initrd=/boot/initrd

カーネルがロードされたら、次のコマンドを使用していつでも起動できます。

kexec -e

おすすめ記事