我正在试图弄清楚systemd如何确定它的引导文件的版本。在我当前的设置(全部是VM)中,我运行Debian 10、Fedora 34和Manjaro 21.0.7,它们都使用相同的引导加载程序。作为一个测试,我在Fedora上使用了sudo bootctl update,安装了它的引导文件的版本。当我后来开始进入Manjaro时,一切都正常。
我好奇的是,我的其他操作系统如何检测到引导文件来自Fedora 34。下面是bootctl status的一个片段:
$ bootctl status
System:
Firmware: UEFI 2.31 (VMware, Inc. 1.00)
Secure Boot: disabled
Setup Mode: user
TPM2 Support: no
Boot into FW: supported
Current Boot Loader:
Product: systemd-boot v248.3-1.fc34不管运行的操作系统是什么,我都会得到相同的输出。bootctl如何知道系统引导文件的版本?
发布于 2021-06-20 05:39:25
系统引导是系统引导,不管您运行的是哪个Linux发行版。Systemd是一个相对简单的选择器应用程序,它不是由发行版制造商定制的。Fedora提供的系统引导版本(目前安装在您的计算机上)也可以引导Manjaro、Debian,甚至Windows。
更新systemd时,文件将从当前正在运行的发行版中提取。bootctl程序检查系统启动的已安装版本,并仅在可用版本比已安装版本新的情况下进行更新。版本是通过检查实际文件而不是文件名来确定的。更准确地说,版本是通过在systemd二进制文件中搜索字符串#### LoaderInfo: systemd-boot NNN ####来确定的,其中NNN是一个三位数字版本号。
https://unix.stackexchange.com/questions/654965
复制相似问题