GRUB笔记

文章介绍了GRUB启动相关的配置文件,包括/boot/grub/grub.cfg、/etc/default/grub和/etc/grub.d目录的作用。强调了不应直接编辑grub.cfg,而应修改/etc/default/grub和执行grub-mkconfig或update-grub来更新配置。通过调整GRUB_DEFAULT变量可以改变默认启动项。
摘要由CSDN通过智能技术生成

1. 相关目录

/boot/grub/grub.cfg    # The auto-generated configuration file
/etc/default/grub      # Grub configuration file
/etc/grub.d            # Scripts Directory

好啦,上面就是启动所涉及到的相关文件与目录。排在首位的,就是系统具体会调用的文件grub.cfg。注意打开后,虽然注释说不要修改此文件(DO NOT EDIT THIS FILE),其实很多人还是会直接去编辑它。为啥呢?简单直接呗。应该说对于一般用户,作个备份然后直接编辑也可。之所以不这样做(好像grub本身并不反对这样做),原因就是我要介绍的下面两个/etc/default/grub、/etc/grub.d

看到吗?都是etc目录下的东西。这意味着自带光环,本身就属于配置文件。所以这两样才是真正的应该改的东西,因为一旦它们发生了变化就可以通过update来覆写上面的grub.cfg。这就是为何系统虽然直接调用的就是/boot/grub/grub.cfg,但注释却仍然不建议修改此文件:原因就是你改了,但一旦系统发生更新就又会重新生成一份新的。又重新回到解放前。

逻辑理清一切就好办了,/etc/grub.d是一个存放系统在生成config文件所使用脚本的目录/etc/default/grub则是在脚本运行间做一些控制调节的文件。两者的关系简单说就是这个样子,至于为什么要有grub来配合grub.d,原因就是因为通过改脚本来实现改启动顺序的目的很难且容易出错。既然这样,何不留个后门让生活轻松一些呢?

备注: 一个非常有用的命令, will give you a lot of heuristic introduction(never FINISH)

info -f grub -n 'Simple configuration'

2. grub-mkconfig & update-grub

 有些文章说,就通过grub-mkconfig或update-grub来使改动生效。话虽如此,实际上两个工具还是略有不同:run grub-mkconfig will "compile" the output, however won't write to the grub.cfg, which means just no effect! To take effect, either the command below; or use update-grub.

下面这张截图就是运行update-grub前后的差异:

grub-mkconfig -o /boot/grub/grub.cfg

换句话说,仅运行grub-mkconfig并不会改写/boot/grub/grub.cfg。必须运行上面这个命令或者运行update-grub。两者并不等价。 

3. 调整启动项

铺垫了这么多,正餐开席!其实理解了调用关系,那么要修改什么都是挺简单的事。

这里所作的是想要让系统默认加载 Adavanced Option 下面的第三个镜像:一行代码搞定!

GRUB_DEFAULT="1>2"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值