如何在 Ubuntu 和其它 Linux 發行版上更新 grub
在這篇文章中,你將學習在 Ubuntu 或任何其它 Linux 發行版上更新 grub 。你也將學習一個或兩個關於更新這個 grub 過程如何工作的事情。
如何更新 grub
Ubuntu 和很多其它的 Linux 發行版提供一個易使用的稱為 update-grub
命令列實用程式。
為更新 grub ,你所要的全部工作就是使用 sudo
在終端中執行這個命令。
sudo update-grub
你應該看到一個像這樣的輸出:
[email protected]:~$ sudo update-grub
[sudo] password for abhishek:
Sourcing file `/etc/default/grub'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.0.0-37-generic
Found initrd image: /boot/initrd.img-5.0.0-37-generic
Found linux image: /boot/vmlinuz-5.0.0-36-generic
Found initrd image: /boot/initrd.img-5.0.0-36-generic
Found linux image: /boot/vmlinuz-5.0.0-31-generic
Found initrd image: /boot/initrd.img-5.0.0-31-generic
Found Ubuntu 19.10 (19.10) on /dev/sda4
Found MX 19 patito feo (19) on /dev/sdb1
Adding boot menu entry for EFI firmware configuration
done
你可能看到一個類似的稱為 update-grub2
的命令。不需要在 update-grub
和 update-grub2
之間感到害怕或不知所措。這兩個命令執行相同的動作。
大約在 10 年前,當 grub2 剛剛被引進時,update-grub2
命令也被引進。現在,update-grub2
只是一個連結到 update-grub
的符號,它們都更新 grub2 配置(因為 grub2 是預設的)。
不能找到 update-grub 命令?這裡是在這種情況下該做什麼
它可能是,你的 Linux 發行版可能沒有可用的 update-grub
命令。
在這種情況下你該做什麼?你如何在這樣一個 Linux 發行版上更新 grub ?
在這裡不需要驚慌。update-grub
命令只是一個入口,用於執行 grub-mkconfig -o /boot/grub/grub.cfg
來生成 grub2 配置檔案。
這意味著你可以在任意 Linux 發行版上使用下面的命令更新 grub :
sudo grub-mkconfig -o /boot/grub/grub.cfg
當然,記住 update-grub
命令比上面的命令容易很多,這是為什麼它在一開始被建立的原因。
update-grub 是如何工作的?
當你安裝一個 Linux 發行版時,它(通常)要求你安裝 grub 啟動載入程式。
grub 的一部分安裝在 MBR/ESP 分割槽上。grub 的剩餘部分保留在 Linux 發行版的 /boot/grub
目錄中。
依據它的 man 頁面,update-grub
通過查詢 /boot
目錄來工作。所有以 vmlinuz- 開頭的檔案將被作為核心來對待,並且它們將得到一個 grub 選單項。它也將為與所找到核心版本相同的 ramdisk 映象新增 initrd 行。
它也使用 os-prober 為其它作業系統查詢所有磁碟分割槽。如果找到其它作業系統,它新增它們到 grub 選單。
為什麼你需要更新 grub ?
在有很多場景下你需要更新 grub。
假設你修改 grub 配置檔案(/etc/default/grub
)以 更改預設啟動順序 或減少預設啟動時間。除非你更新 grub ,否則你的修改將不會生效。
另一種情況是,你在同一個電腦系統上安裝多個 Linux 發行版。
例如,在我的 Intel NUC 上,我有兩個磁碟。第一個磁碟有 Ubuntu 19.10 ,並且我在其上面安裝了 Ubuntu 18.04 。第二個作業系統(Ubuntu 18.04)安裝了其自己的 grub ,現在 grub 啟動螢幕由 Ubuntu 18.04 grub 控制。
在第二個磁碟上,我安裝了 MX Linux ,但是這次我沒有安裝 grub。我希望現有的 grub(由 Ubuntu 18.04 控制)來處理所有的作業系統專案。
現在,在這種情況中,在 Ubuntu 18.04 上的 grub 需要更新,以便它能夠看到 MX Linux 。
如上圖所示,當我更新 grub 時,它在 18.04 上找到很多安裝的 Linux 核心, 以及在不同的分割槽上 Ubntu 19.10 和 MX Linux 。
如果你想讓 MX Linux 控制 grub ,我可以使用 grub-install 命令來在 MX Linux 上安裝 grub,然後在 MX Linux 上的 grub 將開始控制 grub 啟動螢幕。你已經明白這點,對吧?
使用一個像 Grub Customizer 的 GUI 工具是在 grub 中進行更改的一種簡單的方法。
最後…
最初,我打算保持它為一篇短文作為一種快速提示。但是後來我想解釋一些與之相關的東西,以便(相對)新的 Linux 使用者能夠學到更多,而不僅僅是一個簡單命令。
你喜歡它嗎?你有一些問題或建議嗎?請隨意發表評論。
via: https://itsfoss.com/update-grub/
作者:Abhishek Prakash 選題:lujun9972 譯者:robsean 校對:wxy
訂閱“Linux 中國”官方小程式來檢視
相關文章
- 如何在 Ubuntu 和其他 Linux 發行版上使用 7ZipUbuntuLinux
- 世界上只有兩個 Linux 發行版:Arch Linux 與其它 | Linux 中國Linux
- 如何在 Ubuntu 和其他 Linux 上安裝 NetbeansUbuntuLinuxBean
- Ubuntu 發行版更新 Linux 核心,修復 17 個安全漏洞UbuntuLinux
- 如何在 Ubuntu 18.04 上更新韌體Ubuntu
- 如何在一個 U 盤上安裝多個 Linux 發行版?Linux
- 如何在 Ubuntu Linux 上安裝 IntelliJ IDEAUbuntuLinuxIntelliJIdea
- 如何在ubuntu[linux] 上用docker安裝SqlserverUbuntuLinuxDockerSQLServer
- Linux: GRUBLinux
- 如何在 Linux/Windows/MacOS 上使用 .NET 進行開發LinuxWindowsMac
- 如何在Ubuntu 22.04上安裝Linux 核心 詳細教程!UbuntuLinux
- ubuntu在grub介面後黑屏Ubuntu
- 如何在 Ubuntu 上安裝和使用 R 語言Ubuntu
- Linux發行版Linux
- 如何在 Linux 上安裝/更新 Intel 微碼韌體LinuxIntel
- 什麼是Linux發行版?Linux發行版推薦Linux
- 如何在 Linux 上安裝 Elasticsearch 和 KibanaLinuxElasticsearch
- 如何在 Ubuntu 上安裝 VirtualBoxUbuntu
- 如何在 Ubuntu 上安裝 MongoDBUbuntuMongoDB
- Linux發行版 vs Linux核心Linux
- 如何在LInux上安裝並執行JenkinsLinuxJenkins
- 如何在 Debian/Ubuntu 上手動安裝安全更新?Ubuntu
- 從 流行linux發行版 看 發行版引數Linux
- 如何在 Ubuntu 上安裝 Python 3.8UbuntuPython
- 如何在Ubuntu/Debian Linux編寫C程式UbuntuLinuxC程式
- 主流發行版之前的那些最早的 Linux 發行版Linux
- 通過 Grub 來引導啟動 UBUNTUUbuntu
- 如何在 Debian Linux 上設定和配置網橋Linux
- 如何在 Linux 上建立和使用交換檔案Linux
- 如何在 Linux 上使用 kill 和 killall 來管理程式Linux
- 如何在 Ubuntu 22.04 上安裝 Python Pip?UbuntuPython
- 如何在 Ubuntu 上設定時間同步Ubuntu
- 如何在Ubuntu上使用FreeFileSync同步檔案Ubuntu
- 如何在Ubuntu 16.10上安裝ResourceSpace程式Ubuntu
- 如何在Ubuntu24.04上安裝ELKUbuntu
- 如何在Ubuntu上使用HMCL遊玩MinecraftUbuntuRaft
- 如何在ubuntu上設定清華源Ubuntu
- Linux發行版本,Ubuntu與Mint哪個好?LinuxUbuntu