update-grub命令执行时会读取此目录下的文件,并将配置合并至grub.cfg中,grub.cfg中的菜单顺序是由此目录中的文件顺序决定的,文件开头数字较小的会先执行,全英文名字的文件将会在最后执行,自定义选项在40_custom中定义,或者建立一个新文件,此目录下的文件必须有执行权限才会被update-grub读取,并把配置合并到grub.cfg中。
配置文件描述00_header 配置初始的显示项目,如默认选项,时间限制等,一般由/etc/default/grub导入,一般不需要配置
05_debian_theme 配置引导画面,文字颜色等主题
10_linux 定位当前操作系统使用中的root设备内核的位置
30_os-prober 用来搜索linux和其他系统,此脚本中的变量用来指定在/boot/grub/grub.cfg 和 grub2菜单中的名称显示方式,可以修改/etc/default/grub光比这个脚本
40_custom 用来加入用户自定义的菜单样板,将会在执行update-grub时更新至grub.cfg中
41_custom 判断custom.cfg此配置文件是否存在,如果存在就加载它
4.4 /boot/grub/grub.cfg
主要配置文件是/boot/grub/grub.cfg
但是这个文件的权限是444,连root也不让修改,这是刻意为之的,不要修改文件权限
grub.cfg的内容更新由update-grub命令来更新, 我们从下图中看到系统中/boot中安装了4.2.0-42版本的内核, 而我们update-grub就会发现他们
grub.cfg的内容更新由update-grub命令来更新, 其实就是执行如下操作
备份/boot/grub/menu.lst文件到/boot/grub/menu.lst~, 以防止出错后无法恢复
读取系统中安装的所有内核(一般在/boot目录下), 然后生成.lst文件
生成grub.cfg, 其实就是执行grub-mkconfig -o /boot/grub/grub.cfg来更新
首先读取/etc/default/grub设置基本的设置信息
在/boot/grub.d目录下有很多模块文件,以在按需时自动加载模块. 依照/etc/grub.d中的各段生成grub.cfg的基本信息, 每段模块配置的加载以### BEGIN xxx ###开始,以### END xxx ###结尾
读取menu.lst设置加载的内核的信息
在更新内核时会调用update-grub自动更新grub.cfg文件
5 常见问题 5.1 修改等待时间 sudo gedit /etc/default/grub修改文件中的:GRUB_TIMEOUT=10 (默认是为10秒的)
修改为:GRUB_TIMEOUT=X (X表示你要设置的秒数,设置为负数为一直等待操作) 修改后保存。终端输入:
5.2 生成grub.cfg一般来说, update-grub会更新grub并生成grub.cfg
sudo update-grub当然也可以
sudo grub-mkconfig -o /boot/grub/grub.cfg 5.3 修改默认启动系统 sudo gedit /etc/default/grub修改文件中的GRUB_DEFAULT=0
GRUB_DEFAULT=0 (0默认启动第1项,如果你的win是第5项,把这个0改为4) 保存文件后终端输入:
5.4 修改默认分辨率 sudo gedit /etc/default/grub修改文件中的 #GRUB_GFXMODE=640x480
把前面#去掉,把分辨率改为800x600或1024x768(或者修改为你屏幕的分辨率,但前提是分辨率为常见分辨率