ubuntu 20.04にアップグレードした後、kexecの再起動時にファームウェア/ハードリブートをスキップしなくなりました。

ubuntu 20.04にアップグレードした後、kexecの再起動時にファームウェア/ハードリブートをスキップしなくなりました。

(Ubuntuとは特に関係がないと思うので、Ubuntuサブサイトの代わりにここに投稿します...)

kexec-reboot -lr非常に便利な機能をうまく使用しました該当ページはこちら

18.04から20.04にアップグレードした後にこのコマンドを実行すると、システムは再起動し続けますが、カーネルを再ロードして再起動するのではなく、EFI /ファームウェアまで「ハード」再起動を実行します。これにより、私のサーバーの開始時間が数分追加されます(そして、この呼び出しを使用するポイントが失われます...)。

kexec-rebootの詳細出力に基づいて実行するコマンドは次のとおりです。

Running /sbin/kexec -l /boot/vmlinuz-5.4.0-54-generic --append='root=UUID=69a4d39e-361f-41e7-9ad3-866cb9dae202 ro intel_iommu=on' --initrd=/boot/initrd.img-5.4.0-54-generic

コマンドを直接実行すると(つまり、kexec-reboot便利なスクリプトではなく)、同じ動作が発生します。

関連性があると思われるメッセージを見つけるためにsyslogとdmesgを確認しましたが、何も見つかりませんでした。また、私が見ることができるさまざまな場所をすべて知らないかもしれません。詳細なフラグに加えて、この問題を解決するために何を使用できますか?

Update 11/26:上記のようにkexec行を手動でビルドして実行するとkexec -e(上記のように)ここ)カーネルを直接起動します。 kexec-rebootコードを見ると、最後の呼び出しがあることがわかるので、動作が以前とは異なるshutdown -r now理由を特定しようとしています。shutdown -r now

ベストアンサー1

カーネル5.4以降、Linuxセキュリティモジュールはロック機能を有効にします。これにより、kexec再起動機能が無効になり、ハードリセットをバイパスできなくなります。デフォルトでは、5.4ではロックは無効になっています。ただし、お客様の場合は有効になっていないことを確認してください。 u-boot変数やカーネルソースコードを確認できます。

おすすめ記事