【求解读】深度引导win的启动项
Tofloor
poster avatar
i8520
deepin
2019-10-23 04:35
Author
本帖最后由 i8520 于 2019-10-22 20:39 编辑

每行是什么意思
尤其是 DA18-EBFA 是什么意思
  1. ### BEGIN /etc/grub.d/30_os-prober ###
  2. menuentry 'Windows Boot Manager (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-efi-DA18-EBFA' {
  3.         insmod part_gpt
  4.         insmod fat
  5.         set root='hd0,gpt1'
  6.         if [ x$feature_platform_search_hint = xy ]; then
            else
  7.           search --no-floppy --fs-uuid --set=root DA18-EBFA
  8.         fi
  9.         chainloader /EFI/Microsoft/Boot/bootmgfw.efi
  10. }
  11. ### END /etc/grub.d/30_os-prober ###
Copy the Code
这一堆代码能不能简写,如果可以怎么写

Reply Favorite View the author
All Replies
avatar
Feng Yu
deepin
2019-10-23 04:47
#1
磁盘的UUID而已。通常来说你不必去改这些东西,都是操作系统默认给你生成好的,不建议瞎改。

grub2的配置文件存放于/boot/grub/grub.cfg,grub2的配置文件较为繁琐,有兴趣的话可以去看看grub2的官方文档了解每个指令的含义。

为了简化grub2的配置,Debian使用一个命令update-grub来生成/boot/grub/grub.cfg文件(实际底层调用的是grub-mkconfig),也就是说就算你手动改了/boot/grub/grub.cfg文件也没什么用,只要操作系统执行一次update-grub就会被还原。这个命令使用的环境变量配置存放于/etc/default/grub,以及使用的相关脚本存放于/etc/grub.d/ ,你看到的那一堆东西实际是update-grub命令帮助你生成/boot/grub/grub.cfg文件的。

如果你有自定义新的启动项的需求,可以单独加个/etc/grub.d/的snippet,然后使用update-grub生成
Reply View the author
avatar
i8520
deepin
2019-10-23 04:55
#2
https://bbs.deepin.org/post/184117
磁盘的UUID而已。通常来说你不必去改这些东西,都是操作系统默认给你生成好的,不建议瞎改。

grub2的配置 ...

怎么简写,我要直接写到efi(eps)分区    /EFI/deepin/grub.cfg  这里



Reply View the author
avatar
Feng Yu
deepin
2019-10-23 05:05
#3
https://bbs.deepin.org/post/184117
怎么简写,我要直接写到efi(eps)分区    /EFI/deepin/grub.cfg  这里

干嘛多此一举,不需要啊。grub在安装的时候已经判断了EFI,这个配置没什么毛病啊,不明白你的需求
Reply View the author
avatar
走钢丝
deepin
2019-10-23 05:07
#4
本帖最后由 lidanger 于 2019-10-22 21:09 编辑

应该是这样吧,标题那一行的参数不清楚。这些东西应该在 grub2 的文档中可以找到。https://www.gnu.org/software/grub/manual/grub/

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows Boot Manager (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-efi-DA18-EBFA' {   # 标题
        insmod part_gpt                                                                                                                                                                                 # 加载 gpt 分区表驱动模块
        insmod fat                                                                                                                                                                                          # 加载 fat 文件系统驱动模块
        set root='hd0,gpt1'                                                                                                                                                                            # 预定义根路径所在分区
        if [ x$feature_platform_search_hint = xy ]; then                                                                                                                                 # 动态查找有效根路径分区           search --no-floppy --fs-uuid --set=root DA18-EBFA
        fi
        chainloader /EFI/Microsoft/Boot/bootmgfw.efi                                                                                                                                 # 直接调用根路径下引导文件
}
### END /etc/grub.d/30_os-prober ###
Reply View the author
avatar
i8520
deepin
2019-10-23 05:13
#5
https://bbs.deepin.org/post/184117
干嘛多此一举,不需要啊。grub在安装的时候已经判断了EFI,这个配置没什么毛病啊,不明白你的需求 ...

我要备份起来以后直接弄到EPS分区,和系统配置没什么关系
先安装深度系统在安装win就不会自动添加win启动项
Reply View the author
avatar
i8520
deepin
2019-10-23 05:18
#6
https://bbs.deepin.org/post/184117
应该是这样吧,标题那一行的参数不清楚。这些东西应该在 grub2 的文档中可以找到。https://www.gnu.org/sof ...

谢了,这个看着就明白了
Reply View the author
avatar
Feng Yu
deepin
2019-10-23 05:28
#7
https://bbs.deepin.org/post/184117
我要备份起来以后直接弄到EPS分区,和系统配置没什么关系
先安装深度系统在安装win就不会自动添加win启动 ...

不用备份,这玩意备份啥啊?而且grub的配置文件也不是存放在ESP,只有EFI引导文件才是存放在ESP

如果你是UEFI安装,并且后安装了windows,那么在BIOS将Deepin的EFI引导优先级提前到windows的前面,然后启动就可以进入deepin,在终端下执行一次sudo update-grub就完事,/etc/grub.d/下本来就有个脚本会自动判断windows是否存在,然后生成这个对应的snippet,你无需担心
Reply View the author