grubby命令详解
创始人
2024-02-17 18:24:37
0

grubby

概要

grubby - 用于配置grub,lilo和elilo的命令行工具。grubby是一个命令行工具,用于更新和显示关于各种特定于体系结构的引导加载程序的配置文件的信息。它主要用于安装新内核并需要查找有关当前引导环境的信息的脚本。

语法:

grubby [--add-kernel = kernel-path ] [--args = args ] 
[--bad-image-okay] [--boot-filesystem = bootfs ] 
[--bootloader-probe] [--config-file 路径 ] 
[--copy-default] [--default-kernel] 
[--grub] [--lilo] [--yaboot] [--silo] [--zipl] 
[--info = kernel-path ] [--initrd = initrd-path ] 
[--make-default] [-o path] [--version] 
[--remove-kernel = kernel-path ] [--remove-args = args ] 
[--set -default = kernel-path ] [--title = entry-title] 
[--add-multiboot = multiboot-path ] [--mbargs = args ] 
[--remove-multiboot = multiboot-path ] [--remove-mbargs = args ]

描述

基于bios的Intel x86平台,默认的引导加载程序为grub2,配置文件在“/boot/grub2/grub.cfg”路径下。基于uefi的Intel x86平台默认的引导加载程序为grub2,配置文件路径为/boot/efi/efi/redhat/grub.cfg。在PowerPC平台上,基于Power8和Power9的系统支持grub2作为引导加载程序,并使用存储在/boot/grub2/grub.cfg中的配置。在s390x平台上,zipl引导加载程序使用/etc/zipl.conf中的默认配置。

在Intel x86平台上,grub是默认引导加载程序,配置文件位于/boot/grub/grub.conf中。在Intel ia64平台上,使用 elilo模式,配置文件的默认位置是/boot/grub/grub.conf。在PowerPC平台上,使用yaboot分析,配置文件应该位于/etc/yaboot.conf中。

所有引导加载程序都将引导项定义为单独的配置片段,这些配置片段默认存储在/boot/loader/entries中。配置文件的格式在https://systemd.io/BOOT_LOADER_SPECIFICATION上指定。这个肮脏的工具用于更新和显示BootLoaderSpec片段文件中定义的配置。
有许多方法可以指定用于--info、--remove-kernel和--update-kernel的内核。指定DEFAULT或ALL分别选择默认条目和所有条目。另外,引导项的标题可以通过使用TITLE=Ititle作为参数来指定;使用带有该标题的所有条目。

默认的引导加载器目标主要由构建grubby的体系结构决定。每个体系结构都有一个首选的引导加载程序,并且每个引导加载程序都有自己的配置文件。如果在命令行上没有选择引导加载程序,那么grubby将使用这些默认设置来搜索现有配置。如果没有找到引导加载程序配置文件,则grubby将使用该体系结构的默认值。这些默认值在下表中列出。

arch

bootloader

configuration file

x86_64 [BIOS]

grub2

/boot/grub2/grub.cfg

x86_64 [UEFI]

grub2

boot/efi/EFI/redhat/grub.cfg

 i386

grub2

/boot/grub2/grub.cfg

ia64

elilo

/boot/efi/EFI/redhat/elilo.conf

ppc [>=Power8]

grub2

/boot/grub2/grub.cfg

ppc [<=Power7]

yaboot

/etc/yaboot.conf

s390

 zipl

/etc/zipl.conf

s390x

 zipl

/etc/zipl.conf

OPTIONS

标签

描述

--add-kernel=kernel-path

为位于kernel-path的内核添加一个新的启动项。

--args=kernel-args

当添加一个新内核时,它指定了默认应该传递给内核的命令行参数(注意,如果使用--copy-default,它们将与模板中的参数合并)。当使用--update-kernel时,它指定了新的参数添加到参数列表。可以使用多个空格分隔的参数。如果参数已经存在,则新值将替换旧值。如果配置文件对指定根文件系统有特殊的处理(如lilo.conf那样),则 root = kernel参数会得到特殊处理。

--boot-filesystem = bootfs

grub引导加载程序希望配置路径中列出的文件路径相对于它们所在文件系统的顶部,而不是相对于当前根文件系统。默认情况下,grubby会搜索当前挂载的文件系统列表来确定这一点。如果给出了这个选项,grubby的行为就像指定的文件系统是包含内核的文件系统一样(这个选项主要是为测试而设计的)。

--bootloader-probe

grubby会尝试确定当前是否安装了grub或lilo。当找到其中一个引导加载程序时,该引导加载程序的名称将显示在stdout上。两者都可以安装(在不同的设备上),grubby会打印出两个引导程序的名称,每行一个。grub探针需要一个注释掉的引导指令grub.conf, 与lilo配置文件中的标准指令相同。如果不存在,grubby会假定grub没有安装(请注意,anaconda将该指令放置在它创建的grub.conf文件中)。该选项仅适用于x86 BIOS平台。

--bad-image-okay

当grubby正在寻找一个用于某些东西(例如模板或默认启动项)的条目时,它会使用完整性检查(例如确保内核存在于文件系统中)来确保条目显然不起作用, t选中。此选项会覆盖该行为,主要用于测试。

--config-file=path

使用路径作为配置文件,而不是默认值。

--config-default

grubby会从当前的默认内核拷贝尽可能多的信息(如内核参数和根设备)。内核路径和initrd路径将永远不会被复制。

--default-kernel

显示当前默认内核的完整路径并退出。

--default-index

显示当前默认引导项的索引值并退出

--default-title

显示当前默认引导项的标题并退出

--env=path

使用path作为grub2环境块文件,而不是默认路径。

--grub2

 Configure grub2 bootloader.

--grub

使用grub样式的配置文件而不是lilo样式。这是ia32平台的默认设置。

--info=kernel-path

显示与内核路径匹配的所有引导项的信息。如果kernel-path为DEFAULT,则显示默认内核的信息。如果kernel-path为ALL,则显示所有引导项的信息。

--initrd=initrd-path

使用initrd-path作为添加的新内核的初始ram磁盘的路径。

--extrainitrd=initrd-path

使用initrd-path作为要添加到引导项中的辅助初始ram磁盘映像的路径。

--make-default

将添加的新内核条目设置为默认条目。

--remove-args=kernel-args

kernel-args指定的参数将从--update-kernel指定的内核中删除。对于支持独立根文件系统配置的配置文件,root参数得到特殊处理。

--remove-kernel=kernel-path

删除与内核路径匹配的所有启动项。这可能会与--add-kernel一起使用,在这种情况下,添加的新内核将永远不会被删除。

--set-default=kernel-path

引导指定内核的第一个条目将作为默认引导条目。

--set-default-index=entry-index

Makes the given entry number the default boot entry.

--title=entry-title

当添加一个新的内核条目时,entry-title将用作该条目的标题。

--update-kernel=kernel-path

更新匹配kernel-path的内核条目。目前唯一可以更新的项是内核参数列表,它是通过--args和--remove-args选项修改的。
如果使用ALL参数,则/etc/default/grub中的变量GRUB_CMDLINE_LINUX将使用最新的内核参数列表进行更新,除非使用--no-etc-grub-update选项。

--zipl

使用zipl样式配置文件。

--bls-directory=path

使用path作为BootLoaderSpec配置文件的目录,而不是默认的/boot/loader/条目。

--no-etc-grub-update

当使用——update-kernel选项和ALL参数时,使grubby不更新/etc/default/grub中的GRUB_CMDLINE_LINUX变量。

--debug

Display extra debugging information for failures.

Multiboot Specification为引导加载程序和操作系统提供了一个genreic接口。它受GRUB引导加载程序的支持。

--add-multiboot = multiboot-path

为位于multiboot-path的multiboot内核添加一个新的启动项 。请注意,这通常伴随着 --add-kernel选项。

--remove-multiboot = multiboot-path

删除与多引导路径相匹配的所有引导条目。

--mbargs = multiboot-args

当添加一个新的多重引导内核时,它指定了默认应该传递给该内核的命令行参数。当使用--update-kernel时,它指定了新的参数添加到参数列表。可以使用多个空格分隔的参数。如果参数已经存在,则新值将替换旧值。

--remove-mbargs = multiboot-args

由multiboot-args指定的参数将从--update-kernel指定的内核中删除。

示例:

1、添加一个新的内核条目并从当前默认内核复制所有选项。这是大多数用户想要的行为。

grubby --add-kernel=new_kernel --title="entry_title" --initrd="new_initrd" --copy-default

2、Add a new kernel entry with custom arguments

grubby --add-kernel=new_kernel --title="entry_title" --initrd="new_initrd" --args=kernel_args

3、Remove all menu entries for a specified kernel.

grubby --remove-kernel=old_kernel

4、Target a single menu entry to remove without targetting other entries with the same kernel.

grubby --info=old_kernel

grubby --remove-kernel=menu_index

5、Update the arguments for all entries of a specific kernel. New arguments get added while existing arguments get updated values.

grubby --update-kernel=current_kernel --args="kernel_args"

6、Remove the arguments for a single entry of a specific kernel.

 grubby --info=current_kernel

 grubby --remove-args=menu_index --args="kernel_args"

待更新完成grub参数, 在ubuntu系统中没有grubby命令。desktop版本使用update-grub2或者grub2-mkconfig -o /boot/efi/EFI/ubuntu/grub.cfg或者/boot/grub/grub.cfg。

server版本使用grub2-mkconfig -o /boot/grub2/grub.cfg。

相关内容

热门资讯

你的晚安是我的早安是什么歌曲 你的晚安是我的早安是什么歌曲苏天伦《你的早安是我的晚安》“你的晚安是我的早安”是单小源的歌曲《东京遇...
积极进取的小故事 积极进取的小故事现代的普通人,不要名人的。不能与别人重复,尽快回答   啄木鸟的故事       啄...
熊出没之探险日记3什么时候播出... 熊出没之探险日记3什么时候播出?熊出没之探险日记3,春节前播放。熊出没只是探险日记三2020年5月4...
谁知道所有有关“七”的歌?拜托... 谁知道所有有关“七”的歌?拜托了各位 谢谢就是歌曲名里有“七”这个字的!谢谢七月七迅谈日晴 看我七十...
求一本小说 女主穿越了三次 每... 求一本小说 女主穿越了三次 每次都在福临身边 后来怀孕了孩子被打掉了那个 女主叫什么雯?那个女主就是...
如果记忆不说话,流年也会开出花... 如果记忆不说话,流年也会开出花的基本信息书 名:《如果记忆不弯饥好说话,流年也会开出花》埋铅 作 者...
你好,旧时光漫画版在哪里可以看... 你好,旧时光漫画版在哪里可以看?暂时在绘心上连载
一首英文歌,男的组合唱的,MV... 一首英文歌,男的组合唱的,MV是一个婚礼的过程。求歌名。是不是darin的can'tstoplove...
为什么很多人喜欢用胶片相机? 为什么很多人喜欢用胶片相机?有一种情怀叫做“怀旧“吧,现在数码相机越来越普遍了,已经到了”全民摄影“...
女主先爱上男主,男主却不喜欢女... 女主先爱上男主,男主却不喜欢女主或者是另有所爱,最后女主男主还是在一起的穿越小说。有木有再生缘:我的...
爱情失恋伤感句子 爱情失恋伤感句子越是美好的从前,越幸福的曾经,现在只能带来锥心的疼痛,痛到撕心裂肺,肝肠寸断,终于痛...
24岁穿这个会不会显老 24岁穿这个会不会显老有点显老,这个颜色款式,颜色有点暗,没有活力,属于那种气质佳,长得高雅的女人,...
哈尔的移动城堡英语版 哈尔的移动城堡英语版可以发给我吗度盘~请查收~
秦时明月之万里长城什么时候播 秦时明月之万里长城什么时候播据说是今年暑假开播别急,官网什么的信他你就输了,12年之前底应该会出,杭...
孩子会得抽动症吗? 孩子会得抽动症吗?我天生的气性比较大,有时跟别人斗嘴时候就会手脚哆嗦,麻木,我问一下这是不是抽动症就...
亨德尔一生为音乐献出了怎样的贡... 亨德尔一生为音乐献出了怎样的贡献?亨德尔一生写了歌剧41部,清唱剧21部,以及大量的管乐器与弦乐器的...
礼仪起源和发展的经典故事? 礼仪起源和发展的经典故事?一、礼仪的起源;1、天神生礼仪;2、礼为天地人的统一体;3、礼产生于人的自...
描写桂林山水的句子有哪些? 描写桂林山水的句子有哪些?天下风光数桂林有杨万里的“梅花五岭八桂林,青罗带绕碧玉簪”;有邹应龙的“无...
避免与强敌正面对决的成语 避免与强敌正面对决的成语避免与强敌正面对决的成语避实就虚 【近义】避重就轻、避难就易、声东击西【反义...
多愁善感类的成语 多愁善感类的成语心细如发【解释】:极言小心谨慎,考虑周密。亦作“心细于发”。【出自】:吴梅《题天香石...