ソフトウェアコールドの再起動

ソフトウェアコールドの再起動

コールドリブート(終了後に手動でブート)でのみ動作しますgrub-rebootが、シンプルrebootまたはshutdown -r。通常はすれ違うこともある)。 GRUB2画面はまったく表示されず、さらに重要なのは、代替Grubエントリで起動しないことです。Clearing orphaned inodeStarted new Kernel Device Manager

OTOH、コンピュータをシャットダウンして手動で再びオンにすると、grub-reboot正しい一時オプションが表示されていることがわかります(残したオプションではありません)。

私にとって、すべての目的はgrub-rebootオペレーティングシステムをリモートに切り替えることであるため、これは良い選択ではありません。

再起動してGRUBを表示するにはどうすればよいですか?

答え1

問題のシステムはkexec用に構成されているため、ブートローダやファームウェアに落ちることはありません。

kexecの一般的なアイデアは、カーネルのアップグレードが必要なときにダウンタイムを減らすために多くのサーバーハードウェアで見られる膨大なPOST時間を避けることです。これにはいくつかの他のきちんとした用途があります(一部のディストリビューションではクラッシュダンプを処理するために使用され、ハードウェアで直接Linuxを実行することとXenハイパーバイザーでLinuxを実行することを切り替えるためにも使用できます)。

この問題を処理するには2つのオプションがあります。

  1. kexecを正しく無効にする方法を学びます(新しいカーネルをロードするinitスクリプトを無効にするか、kexec-toolsUbuntuで呼び出されたパッケージに存在する必要があるkexecコマンドを削除してください)。残念ながら、これはシステムによって異なり、現在Ubuntuがkexecをどのように処理するかわからないので、ここでは多くのアドバイスをすることはできません。

  2. 再起動コマンドを実行する前に、rootとしてコマンドを実行してkexecカーネルを手動で削除してくださいkexec -u。これは起動中にロードされたとき、または新しいカーネルパッケージをインストールした場合にのみ機能します(Ubuntuがこれを処理する方法だと思いますが、わかりません)。またはsystemdを使用している場合は、単に呼び出すのではなくsystemctl reboot呼び出してください。reboot 可能kexecカーネルの使用をバイパスしますが、わかりません。

関連情報