159 views
linux-报错信息

Centos7多系统修改默认启动项

文章目录

安装多系统后自己想修改默认启动项,可以参照下面的思路来做

GRUB
GRUB是多操作系统程序(GRand Unified Bootloader),可以支持多操作系统的引导
它是一个多重操作系统启动管理器,用来引导不同系统,如windows,liunx。
常见的引导程序包括LILO、GRUB、GRUB2,centos7 linux默认使用GRUB2引导程序

修改Centos7多系统启动顺序

  • 在/etc/default/grub 文件中可以看到
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved    #重点关注对象
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=ol_jgwgt1/root rd.lvm.lv=ol_jgwgt1/swap ifname=eno1:54:80:28:4b:4a:d2 rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

注:很多教程都是说把这个地方改成对应的0,1,2....,测试过之后行不通
思路是找到GRUB_DEFAULT这个变量从哪里来的
  • 在/etc/grub.d/00_header文件中可以看到
if [ "x${GRUB_DEFAULT}" = "x" ] ; then GRUB_DEFAULT=0 ; fi
if [ "x${GRUB_DEFAULT}" = "xsaved" ] ; then GRUB_DEFAULT='${saved_entry}' ; fi

上面需要的GRUB_DEFAULT变量在这里又有一次赋值,但是这里又引出另外一个变量saved_entry
下一步就是去找saved_entry这个变量
  • 在/boot/efi/EFI/redhat/grubenv文件中可以看到
# GRUB Environment Block
saved_entry=Oracle Linux Server (3.10.0-514.el7.x86_64 with Linux) 7.3
#######################################################################

看到没有,这里定义了变量saved_entry的具体值,而这个值在下图中可以看到,有一个样的,下面只要找到下图中三个选项对应的值就ok了

Linux启动

  • 在/boot/efi/EFI/redhat/grub.cfg文件中可以看到(里面内容太多,这里用命令查看)
cat /boot/efi/EFI/redhat/grub.cfg |grep menuentry
---------------------------------------------------
menuentry 'Oracle Linux Server (3.10.0-514.el7.x86_64 with Linux) 7.3' --class oracle --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-514.el7.x86_64-advanced-15f923cd-a68e-4ae0-ada3-4bb57ef54126' {

menuentry 'Oracle Linux Server (4.1.12-61.1.18.el7uek.x86_64 with Unbreakable Enterprise Kernel) 7.3' --class oracle --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-4.1.12-61.1.18.el7uek.x86_64-advanced-15f923cd-a68e-4ae0-ada3-4bb57ef54126' {

menuentry 'Oracle Linux Server (0-rescue-64baabbce60a45ea9892a0f075f85a7f with Linux) 7.3' --class oracle --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-64baabbce60a45ea9892a0f075f85a7f-advanced-15f923cd-a68e-4ae0-ada3-4bb57ef54126' {

上面三个menuentry后面跟的就是我们需要的参数,你想修改哪个为默认启动项,就将上面的值赋值给saved_entry
  • 最后重启系统就ok了