简介
双系统使用Linux时默认开机启动Linux,但是我们可能并不想开机默认进入Linux,本篇介绍如何更改启动顺序,使其默认启动Windows或其他。测试系统debian 12
步骤
-
进入/boot/grub/目录
-
编辑grub.cfg文件
-
将默认启动项改为2
原本启动顺序为0,对应启动时grub图像是第一个,改成2表示默认启动Windows,按照需要可以要改成其他
具体实现
root@debian:~# cd /boot/grub/ # 进入grub目录
root@debian:/boot/grub# ll
total 2.4M
drwxr-xr-x 5 root root 4.0K Jun 12 17:38 .
drwxr-xr-x 3 root root 4.0K Jun 12 17:38 ..
drwxr-xr-x 2 root root 4.0K Jun 12 17:38 fonts
-rw------- 1 root root 5.7K Jun 12 17:38 grub.cfg # 需要更改的文件
-rw-r--r-- 1 root root 1.0K Jun 12 17:38 grubenv
drwxr-xr-x 2 root root 12K Jun 12 17:38 i386-pc
drwxr-xr-x 2 root root 4.0K Jun 12 17:38 locale
-rw-r--r-- 1 root root 2.3M Jun 12 17:38 unicode.pf2
root@debian:/boot/grub# vim grub.cfg # vim编辑grub.cfg文件,下面是grub.cfg文件前20行
1 #
2 # DO NOT EDIT THIS FILE
3 #
4 # It is automatically generated by grub-mkconfig using templates
5 # from /etc/grub.d and settings from /etc/default/grub
6 #
7
8 ### BEGIN /etc/grub.d/00_header ###
9 if [ -s $prefix/grubenv ]; then
10 set have_grubenv=true
11 load_env
12 fi
13 if [ "${next_entry}" ] ; then
14 set default="${next_entry}"
15 set next_entry=
16 save_env next_entry
17 set boot_once=true
18 else
19 set default="0" # 将此处的default="0"改成自己设置的启动项
# Debian双系统可以改成default="2" 表示默认启动Windows
# set default="2" # 将本行前面的 # 去掉将上放19行改为 # set default="0" 退出保存即可
20 fi
恢复原本grub
如果更改错误grub文件,或者想恢复原本grub可以运行 update-grub
root@debian:/boot/grub# rm -rf grub.cfg # 可以不必删除grub.cfg,此处只是想说明 update-grub可以恢复grub文件,即使他被删除了
root@debian:/boot/grub# ll
total 2.4M
drwxr-xr-x 5 root root 4.0K Jun 19 00:37 .
drwxr-xr-x 3 root root 4.0K Jun 12 17:38 ..
drwxr-xr-x 2 root root 4.0K Jun 12 17:38 fonts
-rw-r--r-- 1 root root 1.0K Jun 12 17:38 grubenv
drwxr-xr-x 2 root root 12K Jun 12 17:38 i386-pc
drwxr-xr-x 2 root root 4.0K Jun 12 17:38 locale
-rw-r--r-- 1 root root 2.3M Jun 12 17:38 unicode.pf2
root@debian:/boot/grub# update-grub # 用于生成一个/boot/grub/grub.cfg文件
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.1.0-9-amd64
Found initrd image: /boot/initrd.img-6.1.0-9-amd64
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
done
root@debian:/boot/grub# ll
total 2.4M
drwxr-xr-x 5 root root 4.0K Jun 19 00:37 .
drwxr-xr-x 3 root root 4.0K Jun 12 17:38 ..
drwxr-xr-x 2 root root 4.0K Jun 12 17:38 fonts
-rw------- 1 root root 5.6K Jun 19 00:37 grub.cfg # 文件已经生成
-rw-r--r-- 1 root root 1.0K Jun 12 17:38 grubenv
drwxr-xr-x 2 root root 12K Jun 12 17:38 i386-pc
drwxr-xr-x 2 root root 4.0K Jun 12 17:38 locale
-rw-r--r-- 1 root root 2.3M Jun 12 17:38 unicode.pf2
root@debian:/boot/grub#
建议
不要因为本篇就任意更改/boot/grub/目录下其他文件,经过我的测试update-grub能且仅能生成/boot/grub/grub.cfg文件,强烈建议不要在实体机上随意更改系统文件,除非你知道会有什么结果,不然很多时候不会该回去就要重装系统。想要练习的话在虚拟机里搞就好。