Boot

如何更改 GRUB 中作業系統條目的名稱?

  • April 12, 2022

我想創建自己的作業系統,所以我用 archiso 創建了一個發行版映像。它太酷了!

我創建了一個有助於自動安裝我的發行版的 python 文件。

還有一部分將文件傳輸到 chroot,然後安裝 GRUB。它可以工作,但是在重新啟動並且已經安裝的系統顯示為“Arch Linux”之後。

在我用Python製作的安裝文件中,我使用該行os.system("COMMAND LINUX")執行Linux命令

是否需要更改任何命令或文​​件才能將 Arch Linux 重命名為我的發行版名稱?在安裝 GRUB 後將其放入安裝自動化文件中,以便在重新啟動它的人已經出現“我的作業系統”

PS:不要告訴我改變/boot/grub/grub.cfg的menuentry,因為它會自動覆蓋。

你知道/boot/grub/grub.cfg是怎麼產生的嗎?

有一組腳本在/etc/grub.d/其中執行grub2-mkconfig以創建grub.cfg文件。通常,命名的腳本10_linux將負責為目前發行版創建實際的引導菜單項。如果您安裝了兩個或更多作業系統,則30_os-prober可能是為其他作業系統創建菜單項的腳本。

至少在 Debian 中,10_linux從. 但即使在那裡,該值也是使用命令間接設置的。GRUB_DISTRIBUTOR``/etc/default/grub``lsb_release -i -s

因此,您只需更改GRUB_DISTRIBUTOR變數的設置方式,/etc/default/grub即可快速更改在 GRUB 中可見的分佈名稱。

但是您可能還想檢查實際的/usr/bin/lsb_release命令(假設 Arch 也有)。原來它是一個 Python 腳本。如果您更改此腳本獲取發行版名稱的方式以使其輸出結果“我的作業系統”,這將自動更改在 GRUB 中可見的名稱,但由於該lsb_release命令可以在多個地方使用,因此更改腳本可能允許您可以立即將“我的作業系統”這個名稱帶到許多其他地方,而不僅僅是進入 GRUB 菜單。

但是,如果包管理系統也使用lsb_release命令提供的資訊,那麼更改作業系統名稱可能會使您更難在自定義發行版中使用 Arch 的軟體包。如果您只是希望您的發行版成為“Arch 的預定製版本”,您可能不希望這樣。

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