无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 7338|回复: 16
打印 上一主题 下一主题

[求助] GRUB2 如何启动 U 盘上的 Win10 启动文件

[复制链接]
跳转到指定楼层
#
发表于 2020-10-25 23:34:38 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
安装好优麒麟后,硬盘以GRUB2的形式启动,如下是启动硬盘上的 Windows 系统(相关段落):
  1. ### BEGIN /etc/grub.d/30_os-prober ###
  2. menuentry 'Windows Boot Manager (在 /dev/sda2)' --class windows --class os $menuentry_id_option 'osprober-efi-DAD3-AEBD' {
  3.         insmod part_gpt
  4.         insmod fat
  5.         set root='hd0,gpt2'
  6.         if [ x$feature_platform_search_hint = xy ]; then
  7.           search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  DAD3-AEBD
  8.         else
  9.           search --no-floppy --fs-uuid --set=root DAD3-AEBD
  10.         fi
  11.         chainloader /EFI/Microsoft/Boot/bootmgfw.efi
  12. }
  13. set timeout_style=menu
  14. if [ "${timeout}" = 0 ]; then
  15.   set timeout=10
  16. fi
  17. ### END /etc/grub.d/30_os-prober ###
复制代码

U 盘是优麒麟的安装 U 盘,U盘上也同时 COPY 有支持 Win10 的启动文件:

bootmgr
bootmgr.efi
<boot>
<efi>


请问:U盘 GRUB2 菜单该如何创建才可以启动U盘上的 bootmgr 或 bootmgr.efi ?
请问:U盘 GRUB2 菜单该如何创建才可以启动U盘上的 bootmgr 或 bootmgr.efi ?
请问:U盘 GRUB2 菜单该如何创建才可以启动U盘上的 bootmgr 或 bootmgr.efi ?



附上优麒麟的 U 盘启动菜单 U:\boot\grub\grub.cfg:
  1. set timeout=30

  2. loadfont unicode

  3. set menu_color_normal=white/black
  4. set menu_color_highlight=black/light-gray

  5. menuentry "Ubuntu Kylin" {
  6.         set gfxpayload=keep
  7.         linux        /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed locale=zh_CN keyboard-configuration/layoutcode?=cn maybe-ubiquity quiet splash ---
  8.         initrd        /casper/initrd
  9. }
  10. menuentry "Ubuntu Kylin (safe graphics)" {
  11.         set gfxpayload=keep
  12.         linux        /casper/vmlinuz nomodeset file=/cdrom/preseed/ubuntu.seed locale=zh_CN keyboard-configuration/layoutcode?=cn maybe-ubiquity quiet splash ---
  13.         initrd        /casper/initrd
  14. }
  15. menuentry "OEM install (for manufacturers)" {
  16.         set gfxpayload=keep
  17.         linux        /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed locale=zh_CN keyboard-configuration/layoutcode?=cn only-ubiquity oem-config/enable=true quiet splash ---
  18.         initrd        /casper/initrd
  19. }
  20. grub_platform
  21. if [ "$grub_platform" = "efi" ]; then
  22. menuentry 'Boot from next volume' {
  23.         exit
  24. }
  25. menuentry 'UEFI Firmware Settings' {
  26.         fwsetup
  27. }
  28. fi
复制代码


16#
发表于 2020-10-28 07:48:29 | 只看该作者
pe引导就是三个文件,设置bcd了。应该就没问题了吧。
l
回复

使用道具 举报

15#
发表于 2020-10-28 07:46:42 | 只看该作者
grub2直接启动不了它,只能启动win的引导文件,之后就交给win的引导了(回到了pe的引导,win10安装就是一个定制精简pe启动)。
  1.   menuentry "从优盘启动"  --class udisk{
  2.     search --file /efi/zkn/zkn.cfg --set=root
  3.     configfile /efi/zkn/zkn.cfg
  4.   }
  5. fi
  6. menuentry "启动windows 7"    --class win7{
  7.       search --file /64win7/bootmgfw.efi --set=root
  8.        chainloader /64win7/bootmgfw.efi
  9.   }
  10. menuentry "启动windows PE"    --class win10{
  11.       search --file /efi64/64w10.efi --set=root
  12.        chainloader /efi64/64w10.efi
  13.   }
  14. menuentry "启动Windows xp" --class winxp{
  15.               set root='(hd0,gpt4)'
  16.    ntldr /WINXP
  17. }
  18. menuentry "启动oc苹果系统菜单" --class macOS{

  19.       search --file /efi/OC/BOOTx64.efi --set=root
  20.      chainloader /efi/OC/BOOTx64.efi
  21. }

  22. menuentry "进入安卓测试菜单" --class android{
  23.     configfile /efi/zkn/zkn1.cfg
  24. }
  25. menuentry "启动深度 OS 菜单" --class deepin{
  26.    
  27.       configfile /efi/zkn/deepin.cfg
  28. }
  29. menuentry "启动 FYDEOS 菜单" --class deepin{
  30. #    search --file /EFI/fydeos/bootx64.efi --set=root
  31.       configfile /efi/zkn/fyde.cfg
  32. }
复制代码

评分

参与人数 1无忧币 +5 收起 理由
chishingchan + 5 赞一个!

查看全部评分

回复

使用道具 举报

14#
发表于 2020-10-28 06:02:44 来自手机 | 只看该作者
启动菜单界面按下c键进入命令行模式,lsmod看看core.img应该内置了很多模块吧?如果没有先插入ntldr模块,试试。这个模块主要用于启动以前xp时代的ntldr和bios启动时的bootmgr,Uefi不用这个模块。
回复

使用道具 举报

13#
发表于 2020-10-28 05:56:44 来自手机 | 只看该作者
既然能启动,说明加载了分区和文件系统模块,menuentry里可以仿照上面判断grub_platform变量的值是pc时,用ntldr /bootmgr启动,否则就是uefi启动用chianloader /bootmgr.efi
回复

使用道具 举报

12#
 楼主| 发表于 2020-10-27 22:46:13 | 只看该作者
my9823 发表于 2020-10-27 19:58
你的U盘有没有分区,还是只有一个分区?分区类型是什么?因为grub2是模块化的,用什么功能加载什么模块。

U 盘是新 U 盘,没有量产分区什么的!
2# 表述的很明白,优麒麟 ISO 写入 U 盘后是 FAT32 格式的,与 Windows 10 是相同的格式。
以这样的话,应该需要加载哪种模块?
回复

使用道具 举报

11#
发表于 2020-10-27 20:05:13 来自手机 | 只看该作者
首先插入必要模块,再用search -f -s /路径/文件确定文件位置(相当于grub4dos中的find --set-root),再确定是insmod ntldr;ntldr /boormgr还是chianloader  /路径/efi文件名。

IMG_20201027_195843.jpg (38.33 KB, 下载次数: 181)

IMG_20201027_195843.jpg

评分

参与人数 1无忧币 +5 收起 理由
chishingchan + 5 赞一个!

查看全部评分

回复

使用道具 举报

10#
发表于 2020-10-27 19:58:52 来自手机 | 只看该作者
本帖最后由 my9823 于 2020-10-27 20:00 编辑

你的U盘有没有分区,还是只有一个分区?分区类型是什么?因为grub2是模块化的,用什么功能加载什么模块。

点评

U 盘是新 U 盘,没有量产分区什么的! 2# 表述的很明白,优麒麟 ISO 写入 U 盘后是 FAT32 格式的,与 Windows 10 是相同的格式。 以这样的话,应该需要加载哪种模块?  详情 回复 发表于 2020-10-27 22:46
回复

使用道具 举报

9#
发表于 2020-10-27 19:45:38 来自手机 | 只看该作者
我想楼主是想把grub2安装到U盘上吧?在linux上用grub-install安装grub2为U盘的bootloader,在编辑菜单文件。看一楼才菜单,你的硬盘的gpt格式第一分区不会是efi分区吧,第二分区是windows?
回复

使用道具 举报

8#
发表于 2020-10-27 13:44:58 | 只看该作者
楼主的问题应该是如何使用grub2引导u盘上的win10原版安装镜像来进行win10安装。
这个问题wintoflash探索过,由于我没有这个需求没有过多关注,楼主可以找他分享的run / grubfm 来学习。
想要现成的解答可能需要耐心等待,而且不一定能等到。

点评

楼主说的应该是把iso解压到u盘上  详情 回复 发表于 2020-10-27 14:18
回复

使用道具 举报

7#
 楼主| 发表于 2020-10-26 22:36:19 | 只看该作者
我想要完整示例的,谁能帮忙解答?
回复

使用道具 举报

6#
发表于 2020-10-26 08:13:46 | 只看该作者
U盘上弄个独有定位文件,GRUB2查找这个文件分区里的bootmgr bootmgr.efi 启动
回复

使用道具 举报

5#
发表于 2020-10-26 06:04:44 来自手机 | 只看该作者
bios的话insmod加载ntldr模块和必须的文件系统支持模块后用ntldr /bootmgr;uefi用chinaloader加载efi试试。
回复

使用道具 举报

4#
发表于 2020-10-26 00:11:37 | 只看该作者
chishingchan 发表于 2020-10-25 23:55
我是提问,并没有分享。菜单源码 是提供给我解答的高手参考的。

哦!不好意思,
回复

使用道具 举报

3#
 楼主| 发表于 2020-10-25 23:55:29 | 只看该作者

我是提问,并没有分享。菜单源码 是提供给我解答的高手参考的。

点评

哦!不好意思,  详情 回复 发表于 2020-10-26 00:11
回复

使用道具 举报

2#
发表于 2020-10-25 23:48:38 | 只看该作者
本帖最后由 xhan 于 2020-10-26 00:12 编辑

学习学习

点评

我是提问,并没有分享。菜单源码 是提供给我解答的高手参考的。  详情 回复 发表于 2020-10-25 23:55
回复

使用道具 举报

1#
 楼主| 发表于 2020-10-25 23:39:56 | 只看该作者
我的意思其实是将 优麒麟 的系统 ISO 文件写到 U 盘后,再将 Win10 系统 ISO 文件内文件复制到 U 盘下,然后修改启动菜单,让 U 盘支持安装 优麒麟 的同时也支持安装 Win10 系统。
现在给这个 修改启动菜单 给难住了!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-29 12:13

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表