无忧启动论坛

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

[分享] grub2的自动菜单和多功启动(以cfg文件的方式仿造g4d的run/siso)

    [复制链接]
121#
发表于 2020-3-25 00:18:17 | 只看该作者
回复

使用道具 举报

122#
发表于 2020-5-24 21:27:09 | 只看该作者
谢谢楼主分享!!
回复

使用道具 举报

123#
发表于 2020-8-23 20:00:40 来自手机 | 只看该作者
赞一个 再赞一个
回复

使用道具 举报

124#
发表于 2021-2-24 20:43:51 | 只看该作者
谢谢大神分享。。。
回复

使用道具 举报

125#
发表于 2021-4-7 09:25:22 | 只看该作者
感谢分享!
回复

使用道具 举报

126#
发表于 2021-5-6 16:09:42 | 只看该作者
谢谢大神分享。。。

回复

使用道具 举报

127#
发表于 2021-6-28 12:12:23 | 只看该作者
vhdx有时候启动出错,是不是可以改为map方式启动,因为vhdx里面包含ESP分区或启动程序了(bootmgfw.efi)?

点评

我试过不论哪个方式都有可能出错,特别是win10的vhdx,grub2引导基本都出错. 后来在本论坛一贴提示说要用微软自身的引导 ( http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=425569&pid=4310864&fr  详情 回复 发表于 2021-6-28 13:30
回复

使用道具 举报

128#
 楼主| 发表于 2021-6-28 13:30:37 | 只看该作者
2011wolfsina 发表于 2021-6-28 12:12
vhdx有时候启动出错,是不是可以改为map方式启动,因为vhdx里面包含ESP分区或启动程序了(bootmgfw.efi)?

我试过不论哪个方式都有可能出错,特别是win10的vhdx,grub2引导基本都出错.
后来在本论坛一贴提示说要用微软自身的引导 ( http://bbs.wuyou.net/forum.php?m ... &fromuid=586362 )
于是我建立vhdx时都是先用winntsetup装入win10镜像(取消休眠和页面文件等),在某台电脑使用时,先建立差分,挂载差分,使用bcdboot建立微软自身引导来启动差分,等重启差分走完安装后再改用grub2引导,这样就不会出问题了。

点评

ntboot启vhdx报什么错误?  详情 回复 发表于 2021-6-28 13:34
回复

使用道具 举报

129#
发表于 2021-6-28 13:34:39 | 只看该作者
hilsonma 发表于 2021-6-28 13:30
我试过不论哪个方式都有可能出错,特别是win10的vhdx,grub2引导基本都出错.
后来在本论坛一贴提示说要 ...

ntboot启vhdx报什么错误?

点评

我碰到的是Windows无法更新计算机的启动配置。 这个应该只能用微软自身引导才能解决。 [attachimg]482437[/attachimg]  详情 回复 发表于 2021-6-28 14:09
回复

使用道具 举报

130#
 楼主| 发表于 2021-6-28 14:09:11 | 只看该作者
本帖最后由 hilsonma 于 2021-6-28 14:14 编辑
wintoflash 发表于 2021-6-28 13:34
ntboot启vhdx报什么错误?


我碰到的是Windows无法更新计算机的启动配置。
这个应该只能用微软自身引导才能解决。




还有就是上面我提到那个贴子中的,我也遇到过。



再有就是bcd错误,例如找不到winload.efi此类,其实winload.efi是存在的

以上种种自从我使用微软自身引导设置好后再改用grub2引导,就没有再遇到了。

点评

我的不是,最多还是类似这个错误: [attachimg]482447[/attachimg] 按两次或n此回车都不行。  详情 回复 发表于 2021-6-28 17:47
你还没完成安装,就用ntboot启动,那当然不行了。 在安装的阶段 Windows 是会向硬盘写bcd等引导文件的。 bios下,Windows 一般会直接向第一个硬盘 (0x80) 写文件。grub2 ntboot启动时,boomgr所在的硬盘是最后一个  详情 回复 发表于 2021-6-28 14:39
回复

使用道具 举报

131#
发表于 2021-6-28 14:39:29 | 只看该作者
hilsonma 发表于 2021-6-28 14:09
我碰到的是Windows无法更新计算机的启动配置。
这个应该只能用微软自身引导才能解决。

你还没完成安装,就用ntboot启动,那当然不行了。
在安装的阶段 Windows 是会向硬盘写bcd等引导文件的。
bios下,Windows 一般会直接向第一个硬盘 (0x80) 写文件。grub2 ntboot启动时,boomgr所在的硬盘是最后一个硬盘。一般情况下第一硬盘都可以写入,所以你感觉不出问题。
但是在uefi下,bootmgfw.efi是会记录自己的设备路径的。grub2 ntboot启动时,bootmgfw.efi位于虚拟磁盘上,系统启动后这个磁盘就不存在了,当然会报错。

点评

是的,现在我已经明白,谢谢。  详情 回复 发表于 2021-6-28 17:29
回复

使用道具 举报

132#
 楼主| 发表于 2021-6-28 17:29:04 | 只看该作者
本帖最后由 hilsonma 于 2021-6-28 17:36 编辑
wintoflash 发表于 2021-6-28 14:39
你还没完成安装,就用ntboot启动,那当然不行了。
在安装的阶段 Windows 是会向硬盘写bcd等引导文件的。 ...

是的,现在我已经明白,谢谢。

之前我用的win8还有朋友给我的win10都是不用走微软安装就可以直接grub2引导的,所以误导了我,以为释放了镜像就可以直接grub2引导,后来遇到很多引导不了的情况,最多的是无法安装在你的硬件配置上。后来才知道需要微软自身引导安装完成,而且mbr硬盘要bios引导,gpt硬盘要uefi引导,这样才能正确完成安装,然后才能改用第三方引导。
回复

使用道具 举报

133#
发表于 2021-6-28 17:47:10 | 只看该作者
hilsonma 发表于 2021-6-28 14:09
我碰到的是Windows无法更新计算机的启动配置。
这个应该只能用微软自身引导才能解决。

我的不是,最多还是类似这个错误:


按两次或n此回车都不行。

点评

这个我之前也遇过,但是我使用微软自身引导完成安装后再改用grub2引导就再也没有遇过。  详情 回复 发表于 2021-6-28 17:50
回复

使用道具 举报

134#
 楼主| 发表于 2021-6-28 17:50:36 | 只看该作者
2011wolfsina 发表于 2021-6-28 17:47
我的不是,最多还是类似这个错误:

这个我之前也遇过,但是我使用微软自身引导完成安装后再改用grub2引导就再也没有遇过。

点评

是vhdx文件有问题吗?但是我用GPT硬盘BCD引导和U盘GrubFMMultiArch.iso或GrubFMx64.efi引导都能正常进入Win8.1x64EIE.vhdx系统(用winsetup安装的Win8.1x64EIE精简版,里面有windows分区和esp分区)。 而且很奇怪  详情 回复 发表于 2021-6-28 18:17
回复

使用道具 举报

135#
发表于 2021-6-28 18:17:02 | 只看该作者
hilsonma 发表于 2021-6-28 17:50
这个我之前也遇过,但是我使用微软自身引导完成安装后再改用grub2引导就再也没有遇过。

是vhdx文件有问题吗?但是我用GPT硬盘BCD引导和U盘GrubFMMultiArch.iso或GrubFMx64.efi引导都能正常进入Win8.1x64EIE.vhdx系统(用winsetup安装的Win8.1x64EIE精简版,里面有windows分区和esp分区)。

而且很奇怪
UEFI→U盘ventoy引导→本贴生成的efi→正常列表,正常启动Win8.1x64EIE.vhdx

UEFI→U盘MBROSTool6.26分区引导→本贴生成的efi→能正常列表,但引导Win8.1x64EIE.vhdx出现上述错误

UEFI→U盘MBROSTool6.26分区引导→GrubFMx64.efi→能正常列表,正常启动Win8.1x64EIE.vhdx

MBROSTool6.26分区:建立一个空白fat32分区,把本贴生成的efi改名bootx64.efi放在/efi/boot/bootx64.efi,UEFI就能启动

MBROSTool6.26
http://bbs.wuyou.net/forum.php?m ... tra=page%3D1&page=1

GrubFMMultiArch.iso
https://gitee.com/a1ive/grub2-filemanager/attach_files/587149/download/grubfm_multiarch.iso


https://github.com/a1ive/grub2-filemanager/releases/download/v7.4.0/grubfm-zh_CN.7z

点评

我也不是很清楚,反正之前我是搞不定vhdx,经常出各种问题不得不放弃vhdx,改装实体盘 但实体盘也常遇到无法安装到你的硬盘配置上之类的问题 后来才知道mbr硬盘用bios引导, gpt硬盘用uefi引导,而且是微软自身的引  详情 回复 发表于 2021-6-28 18:32
回复

使用道具 举报

136#
 楼主| 发表于 2021-6-28 18:32:03 | 只看该作者
本帖最后由 hilsonma 于 2021-6-28 18:53 编辑
2011wolfsina 发表于 2021-6-28 18:17
是vhdx文件有问题吗?但是我用GPT硬盘BCD引导和U盘GrubFMMultiArch.iso或GrubFMx64.efi引导都能正常进入W ...

我也不是很清楚,反正之前我是搞不定vhdx,经常出各种问题不得不放弃vhdx,改装实体盘
但实体盘也常遇到无法安装到你的硬盘配置上之类的问题
后来才知道mbr硬盘用bios引导, gpt硬盘用uefi引导,而且是微软自身的引导
我之前多数用的SR的win8,没有那么讲究,所以不知道win10会这么严格。
现在一般是用飞天舞的win10ltsb,按上面要求走完安装后,再改用grub2引导就没有遇过问题。

我没有用ventoy和mbrostool,bios下我硬盘用wee+grldr,U盘用fbinst+grldr,uefi下全部用grub2

硬盘分区我用dg,扇区对齐我用pa,分区查看和引导调整我用bootice

我的意思是win10更较真,最好是在用了其他分区工具后,在分区信息确定不改了,再用微软自身引导走一次vhdx的安装,完成后再改用其他引导,而且改引导时不能改变分区信息。这样应该问题就少了。

你的win81也可以这样试试看。

点评

有个问题: 安装好Win8.1x64,是不是可以直接使用 bcdboot.exe Y:\windows /s Z: /f ALL /l zh-cn 不需要解压 imagex.exe /apply X:\sources\install.wim 2 Y:  详情 回复 发表于 2021-6-28 19:55
明白,也可能是winsetup安装时生成ESP的问题,我试试用微软自身引导走一次vhdx,谢谢大神耐心解答!  详情 回复 发表于 2021-6-28 19:41
回复

使用道具 举报

137#
发表于 2021-6-28 19:41:30 | 只看该作者
hilsonma 发表于 2021-6-28 18:32
我也不是很清楚,反正之前我是搞不定vhdx,经常出各种问题不得不放弃vhdx,改装实体盘
但实体盘也常遇到 ...

明白,也可能是winsetup安装时生成ESP的问题,我试试用微软自身引导走一次vhdx,谢谢大神耐心解答!
回复

使用道具 举报

138#
发表于 2021-6-28 19:55:55 | 只看该作者
hilsonma 发表于 2021-6-28 18:32
我也不是很清楚,反正之前我是搞不定vhdx,经常出各种问题不得不放弃vhdx,改装实体盘
但实体盘也常遇到 ...

有个问题:
安装好Win8.1x64,是不是可以直接使用
bcdboot.exe Y:\windows /s Z: /f ALL /l zh-cn
不需要解压
imagex.exe /apply X:\sources\install.wim 2 Y:

点评

不要用imagex 使用winntsetup,要点 优化调整,勾上 禁用系统休眠 禁用页面文件 这两个 我还勾了 禁用系统还原 禁用用帐户控制,后面两个视乎你的需要来决定是否勾。 如果你不使用差分,就可以直接使用 bcdboo  详情 回复 发表于 2021-6-28 22:38
vhd(x)的话,不用imagex命令解压,但是要双击vhdx文件,双击就相当于挂载它,会自动分配盘符,按照这个盘符来运行bcdboot建立引导。  详情 回复 发表于 2021-6-28 20:38
回复

使用道具 举报

139#
发表于 2021-6-28 20:38:23 | 只看该作者
2011wolfsina 发表于 2021-6-28 19:55
有个问题:
安装好Win8.1x64,是不是可以直接使用
bcdboot.exe Y:\windows /s Z: /f ALL /l zh-cn

vhd(x)的话,不用imagex命令解压,但是要双击vhdx文件,双击就相当于挂载它,会自动分配盘符,按照这个盘符来运行bcdboot建立引导。
回复

使用道具 举报

140#
 楼主| 发表于 2021-6-28 22:38:24 | 只看该作者
本帖最后由 hilsonma 于 2021-6-28 22:47 编辑
2011wolfsina 发表于 2021-6-28 19:55
有个问题:
安装好Win8.1x64,是不是可以直接使用
bcdboot.exe Y:\windows /s Z: /f ALL /l zh-cn

不要用imagex
使用winntsetup,要点 优化调整,勾上 禁用系统还原 禁用系统休眠 禁用页面文件 这三个
我还勾了 禁用用帐户控制,后面这个视乎你的需要来决定是否勾。

如果你不使用差分,winntsetup已经帮你建好引导了。也可以手工直接操作
bcdboot Y:windows /s z: /f uefi
或者
bcdboot Y:windows /s c: /f bios
前者适用uefi模式,如需要可事先备份原来的bootmgfw.efi和bcd
后者适用legacy模式,如需要可事先备份原来的bootmgr和bcd
Y 是你挂载vhdx的盘符,Z是GPT硬盘的ESP,C是MBR硬盘的激活的主分区
如果盘符不对需要作相应更改

如果你使用差分,需要先分离原vhdx,将其作为父vhdx,建立子vhdx (差分vhdx),再挂载子vhdx,然后再运行bcdboot建立微软自身引导。

已经建立子vhdx的父vhdx不能改名,不能挂载,总之不要再动它,否则子vhdx会出错。
一旦动了,原来的子vhdx就不能再用,需要重新建立子vhdx

点评

感觉与vhdx关系不大,启动wim也是出错。奇怪的是运行mentest.efi他显示的路径居然是\boot\memtest.efi.是不是ntboot.mod版本的问题,比较新版的grubFMx64能正常运行 vhdx的错误提示 [attachimg]482556[/attachim  详情 回复 发表于 2021-6-29 22:40
回复

使用道具 举报

141#
发表于 2021-6-29 22:40:34 | 只看该作者
hilsonma 发表于 2021-6-28 22:38
不要用imagex
使用winntsetup,要点 优化调整,勾上 禁用系统还原 禁用系统休眠 禁用页面文件 这三个
...

感觉与vhdx关系不大,启动wim也是出错。奇怪的是运行mentest.efi他显示的路径居然是\boot\memtest.efi.是不是ntboot.mod版本的问题,比较新版的grubFMx64能正常运行

vhdx的错误提示


wim的错误提示




点评

你用的 GRUB2 版本太低了。这个应该是刚弄出 ntboot 时候的版本。 你没有找对地方。vhdx是用 ntboot 启动的。 不行。vhd里面必须安装 SVBus 驱动才能识别虚拟盘。另外,vhdx 不能 map。  详情 回复 发表于 2021-6-30 09:45
我想起一个事情:下载包里的bootmgfw.efi是比较旧版本的,如果要启动的是比较新版本的win10,请使用新的bootmgfw.efi替换下载包里的bootmgfw.efi,之前有坛友反馈过后来是这样解决的。  详情 回复 发表于 2021-6-30 02:26
回复

使用道具 举报

142#
发表于 2021-6-29 22:57:52 | 只看该作者
查了下grubfm源代码,vhdx好像是用map启动的?

https://gitee.com/a1ive/grub2-fi ... /samples/grubfm.cfg


function menu_vhd_uefi_map
{
  vhd -d vhd0;
  vhd -p vhd0 "${grub_file}";
  map --mem --type=HD --disk vhd0;
  echo "[INF] Press any key to continue ...";
  getkey;
}


# vhd
  elif regexp '^[vV][hH][dD]$' "${name_ext}"; then
    if [ "$grub_platform" = "pc" ]; then
      menu_vhd_bios_vboot;
    elif [ "$grub_platform" = "efi" ]; then
      if [ "$grub_cpu" = "x86_64" ]; then
        menu_vhd_uefi_map;
      fi;
    fi;

点评

你的vhd是双分区的带ESP的,可以用map 我的都是单分区的不带ESP的,你做一个这样的试试看能不能用map引导,我没有试过,都是用ntboot的。  详情 回复 发表于 2021-6-30 02:29
回复

使用道具 举报

143#
 楼主| 发表于 2021-6-30 02:26:28 | 只看该作者
2011wolfsina 发表于 2021-6-29 22:40
感觉与vhdx关系不大,启动wim也是出错。奇怪的是运行mentest.efi他显示的路径居然是\boot\memtest.efi.是 ...

我想起一个事情:下载包里的bootmgfw.efi是比较旧版本的,如果要启动的是比较新版本的win10,请使用新的bootmgfw.efi替换下载包里的bootmgfw.efi,之前有坛友反馈过后来是这样解决的。

点评

我的是win8.1x64,更换过系统的bootmgfw.efi也是同样的错误。  详情 回复 发表于 2021-6-30 09:28
回复

使用道具 举报

144#
 楼主| 发表于 2021-6-30 02:29:18 | 只看该作者
2011wolfsina 发表于 2021-6-29 22:57
查了下grubfm源代码,vhdx好像是用map启动的?

https://gitee.com/a1ive/grub2-filemanager/blob/master ...

你的vhd是双分区的带ESP的,可以用map
我的都是单分区的不带ESP的,你做一个这样的试试看能不能用map引导,我没有试过,都是用ntboot的。
回复

使用道具 举报

145#
发表于 2021-6-30 09:28:44 | 只看该作者
hilsonma 发表于 2021-6-30 02:26
我想起一个事情:下载包里的bootmgfw.efi是比较旧版本的,如果要启动的是比较新版本的win10,请使用新的b ...

我的是win8.1x64,更换过系统的bootmgfw.efi也是同样的错误。

点评

可以把你的vhd文件用文叔叔发给我试试  详情 回复 发表于 2021-6-30 09:35
回复

使用道具 举报

146#
 楼主| 发表于 2021-6-30 09:35:39 | 只看该作者
2011wolfsina 发表于 2021-6-30 09:28
我的是win8.1x64,更换过系统的bootmgfw.efi也是同样的错误。

可以把你的vhd文件用文叔叔发给我试试

点评

文叔叔 https://ws28.cn/f/5ser59fukdk 取件码 2t3z5  详情 回复 发表于 2021-6-30 10:21
可能是MBROSTool6.26的启动配置对您的efi有影响,因为我用ventoy-uefi模式启动您的efi是可以正常启动vhdx的,MBROSTool的udm的不行。  详情 回复 发表于 2021-6-30 10:19
好的,稍等,感谢大神! 另外,如果map方式要怎样写,用iso的map $1这个不行。  详情 回复 发表于 2021-6-30 09:47
回复

使用道具 举报

147#
发表于 2021-6-30 09:45:25 | 只看该作者
2011wolfsina 发表于 2021-6-29 22:40
感觉与vhdx关系不大,启动wim也是出错。奇怪的是运行mentest.efi他显示的路径居然是\boot\memtest.efi.是 ...
但是我用GPT硬盘BCD引导和U盘GrubFMMultiArch.iso或GrubFMx64.efi引导都能正常进入Win8.1x64EIE.vhdx系统(用winsetup安装的Win8.1x64EIE精简版,里面有windows分区和esp分区)。

你用的 GRUB2 版本太低了。这个应该是刚弄出 ntboot 时候的版本。
查了下grubfm源代码,vhdx好像是用map启动的?

你没有找对地方。vhdx是用 ntboot 启动的。
你的vhd是双分区的带ESP的,可以用map
我的都是单分区的不带ESP的,你做一个这样的试试看能不能用map引导,我没有试过,都是用ntboot的。

不行。vhd里面必须安装 SVBus 驱动才能识别虚拟盘。另外,vhdx 不能 map。

点评

比较小白,谢谢解答!  详情 回复 发表于 2021-6-30 10:10
回复

使用道具 举报

148#
发表于 2021-6-30 09:47:07 | 只看该作者
hilsonma 发表于 2021-6-30 09:35
可以把你的vhd文件用文叔叔发给我试试

好的,稍等,感谢大神!

另外,如果map方式要怎样写,用iso的map $1这个不行。
回复

使用道具 举报

149#
发表于 2021-6-30 10:10:24 | 只看该作者
wintoflash 发表于 2021-6-30 09:45
你用的 GRUB2 版本太低了。这个应该是刚弄出 ntboot 时候的版本。

你没有找对地方。vhdx是用 ntboot ...

比较小白,谢谢解答!
回复

使用道具 举报

150#
发表于 2021-6-30 10:19:05 | 只看该作者
hilsonma 发表于 2021-6-30 09:35
可以把你的vhd文件用文叔叔发给我试试

可能是MBROSTool6.26的启动配置对您的efi有影响,因为我用ventoy-uefi模式启动您的efi是可以正常启动vhdx的,MBROSTool的udm的不行。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-23 02:44

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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