コールドリブート(終了後に手動でブート)でのみ動作しますgrub-reboot
が、シンプルreboot
またはshutdown -r
。通常はすれ違うこともある)。 GRUB2画面はまったく表示されず、さらに重要なのは、代替Grubエントリで起動しないことです。Clearing orphaned inode
Started new Kernel Device Manager
OTOH、コンピュータをシャットダウンして手動で再びオンにすると、grub-reboot
正しい一時オプションが表示されていることがわかります(残したオプションではありません)。
私にとって、すべての目的はgrub-reboot
オペレーティングシステムをリモートに切り替えることであるため、これは良い選択ではありません。
再起動してGRUBを表示するにはどうすればよいですか?
答え1
問題のシステムはkexec用に構成されているため、ブートローダやファームウェアに落ちることはありません。
kexecの一般的なアイデアは、カーネルのアップグレードが必要なときにダウンタイムを減らすために多くのサーバーハードウェアで見られる膨大なPOST時間を避けることです。これにはいくつかの他のきちんとした用途があります(一部のディストリビューションではクラッシュダンプを処理するために使用され、ハードウェアで直接Linuxを実行することとXenハイパーバイザーでLinuxを実行することを切り替えるためにも使用できます)。
この問題を処理するには2つのオプションがあります。
kexecを正しく無効にする方法を学びます(新しいカーネルをロードするinitスクリプトを無効にするか、
kexec-tools
Ubuntuで呼び出されたパッケージに存在する必要があるkexecコマンドを削除してください)。残念ながら、これはシステムによって異なり、現在Ubuntuがkexecをどのように処理するかわからないので、ここでは多くのアドバイスをすることはできません。再起動コマンドを実行する前に、rootとしてコマンドを実行してkexecカーネルを手動で削除してください
kexec -u
。これは起動中にロードされたとき、または新しいカーネルパッケージをインストールした場合にのみ機能します(Ubuntuがこれを処理する方法だと思いますが、わかりません)。またはsystemdを使用している場合は、単に呼び出すのではなくsystemctl reboot
呼び出してください。reboot
可能kexecカーネルの使用をバイパスしますが、わかりません。