无忧启动论坛

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

[求助] 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工具把它调连续后,仍如此。不知为何?




点评

你这个问题有两个出发点: 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引导它吗  详情 回复 发表于 1 小时前
回复

使用道具 举报

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

使用道具 举报

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

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

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-10-26 10:54

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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