GRUB2

废话不多说,centos7较之以往变化了很多,准备把自己发现的各种变化记录下来,方便自己和有疑问的爱好者查阅,节省网上搜寻资料的时间,想到哪写到哪,坏笑。

GRUB2取代了grub逐渐成为主流,引导菜单启动从/boot自动生成,不是menu.lst手工配置。具体内容参照 /boot/grub2/grub.cfg 该文件每次执行grub2-mkconfig后自动

生成,所以修改该文件在内核升级后会失效。此外,设备是以0开始编号,分区改为1开始编号。

grub2主要关联文件如下:

  • /etc/default/grub :改变引导菜单外观的主要配置文件。

    [root@localhost grub.d]# ls /etc/grub.d
    00_header  01_users  20_linux_xen     30_os-prober  41_custom
    00_tuned   10_linux  20_ppc_terminfo  40_custom     README
    

    各种生成grub.cfg的脚本文件。其中00-header配置初始的显示项目,如默认选项,时间限制等,由/etc/default/grub导入,一般不需要配置。

  • 10-linux:定位当前操作系统使用的root设备内核的位置。

  • 30-os-prober:用来搜索linux和其他系统,此脚本中的变量用来指定 /boot/grub2/grub.cfg和grub2菜单中的名称显示方式。我看不懂艾。

  • 40-custom:用来加入用户自定义的菜单样板,执行grub2-mkconfig时更新至grub.cfg中,加入新的系统就靠他了

    网上搜索出来的双系统共存解决方案通常直接修改/boot/grub2/grub.cfg,之前我也这么修改的,但是很多脚本我看不懂啊,其实直接修改40-custom就可以了。

    #!/bin/sh
    exec tail -n +3 $0
    # This file provides an easy way to add custom menu entries.  Simply type the
    # menu entries you want to add after this comment.  Be careful not to change
    # the 'exec tail' line above.
    menuentry ' win7/8/10 xp'
    	set root =(hd0,1)
    	chainloader + 1
    

    注意看注释啊,有3行是注释啊,从第4行开始,不要有空行噢,否则grub选择时也会有空行。 root后接启动分区,注意分区是由1开始,如果你先装的win7,那么hd0,1,否则修改成适用的配置吧。
    最后执行 grub2-mkconfig -o /boot/grub2/grub.cfg 从新生成gurb.cfg文件。有兴趣的话可以备份之前的gurb.cfg文件,比较一下新旧的区别。

————————————————
版权声明:本文为CSDN博主「jl121512723」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jl121512723/article/details/53905566

menuentry ' win7' {
	set root =(hd0,1)
	chainloader + 1
}
menuentry ' win8' {
	set root =(hd0,1)
	chainloader + 1
}
posted @ 2022-05-31 20:48  MatroLeox  阅读(124)  评论(0编辑  收藏  举报