无忧启动论坛

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

[求助] legacy+grub2以4种方式引导ventoy.vhd失败,求解

[复制链接]
跳转到指定楼层
1#
发表于 前天 11:24 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
grub2菜单如下:
menuentry "[bios] ventoy【esp分区原版vhd 方式1】"  --class=gnu-linux{
search --file --no-floppy --set=root /ventoy.vhd
map --mem --rt --type=hd  /ventoy.vhd
map --hook
chainloader +1
boot
}

menuentry "[bios] ventoy【esp分区原版vhd 方式2】"  --class=gnu-linux{
   search --file --no-floppy --set=root /boot/grub2/grub.cfg
   set grubpath=/boot/grub2/
    search --file --no-floppy --set=root /ventoy.vhd
    map --mem --rt --type=hd  /ventoy.vhd
    map --hook
    set root=(hd0,2)
    linux16 ${grubpath}memdisk
   initrd16 /grub/i386-pc/core.img
#因 ventoy.vhd中有/grub/i386-pc/core.img
  boot
}

menuentry "[bios] ventoy【esp分区原版vhd 方式3】"  --class=gnu-linux{
    search --file --no-floppy --set=root /ventoy.vhd
    map --mem --rt --type=hd  /ventoy.vhd
    map --hook
    set root=(hd0,2)
   ntldr /vtldr
   #vtldr用copy /b \grub\i386-pc\boot.img + \grub\i386-pc\core.img \vtldr生成,放入ventoy.vhd中
   boot
}

menuentry "[bios] ventoy【esp分区原版vhd 方式4】"  --class=gnu-linux{
   search --file --no-floppy --set=root /boot/grub2/grub.cfg  
   set grubpath=/boot/grub2/
   insmod loopback
    search --file --no-floppy --set=root /ventoy.vhd
    loopback loop /ventoy.vhd
    linux16 ${grubpath}memdisk
    initrd16 (loop)/grub/i386-pc/core.img
    #因 ventoy.vhd中有/grub/i386-pc/core.img
    boot
}

测试结果:方式1重启,方式2、方式3、方式4直接返回grub2菜单,把ventoy.vhd放在gpt分区硬盘的esp分区根目录,或放在mbr分区硬盘某分区根目录,均如此。

而以uefi+grub2以下命令行引导成功:
menuentry "[uefi] ventoy【esp分区原版vhd】"  --class=gnu-linux{
    search --file --no-floppy --set=root /ventoy.vhd
   map --mem --first --rt  /ventoy.vhd
   chainloader +1
}

请各位指导,以legacy+grub2如何能成功引导ventoy.vhd,诚谢!


2#
发表于 前天 11:31 | 只看该作者
你是跟grub2杠上了。用grub4dos启动ventoy.vhd也方便啊

点评

用grub4dos引导ventoy.vhd是成功的,我是想用legacy+grub2如何引导它  详情 回复 发表于 前天 12:31
回复

使用道具 举报

3#
发表于 前天 11:53 | 只看该作者
来看看其他大佬的解决思路
回复

使用道具 举报

4#
发表于 前天 12:02 | 只看该作者
看看,谢谢
回复

使用道具 举报

5#
发表于 前天 12:30 | 只看该作者
看看,学习下
回复

使用道具 举报

6#
 楼主| 发表于 前天 12:31 | 只看该作者
fh123456 发表于 2025-10-25 11:31
你是跟grub2杠上了。用grub4dos启动ventoy.vhd也方便啊

用grub4dos引导ventoy.vhd是成功的,我是想用legacy+grub2如何引导它
回复

使用道具 举报

7#
发表于 前天 14:30 | 只看该作者

GRUB2-LegacyBIOS找不到,暂时藉grub4dos跳转一下啦!


GRUB2:
grub4dos-grldr-vhldr

  1. menuentry "grub4dos-Legacy-vhldr-VT_VHD" --class=custom {
  2.     echo 'grub4dos'
  3.     search -n -s -f /vhldr
  4.     ntldr /vhldr
  5. }
复制代码


VHLDR:
pxe detect
configfile
default 0
timeout 0
hiddenmenu

title Ventoy VHD
find --set-root /0VHD/VT50.vhd
map --heads=2 --sectors-per-track=18 --mem /0VHD/VT50.vhd (hd3)
map --hook
chainloader (hd3)+1
rootnoverify (hd3)

title .......
find --set-root /vtldr
kernel /grub/i386-pc/core.img
boot

title find /menu.lst, /boot/grub/menu.lst, /grub/menu.lst
        errorcheck off
        configfile /boot/grub/menu.lst
        configfile /grub/menu.lst
        if "%@root%"=="(ud)" && calc *0x82A0=*0x82b9&0xff
        if "%@root:~1,1%"=="f" && find --set-root --devices=f /menu.lst && configfile /menu.lst
        find --set-root --ignore-floppies --ignore-cd /menu.lst && configfile /menu.lst
        find --set-root --ignore-floppies --ignore-cd /boot/grub/menu.lst && configfile /boot/grub/menu.lst
        find --set-root --ignore-floppies --ignore-cd /grub/menu.lst && configfile /grub/menu.lst
        configfile http://b.chenall.net/menu.lst
        errorcheck on
        commandline

title commandline
        commandline

title reboot
        reboot

title halt
        halt

点评

感谢指点,我在用grub2引导ventoy.vhd未实现之前,也是调用grub4deos来实现的。我我测试,这种方式在几个电脑上都没问题。而在我的一台6代cpu笔记本电脑上: 用uefi+grub4dos,或用legacy+grub4dos,或用uefi+grub2  详情 回复 发表于 前天 15:48
回复

使用道具 举报

8#
 楼主| 发表于 前天 15:48 | 只看该作者
chen463 发表于 2025-10-25 14:30
GRUB2-LegacyBIOS找不到,暂时藉grub4dos跳转一下啦!

GRUB2:

感谢指点,我在用grub2引导ventoy.vhd未实现之前,也是调用grub4deos来实现的。经我测试,这种方式在几个电脑上都没问题。而在我的一台6代cpu笔记本电脑上:
用uefi+grub4dos,或用legacy+grub4dos,或用uefi+grub2,在这台电脑上都引导ventoy.vhd正常。
但用legacy+grub2调用grub4dos如上引导,出现“VT"后死机。
我猜想可能是ventoy.vhd存放的空间不连续造成的,我用SmartDefrag工具把它调连续后,仍如此。不知为何?




点评

我发现调用grub4deos来实现的方式引导ventoy.vhd失败 我是这样做的:grub4dos引导的命令行是: find --set-root --devices=h /ventoy.vhd map (hd0) (hd) map /ventoy.vhd (hd0) map --hook chainloader (h  详情 回复 发表于 4 小时前
你这个问题有两个出发点: 1,如果你仅仅只要求如何在 grub2 环境下启动加载 ventoy.vhd,一个最简单的方法是加载 grubfm ,利用 grubfm 启动 ventoy.vhd。 2,如果你要解决如何在 grub2 环境下,书写语句来启  详情 回复 发表于 前天 18:06
回复

使用道具 举报

9#
发表于 前天 17:36 | 只看该作者
学习一下
回复

使用道具 举报

10#
发表于 前天 18:06 | 只看该作者
qj_tzy 发表于 2025-10-25 15:48
感谢指点,我在用grub2引导ventoy.vhd未实现之前,也是调用grub4deos来实现的。经我测试,这种方式在几个 ...

你这个问题有两个出发点:
1,如果你仅仅只要求如何在 grub2 环境下启动加载 ventoy.vhd,一个最简单的方法是加载 grubfm ,利用 grubfm 启动  ventoy.vhd。

2,如果你要解决如何在 grub2 环境下,书写语句来启动 ventoy.vhd,那可和大师们讨论。

点评

我下载的grubfm-en_US,用efi文件在uefi方式已测试成功,非常感谢。除efi文件外,还有loadfm和grubfm.iso,legacy方式用该2个文件之一用grub2或grub4dos引导它吗  详情 回复 发表于 昨天 09:30
回复

使用道具 举报

11#
发表于 前天 18:08 | 只看该作者
看看,学习下
回复

使用道具 举报

12#
 楼主| 发表于 昨天 09:30 | 只看该作者
2010XwX 发表于 2025-10-25 18:06
你这个问题有两个出发点:
1,如果你仅仅只要求如何在 grub2 环境下启动加载 ventoy.vhd,一个最简单的 ...

我下载的grubfm-en_US,用efi文件在uefi方式已测试成功,非常感谢。除efi文件外,还有loadfm和grubfm.iso,legacy方式用该2个文件之一用grub2或grub4dos引导它吗

点评

legacy方式下,grub2 或 grub4dos 都可以启动 grubfm.iso,然后利用 grubfm.iso 启动 ventoy.vhd。我没有 legacy方式下 grub2 环境,但在 grub4dos 启动 grubfm.iso,可以顺利启动 ventoy.vhd。  详情 回复 发表于 昨天 11:11
回复

使用道具 举报

13#
发表于 昨天 11:11 | 只看该作者
qj_tzy 发表于 2025-10-26 09:30
我下载的grubfm-en_US,用efi文件在uefi方式已测试成功,非常感谢。除efi文件外,还有loadfm和grubfm.iso ...

legacy方式下,grub2 或 grub4dos 都可以启动 grubfm.iso,然后利用 grubfm.iso 启动  ventoy.vhd。我没有 legacy方式下 grub2 环境,但在 grub4dos 环境下, 启动 grubfm.iso,可以顺利启动  ventoy.vhd。

点评

我也用grubfm引导ventoy.vhd成功,感谢指点!  详情 回复 发表于 昨天 11:30
回复

使用道具 举报

14#
 楼主| 发表于 昨天 11:30 | 只看该作者
2010XwX 发表于 2025-10-26 11:11
legacy方式下,grub2 或 grub4dos 都可以启动 grubfm.iso,然后利用 grubfm.iso 启动  ventoy.vhd。我没 ...

我也用grubfm引导ventoy.vhd成功,感谢指点!

点评

另外你也可以在网上搜一下5大的 SISO,在 legacy 方式下,grub2 或 grub4dos 都可以加载 SISO,利用它启动 ventoy.vhd。  详情 回复 发表于 昨天 11:52
回复

使用道具 举报

15#
发表于 昨天 11:52 | 只看该作者
本帖最后由 2010XwX 于 2025-10-26 11:56 编辑
qj_tzy 发表于 2025-10-26 11:30
我也用grubfm引导ventoy.vhd成功,感谢指点!

另外你也可以在网上搜一下5大的 SISO,在 legacy 方式下,grub2 或 grub4dos 都可以加载 SISO,利用它启动 ventoy.vhd。这样对于我们使用者来说,可以选择的方法多一些。

点评

1.我原已用grub4dos的bios+uefi引导ventoy.vhd成功。 2.我只在grub4dos中使用过SISO,但在grub2中不知如何使用SISO? 3.我在grub2中用run引导ventoy.vhd,未成功。  详情 回复 发表于 昨天 12:53
测试后回复,谢谢!  详情 回复 发表于 昨天 12:03
回复

使用道具 举报

16#
 楼主| 发表于 昨天 12:03 | 只看该作者
2010XwX 发表于 2025-10-26 11:52
另外你也可以在网上搜一下5大的 SISO,在 legacy 方式下,grub2 或 grub4dos 都可以加载 SISO,利用它启 ...

测试后回复,谢谢!
回复

使用道具 举报

17#
 楼主| 发表于 昨天 12:53 | 只看该作者
2010XwX 发表于 2025-10-26 11:52
另外你也可以在网上搜一下5大的 SISO,在 legacy 方式下,grub2 或 grub4dos 都可以加载 SISO,利用它启 ...

1.我原已用grub4dos的bios+uefi引导ventoy.vhd成功。
2.我只在grub4dos中使用过SISO,但在grub2中不知如何使用SISO?
3.我在grub2中用run引导ventoy.vhd,未成功。

点评

grub2 中你可以启动 grldr ,在 grldr 中,你编制一个加载 SISO 的内置菜单,这样你就可以使用 SISO 了。  详情 回复 发表于 昨天 15:17
回复

使用道具 举报

18#
发表于 昨天 13:08 | 只看该作者
学习一下,感谢!
回复

使用道具 举报

19#
发表于 昨天 13:59 | 只看该作者
进来学习的
回复

使用道具 举报

20#
发表于 昨天 15:17 | 只看该作者
qj_tzy 发表于 2025-10-26 12:53
1.我原已用grub4dos的bios+uefi引导ventoy.vhd成功。
2.我只在grub4dos中使用过SISO,但在grub2中不知如 ...

grub2 中你可以启动 grldr ,在 grldr 中,你编制一个加载 SISO 的内置菜单,这样你就可以使用 SISO 了。

点评

在grub4dos中,感觉不用SISO也可引导ventoy.vdh. 我是这样做的:grub4dos引导的命令行是: find --set-root --devices=h /ventoy.vhd map (hd0) (hd) map /ventoy.vhd (hd0) map --hook chainloader (hd0)+  详情 回复 发表于 昨天 15:42
回复

使用道具 举报

21#
 楼主| 发表于 昨天 15:42 | 只看该作者
2010XwX 发表于 2025-10-26 15:17
grub2 中你可以启动 grldr ,在 grldr 中,你编制一个加载 SISO 的内置菜单,这样你就可以使用 SISO 了。

在grub4dos中,感觉不用SISO也可引导ventoy.vdh.

我是这样做的:grub4dos引导的命令行是:
find --set-root --devices=h /ventoy.vhd
map (hd0) (hd)
map /ventoy.vhd  (hd0)
map --hook
chainloader (hd0)+1

把它保存到grven(grldr的变名)中,再如grub2如下引导就能引导ventoy.vhd:
ntldr /boot/g4d/grven

其实我是想找一个用grub2直接引导venoy.vhd的方法。
咨询某网友,他也说没找到这一方法。

点评

你这个似乎启动不了 ventoy.vhd。我这里再提供一个利用 5大 的 NTBOOT,在 grub4dos 中 启动 ventoy.vhd。 图1,是在 grub4dos 中,启动 NTBOOT menu 菜单,第23项:从 VHD 启动(VBOOT),最底部提示句表示它默认  详情 回复 发表于 3 小时前
回复

使用道具 举报

22#
发表于 4 小时前 | 只看该作者
qj_tzy 发表于 2025-10-25 15:48
感谢指点,我在用grub2引导ventoy.vhd未实现之前,也是调用grub4deos来实现的。经我测试,这种方式在几个 ...

我发现调用grub4deos来实现的方式引导ventoy.vhd失败


我是这样做的:grub4dos引导的命令行是:
find --set-root --devices=h /ventoy.vhd
map (hd0) (hd)
map /ventoy.vhd  (hd0)
map --hook
chainloader (hd0)+1

您是否[加载到内存]试试
map--mem /ventoy.vhd  (hd0)


点评

谢谢,测试了反馈  详情 回复 发表于 3 小时前
回复

使用道具 举报

23#
 楼主| 发表于 3 小时前 | 只看该作者
chen463 发表于 2025-10-27 08:44
我发现调用grub4deos来实现的方式引导ventoy.vhd失败

我是这样做的:grub4dos引导的命令行是:

谢谢,测试了反馈

点评

find --set-root --devices=h /ventoy.vhd map (hd0) (hd) map --mem /ventoy.vhd (hd0) map --hook chainloader (hd0)+1 经测试,将上述导入grven中,用grub2调用grven,出现“VT”后死机。 但用grub4dos引  详情 回复 发表于 半小时前
回复

使用道具 举报

24#
发表于 3 小时前 | 只看该作者
本帖最后由 2010XwX 于 2025-10-27 09:28 编辑
qj_tzy 发表于 2025-10-26 15:42
在grub4dos中,感觉不用SISO也可引导ventoy.vdh.

我是这样做的:grub4dos引导的命令行是:

你这个似乎启动不了 ventoy.vhd。我这里再提供一个利用 5大 的 NTBOOT,在 grub4dos 中 启动 ventoy.vhd。
图1,是在 grub4dos 中,启动 NTBOOT menu 菜单,第23项:从 VHD 启动(VBOOT),最底部提示句表示它默认自动搜索各分区 BOOT 目录内的 VBOOT.VHD。如果你的 ventoy.vhd 名字名为: VBOOT.VHD,且放在某分区 BOOT 目录内,它就可以自己加载启动。如果你的 ventoy.vhd 不是这样,你可以进入第23项,自己输入你的 ventoy.vhd 名字及放置位置,同样可以启动。图2显示,我的 ventoy.vhd 是 1.1.05 版:Ventoy1105.VHD,位置放在 PE 文件夹里。

NTBoot启动VHD1.jpg (201.49 KB, 下载次数: 0)

图1:NTBoot menu

图1:NTBoot menu

NTBoot启动VHD2.jpg (66.93 KB, 下载次数: 0)

图2:NTBoot menu 第23项

图2:NTBoot menu 第23项

点评

感谢,能否提供一个下载地址?  详情 回复 发表于 3 小时前
回复

使用道具 举报

25#
 楼主| 发表于 3 小时前 | 只看该作者
2010XwX 发表于 2025-10-27 09:26
你这个似乎启动不了 ventoy.vhd。我这里再提供一个利用 5大 的 NTBOOT,在 grub4dos 中 启动 ventoy.vhd ...

感谢,能否提供一个下载地址?

点评

https://www.123pan.com/s/NflRVv-Cm5Sh  详情 回复 发表于 2 小时前
回复

使用道具 举报

26#
发表于 2 小时前 | 只看该作者
本帖最后由 2010XwX 于 2025-10-27 10:03 编辑
qj_tzy 发表于 2025-10-27 09:30
感谢,能否提供一个下载地址?

下载:
https://www.123pan.com/s/NflRVv-Cm5Sh

具体讨论:
http://bbs.wuyou.net/forum.php?m ... 8089&fromuid=357299

点评

感谢,下载学习下,遇到问题时再请你指点!  详情 回复 发表于 1 小时前
回复

使用道具 举报

27#
 楼主| 发表于 1 小时前 | 只看该作者
2010XwX 发表于 2025-10-27 09:54
下载:
https://www.123pan.com/s/NflRVv-Cm5Sh

感谢,下载学习下,遇到问题时再请你指点!
回复

使用道具 举报

28#
 楼主| 发表于 半小时前 | 只看该作者
qj_tzy 发表于 2025-10-27 09:25
谢谢,测试了反馈

find --set-root --devices=h /ventoy.vhd
map (hd0) (hd)
map --mem /ventoy.vhd  (hd0)
map --hook
chainloader (hd0)+1
经测试,将上述导入grven中,用grub2调用grven,出现“VT”后死机。
但用grub4dos引导ventoy.vhd时,不加--mem执行正常。

回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-10-27 12:52

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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