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。

相关内容

热门资讯

创业团队怎么写(创业团队简介模... 创业/商业计划书一般包括以下内容:项目介绍、市场分析、核心竞争力、商业模式、运营营销、当前进展、财务...
央地协同推动深圳新一轮综合改革...   证券时报记者 江聃  中共中央办公厅、国务院办公厅近日发布《关于深入推进深圳综合改革试点深化改革...
并未遭损坏!俄出动图-22M3... 转自:上观新闻据新华社报道,乌克兰无人机本月1日对俄罗斯多地军用机场发动代号为“蛛网”的大规模袭击后...
实探2025 SNEC光伏展:... 转自:证券日报    本报记者 殷高峰 曹琦    6月11日至13日,第十八届(2025)国际太阳...
使用“大量非致命性弹药” 洛杉... 央视记者当地时间6月12日获悉,据美国洛杉矶警察局的最新消息,该警察局于11日在洛杉矶市中心地区爆发...
妙弦智能手表电池能用多久 妙弦智能手表电池能用多久妙弦智能手表电池能用多久这款手表的电池是400毫安的,待机2天左右,通话2小...
汤姆·克鲁斯称自己的电影为了大... 汤姆·克鲁斯称自己的电影为了大银幕而生,他出演过哪些经典的电影?他出演过壮志凌云,借刀杀人,世界大战...
星际争霸1种族问题 星际争霸1种族问题T是最强的,无论是1还是目前的2.但玩好T需要手快一些。P、Z都有APM100左右...
球几首广播剧的ED 球几首广播剧的ED何以笙箫默ED(声色)那一集的,还是都要?
鹿晗的秀气和身才超过了那些当红... 鹿晗的秀气和身才超过了那些当红女星,那些粉丝可叫他鹿姐和鹿妹这外鹿晗的秀气和身才超过了那些当红女星,...
关于整形是怎么看的? 关于整形是怎么看的?其实就是有必要整下,比如单眼皮变成自然双眼皮,没必要一定要欧式大双吧,适合自己就...
美国家庭净资产自2023年以来...   美国家庭资产今年第一季度出现自2023年以来的首次下降,贸易冲突引发的股市抛售令美国家庭承压。 ...
小蚂蚁搬家儿歌详细内容。 小蚂蚁搬家儿歌详细内容。轰隆隆,轰隆隆又要下雨啦小蚂蚁忙着在搬家风吹不怕雷打不垮集体的财富不能落(l...
锚定更高目标深化改革创新扩大开... □记者 梁倩 孙飞 6月12日,国新办就《关于深入推进深圳综合改革试点深化改革创新扩大开放的意见》(...
摩托车提速小飞轮多少齿合适? 摩托车提速小飞轮多少齿合适?摩托车原车的小飞轮, 一般是14齿或15齿,要想通过改小飞轮的方法提速,...
公募基金密集增设新份额 满足投... 本报记者 彭衍菘近期,多只公募基金份额扩容。据统计,6月份以来,已有平安中证港股医药ETF联接、平安...
手机上的音乐播放器有五段均衡器... 手机上的音乐播放器有五段均衡器60HZ 230HZ 910HZ 3HZ 14HZ,怎么调能突出人声?...
新西兰的首都是哪座城市,为什么... 新西兰的首都是哪座城市,为什么很多人都不知道呢?新西兰的首都是惠灵顿。惠灵顿的存在感并不强,知名度也...
图书馆的书的编码是啥意思? 图书馆的书的编码是啥意思?谢谢大家,快点吧!!图书馆里藏书的条形码编号有2种,一种是书本身的条形码编...
高个子的女生,骨架大,要怎么穿... 高个子的女生,骨架大,要怎么穿衣服比较时尚?这样的女生是非常适合穿中长款的西服的,因为这样的服饰穿上...