目录

Debian系统grub新增启动项

Debian系统grub新增启动项

参考链接

1. boot里面的grub.cfg

使用vim打开boot里面的grub.cfg

sudo vim /boot/grub/grub.cfg

这时候会看到文件最上方的提示

https://i-blog.csdnimg.cn/direct/a15df131188b472188b61ae0ee0211d1.png

2. 真正配置grub的文件

从刚才看到的文件提示中,注意到两个路径

  1. /etc/grub.d
  2. /etc/default/grub

打开这两个路径下的文件进行查看

/etc/grub.d

这个路径实际上还可以深入

cd /etc/grub.d ls -lh

https://i-blog.csdnimg.cn/direct/e9ff0d120e3e453b90d9df3a8aaf4f7d.png

可以看到存放了几个以数字开头的文件,这几个文件实际上在boot里面的grub.cfg都有提到,例如:

https://i-blog.csdnimg.cn/direct/75afdab69e684fac82cfcf4c8108b61f.png

根据提示就可以看出,40是留给客户自定义grub启动项的一个文件

/etc/default/grub

cd /etc/default
sudo vim grub

https://i-blog.csdnimg.cn/direct/474163e189104aeeb4ff9f8dfe016c6f.png

根据提示可以了解到,这是一个用于存放配置信息的文件,例如首选启动项、超时时间等等

3. 新建grub启动项

新建启动项实际上就是修改40_custom文件的内容

修改之前需要一个启动项模板

打开boot里面的grub.cfg,找一个menuentry作为模板

sudo cat /boot/grub/grub.cfg
menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-95d98d7d-a03f-4e65-96fb-56b89c9f5b7f' {
        load_video
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos1'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  95d98d7d-a03f-4e65-96fb-56b89c9f5b7f
        else
          search --no-floppy --fs-uuid --set=root 95d98d7d-a03f-4e65-96fb-56b89c9f5b7f
        fi
        echo    'Loading Linux 6.1.0-31-amd64 ...'
        linux   /boot/vmlinuz-6.1.0-31-amd64 root=UUID=95d98d7d-a03f-4e65-96fb-56b89c9f5b7f ro  quiet
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-6.1.0-31-amd64
}

之后将模板放在40_custom里面,添加模板后将启动项名称进行修改

sudo vim /etc/grub.d/40_custom

4. 更新启动项

输入命令

sudo update-grub

再次打开boot里的grub

sudo vim /boot/grub/grub.cfg

https://i-blog.csdnimg.cn/direct/6eaaee8bb4ed48fea5acee18bce1191d.png

可以看到我们的修改已经更新了

5. 重启检查是否有新的启动项

sudo init 6

https://i-blog.csdnimg.cn/direct/b22f3f0763324c509451e424caad4147.png

可以看到我们新加的启动项已经出现在选项中了