ubuntu 安装程序 iso 中 grub.cfg cmdline 中的 --- 是什么意思?

ubuntu 安装程序 iso 中 grub.cfg cmdline 中的 --- 是什么意思?

这是在 boot/grub/grub.cfg Ubuntu 22.04 LTS iso 中找到的片段。

menuentry "Try or Install Ubuntu Server" {
    set gfxpayload=keep
    linux   /casper/vmlinuz  ---
    initrd  /casper/initrd
}

这是什么---意思?

为什么此文件中的linuxinitrd命令在 UEFI 系统上有效? 不应该是linuxefi和吗initrdefi

答案1

--- 是什么意思?

这是来自Debian 安装程序)。 作为Debian 安装指南中有记录

引导选项中的“---”具有特殊含义。最后一个“---”后面出现的内核参数可能会被复制到已安装系统的引导加载程序配置中……

Ubuntu 安装程序现在主要基于下位性代替Debian 安装程序。该公约被复制到科廷(哪个下位性用途)。我没有看到相关记录,但发现这个 curtin 源代码注释

# return a string to append to installed systems boot parameters
# it may include a '--' after a '---'
# see LP: 1402042 for some history here.
# this is similar to 'user-params' from d-i

两个都Debian 安装程序科廷更新已安装系统上的文件/etc/default/grub。例如,使用内核参数--- loglevel=7

Debian 安装程序将配置行

GRUB_CMDLINE_LINUX="loglevel=7"

科廷将配置行

GRUB_CMDLINE_LINUX_DEFAULT="loglevel=7"

链接





为什么这个文件中的 linux 和 initrd 命令在 UEFI 系统上起作用?难道不应该是 linuxefi 和 initrdefi 吗?

不。据我所知linuxefiinitrdefi在基于 RedHat 的系统中更受欢迎,因为 grub 最初被修补以添加命令。该补丁似乎已被复制到 Debian(和 Ubuntu),并且命令可用,但不是 UEFI 系统所必需的。

来自帮助-grub 邮件列表

linuxefi 不包含在上游 GRUB2 中,它作为特定于发行版的补丁程序携带。

笔记

相关内容