1.环境:
Ubuntu 16.04
Linux linuxidc 4.4.0-89-generic #112-Ubuntu SMP Mon Jul 31 19:38:41 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
2.查看当前linux内核的启动参数:
cat /proc/cmdline
笔者的输出内容如下:
BOOT_IMAGE=/boot/vmlinuz-4.4.0-89-generic root=UUID=bef418fa-4202-4513-b39b-cde6a5d9753f ro quiet splash vt.handoff=7
3.开始解析
root=UUID=bef418fa-4202-4513-b39b-cde6a5d9753f :
这一串可以用root=/dev/sda1(假如根文件系统在第一个分区)来代替,但是不能用root=(hd0,msdos1)来代替
ro : 启动时以只读方式挂载根文件系统
quiet: 不进行打印信息的输出,所以去掉此项将会迎来很多打印信息
splash: 显示开机动画
vt.handoff=7 : 图形界面会去使用tty7,此项用来禁止splash占用tty7,因此如果将splash参数去掉,此项就无效了
4.添加新的启动参数
vi /boot/grub/grub.cfg
此文件中会有第2步输出的内容,在其后追加参数即可,例如:
笔者的grub.cfg文件中就有如下行:(是不是与第2步输出的信息有些类似)
linux /boot/vmlinuz-4.4.0-89-generic root=UUID=bef418fa-4202-4513-b39b-cde6a5d9753f ro quiet splash $vt_handoff
假设笔者要加入参数dwc_otg.speed=1,那么修改后如下:
linux /boot/vmlinuz-4.4.0-89-generic root=UUID=bef418fa-4202-4513-b39b-cde6a5d9753f ro quiet splash $vt_handoff dwc_otg.speed=1
至此保存此文件重启即可使此参数生效
5.为何没有使用update-grub来更新grub.cfg文件呢?
update-grub命令无法满足更细致的内核参数修改需求
原文链接:http://www.linuxidc.com/Linux/2017-10/147368.htm