GRUB 版本:2.04-20
仅一个 Linux 内核;我需要有两个 GRUB 条目来使用不同的内核选项集引导内核。目前,在每个grub-mkconfig
orupdate-grub2
生成一个带有GRUB_CMDLINE_LINUX_DEFAULT
选项的条目之后,我手动添加另一个具有不同集的条目。
有没有办法在运行后获得具有不同内核选项的同一内核的两个条目(一个GRUB_CMDLINE_LINUX_DEFAULT
与另一个)grub-mkconfig
?update-grub2
我想一些自定义脚本在/etc/grub.d
?
添加奖金,禁用的正确方法os-prober
?目前,我已重命名os-prober
脚本,以便找不到它。
答案1
要在启动时获得两个 grub 菜单条目,这些条目在(例如 Redhat)中定义/boot/efi/EFI/redhat/grub.cfg
在您的代码中,grub.cfg
您将看到menuentry {...}
左花括号和右花括号之间的距离约为 15 行。但每个菜单项都与您在引导时在 grub 引导菜单中看到的内容相对应。它们通常对应于最近 5 个左右的内核版本。
只需编辑此文件并克隆您感兴趣的菜单项,然后修改您想要的内核选项,并相应地调整菜单项标题,以便您可以在 grub 引导菜单出现时选择它。
就像您在运行时(例如在 Redhat 上)GRUB_DISABLE_OS_PROBER="true"
输入的内容所说的那样,然后它就会被修改,这就是一切发生的地方。手动编辑文件后不要运行,否则您将撤消自定义菜单条目。我不是 grub2 专家,我所知道的知识足以构成危险并为您指出正确的位置。有没有更好的方法来管理 grub 菜单条目,比如一种高级优雅的方式,我不知道我从来没有研究过。这些可能有帮助:/etc/default/grub
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
/boot/efi/EFI/redhat/grub.cfg
grub2-mkconfig
/boot/efi/.../grub.cfg
/etc/default/grub
https://askubuntu.com/questions/81660/how-can-i-edit-my-grub-bootloader-entries-hide-rename-remove
这将是linuxefi来自给定菜单项的行,例如:
linuxefi /vmlinuz-3.10.0-1160.45.1.el7.x86_64 root=UUID=800e924a-a869-4152-9503-9d9cfecbd16e ro verbose fips=1 boot=UUID=4f3da85a-71a9-4f6e-bc5f-dfd23a880b08 modprobe.blacklist=nouveau nouveau.modeset=0
我/etc/default/grub
的正好GRUB_CMDLINE_LINUX="verbose fips=1 boot=UUID=4f3da85a-71a9-4f6e-bc5f-dfd23a880b08 modprobe.blacklist=nouveau nouveau.modeset=0"
所以只需修改相应的参数即可。