Grub2

軟體冷重啟

  • November 9, 2017

我發現它grub-reboot僅適用於冷重啟(關閉然後手動啟動),但不適用於簡單的rebootor shutdown -r. 使用這些通常的重啟命令,Ubuntu 16.04 偶爾會顯示一些Clearing orphaned inode消息,然後立即返回Started new Kernel Device Manager(關閉和啟動消息通常甚至交錯)。我從來沒有看到過 GRUB2 螢幕,更重要的是,我從來沒有被引導到我的備用 grub 條目。

OTOH,如果我關閉然後手動打開機器電源,我看到grub-reboot確實標記了正確的臨時選項(不是我剛剛離開的那個)。

對我來說,整個點grub-reboot是遠端切換作業系統,這不是一個好的選擇。

如何重新啟動並查看 GRUB?

有問題的系統是為 kexec 配置的,因此它永遠不會像引導載入程序或韌體那樣下降。

kexec 背後的一般想法是避免在許多伺服器硬體上看到瘋狂的 POST 時間,以減少需要升級核心時的停機時間。它還有其他一些巧妙的用途(它在某些發行版中用於處理故障轉儲,甚至可以用於在直接在硬體上執行 Linux 和在 Xen 管理程序中執行它之間切換)。

有兩種選擇來處理這個問題。

  1. 弄清楚如何正確禁用 kexec(通過禁用正在載入新核心的 init 腳本,或者通過解除安裝應該kexec-tools在 Ubuntu 上呼叫的包中的 kexec 命令)。不幸的是,這是特定於系統的,我不知道這些天 Ubuntu 是如何處理 kexec 的,所以我不能在這裡給出太多建議。
  2. kexec -u通過以 root 身份執行命令,在發出重新引導命令之前手動解除安裝 kexec 核心。這僅在啟動期間或安裝新核心包時完成載入時才有效(儘管我認為這是 Ubuntu 處理它的方式,但我不確定)。或者,如果使用 systemd,呼叫systemctl reboot而不是僅僅reboot 可能會繞過 kexec 核心的使用,但我不確定這一點。

引用自:https://unix.stackexchange.com/questions/403072