中易网

grub2启动顺序怎么把win放在最下面把Ubuntu放到最上面?

答案:1  悬赏:40  
解决时间 2021-01-13 08:01
  • 提问者网友:太高姿态
  • 2021-01-13 00:28
grub2启动顺序怎么把win放在最下面把Ubuntu放到最上面?
最佳答案
  • 二级知识专家网友:深街酒徒
  • 2021-01-13 00:34
你好!
grub2 引导菜单的配置文件,默认为 /boot/grub/grub.cfg

你打开这个文件看一下,查找一下Windows对应条目出现的位置。
说明:

grub.cfg 这个配置文件,是在执行grub更新命令的时候产生的
ubuntu下:
sudo update-grub
实际执行的是
grub-mkconfig  -o  /boot/grub/grub.cfg
grub.cfg文件的内容,就决定了你所发图片中,grub启动菜单的显示内容和方式。
而执行 sudo update-grub 生成 grub.cfg 的过程中,实际调用了 很多个脚本,每个脚本产生 grub.cfg 中的一个代码块(以BEGIN, END为界)。
这些被调用的grub脚本在目录 /etc/grub.d 目录下,脚本名以数字开头,数字的大小,决定了它们被执行的顺序,也就决定了它们在输出文件 /boot/grub/grub.cfg 中的位置。





如下图,是/boot/grub/grub.cfg文件的基本格式,每一对 BEGIN, END,对应一个脚本产生的代码块:

grub2中,/etc/grub.d/30_os-prober 是,探测其它分区,如果发现该分区存在操作系统,则生成引导条目的脚本。 Windows系统的引导条目通常出现在这里。
所以,你可以根据你系统上的grub.cfg文件的内容,判断为什么Windows的引导条目那么靠前。
顺便说一下,/etc/grub.d/40_custom 这个脚本是存放你自定义引导条目的地方,因为40这个数字较大,所以输出的内容出现在grub.cfg文件中比较靠后的地方。我用它存放一些grub没有自动探测到的系统,很方便!
grub2 引导条目的写法,第一眼看上去很复杂,但是,你只要按照 grub.cfg 中现成条目的格式,依葫芦画瓢,都能比较轻松地写出自己想要的新引导菜单。
最后,根据你的提问补充一下,grub2默认没有配置为记住上次所选条目,但你可以启用这个功能,只需要修改一下 grub 的另一个配置文件: /etc/default/grub
修改或添加下面的两个条目即可。# 是把该行注释掉,让其不生效。

#GRUB_DEFAULT=0
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
改后,如下图:



对grub的各个配置文件修改后,需要执行
sudo update-grub

才能产生新的 grub.cfg 引导菜单。

如果有什么不明白的,可以追问我。

追问非常感激!!已经搞好了
之前是这样然后我修改了30 os prober$sudo mv /etc/grub.d/30_os-prober /etc/grub.d/08_os-prober这条命令改成08 os然后出现了win7在最上面,然后我又逆向修改,然后可以了,多谢指点,虽然已经搞好了,但是还是感谢你了,让我明白点东西,想问下为什么下面有两个win选项人sda1 sda2,都能进去win系统??追答这个你要看grub.cfg里面对应的配置可能:1.磁盘上有多个win系统。2.系统的活动分区,和系统分区不在一起3.有UEFI ESP分区如果你需要我分析,可以贴出grub.cfg中那两条win引导条目的代码块。追问嗯我看看
我的排列是这样的cfg 30文件在这里
有点看不懂对了如果我要是自己编写grub引导界面,可以做成什么样子的要怎么做,通过grub.cfg文件吗追答
你发的这张照片,Win条目,没显示全啊?重新照一张吧,包含两个win条目。你如果要美化grub,可以搜索一下这个单词,grub的反向拼写——brug基于grub2的。我对美化grub没什么研究,最多加张图片当开机菜单背景。你如果对美化grub感兴趣,可以多搜索一下burg相关信息,还有开机引导动画——plymouth。追问嗯帮我看看谢谢了















这是所有的grub.cfg文件了不知道为什么会有两个win7启动条目嗯能回答我这么多问题真是谢谢了但是帮我看一下是怎么了追答

你可以使用磁盘工具查看你磁盘的分区情况
你的30_os-prober说明你两个分区(sda1,sda2)上有win7的引导代码被grub探测到了。要消除冗余,有两个方法:1. 治标: 直接以 root权限修改 grub.cfg 文件,删除任意一个 win7条目。2. 治本:从两个分区中二选一,清除分区引导扇区PBR.第一个方法在每次grub被更新后,需要你手动修改,但比较简单;第二个方法,稍显复杂,但一劳永逸。unity菜单搜索栏里输入 disk可以找到磁盘工具,使用方便,直观。最后补充:前面说的方法2无效。
数据宝贵,请不要随意处理分区表经过分析os-prober脚本,得出结论——分区根目录下存在bootmgr,是Win7系统被探测到的原因。解决冗余Win7条目的方法如下图:
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息