无忧启动论坛

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

[求助] 请问,vboot在gpt分区表的磁盘上,怎么运行?

[复制链接]
跳转到指定楼层
1#
发表于 2024-12-5 07:45:20 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
如题,我根据一篇教程,想试试xp VHD。
教程是这贴: http://wuyou.net/forum.php?mod=viewthread&tid=429824
不过,我用的是本论坛的64位原生中文版xp,wim格式的,641MB的。

按教程大差不差地做了后,发现,启动vboot的菜单是我先遇到的大问题。



启动vboot,遇到错误。
我在虚拟机里尝试,也遇到了一样的错误。

环境:
电脑硬盘分区表是gpt的,主板是华硕a55bm-e。
电脑主硬盘分区情况,如图,但图片是老图。
盛xp vhd的分区,是第十七分区(分区从一开始算的话)。

xp vhd在分区根下。
xp vhd内有一个分区,ntfs分区。
xp vhd有子vhd。在实验中,优先启动的是子vhd。

虚拟机的硬盘,一开始分区表是mbr的,带一个fat32分区与一个ntfs分区。
往它的mbr中安装xorboot,通过xorboot启动vboot。(先将xorboot的设置,存到了文件中。)
后来,在实体机的磁盘管理中挂载它,通过实体机中的DiskGenius,转换分区表为gpt格式。
读取xorboot的设置bin文件,先将它安装在虚拟机硬盘的第32扇区(仅引导扇区)与第33扇区,
后安装到第0与第33扇区。再从第0扇区读取,没问题。
(我不会用grub4dos,会点grub2. 安grub2相对麻烦。)



在虚拟机中的实验,错误如图。

从gpt分区表的硬盘,通过xorboot启动vboot的结果。
从gpt分区表的硬盘,通过xorboot启动xp vhd的结果。
从mbr分区表的硬盘,通过xorboot启动vboot(成功),再启动xp vhd的结果。
从mbr分区表的硬盘,通过xorboot启动xp vhd的结果。



测试的虚拟硬盘的文件目录与vboot的grub.cfg内容(部分)

物理硬盘上,前四个分区,分别是:100MB的FAT32的ESP分区、16MB的MSR分区、1MB的BBP(BIOS Boot Part)分区、60GB的NTFS分区。

打算放xp系统的,是第十七分区。
以前尝试过,把xp直接安在这个分区里。不行,ntldr不认这么靠后的分区。

另外,通过从传统方式启动的grub2.06,以chainloader加载vbootldr.mbr,可以启动vboot。
可以  以configfile启动vboot的grub.cfg,但vboot命令用不了。
加载(insmod)vbootcore,提示与协议有关。
所以,启动失败。

我看的弄xp vhd的原帖,里面说,在gpt分区表下。
不过分析原帖中,是以Windows7的(Bootmgr)BCD引导vboot,再启动xp vhd。

自己还查了,vboot的一些资料。
但情况是如此。

所以,求助。
感谢阅读到这里,感谢帮助!



2#
发表于 2024-12-5 09:12:00 | 只看该作者
本帖最后由 窄口牛 于 2024-12-5 09:14 编辑

vboot是不是就是第三方引导启动vhd里的NTLDR?看得我云里雾里的,nt6的bcd不能直接搞嘛?

点评

我目的,引导启动装有64位xp的vhd。所以,我看教程,按教程里用了vboot。另外,我在虚拟机里,进行了启动vboot的测试。  详情 回复 发表于 2024-12-5 19:48
回复

使用道具 举报

3#
发表于 2024-12-5 09:34:35 | 只看该作者
窄口牛 发表于 2024-12-5 09:12
vboot是不是就是第三方引导启动vhd里的NTLDR?看得我云里雾里的,nt6的bcd不能直接搞嘛?

nt6的bootmgr不能引导vhd内的实模式文件吧(?),nt5没winload

点评

32用的是nobcd,可以猜测是用的winload.exe读取boot.ini,64目前winload.efi可以启动,winload.exe还启动不了。  详情 回复 发表于 2024-12-5 10:22
回复

使用道具 举报

4#
发表于 2024-12-5 10:22:49 | 只看该作者
本帖最后由 窄口牛 于 2024-12-5 10:49 编辑

hzyry2046 发表于 2024-12-5 09:34
nt6的bootmgr不能引导vhd内的实模式文件吧(?),nt5没winload


32用的是nobcd,然后winload.exe(efi)启动的,读取的是Boot.ini;64目前winload.efi可以启动,winload.exe还启动不了。不过这些用于vhd的话都需要测试。
回复

使用道具 举报

5#
发表于 2024-12-5 13:07:08 | 只看该作者
本帖最后由 Anson4 于 2024-12-5 13:10 编辑

坛子里的WIT用的是SVBus和WinVBlockvBoot我一直搞不明白怎么用起来,虽然坛子里的相关帖子都看了好几遍。
听说vBoot支持动态VHD,期待本帖子有个好的答案,让我也学习一下。



回复

使用道具 举报

6#
发表于 2024-12-5 16:59:28 | 只看该作者
学习
回复

使用道具 举报

7#
 楼主| 发表于 2024-12-5 19:48:53 | 只看该作者
窄口牛 发表于 2024-12-5 09:12
vboot是不是就是第三方引导启动vhd里的NTLDR?看得我云里雾里的,nt6的bcd不能直接搞嘛?

我目的,引导启动装有64位xp的vhd。所以,我看教程,按教程里用了vboot。另外,我在虚拟机里,进行了启动vboot的测试。
回复

使用道具 举报

8#
发表于 2024-12-6 05:33:40 来自手机 | 只看该作者
你这虚拟机里应该问题不大,因为是legacy,就按他们教程就行。实机的话就用winload.efi就行了,更为简单。

点评

请问,如何引导vhd中64位xp的winload.efi ?  详情 回复 发表于 2024-12-6 19:34
回复

使用道具 举报

9#
发表于 2024-12-6 17:55:43 | 只看该作者
本帖最后由 Anson4 于 2024-12-6 17:56 编辑

1. 原贴中缺少用bcdedit.exe添加启动VHD XP菜单项的操作,比如vBoot帮助文档中的示例(在原系统桌面执行):
  1. bcdedit /create {D3DCE997-7447-41FC-9740-A8D20EE3BF55} /d "VBoot" /application BOOTSECTOR
  2. bcdedit /set {D3DCE997-7447-41FC-9740-A8D20EE3BF55} device partition=C:
  3. bcdedit /set {D3DCE997-7447-41FC-9740-A8D20EE3BF55} path \vbootldr.mbr
  4. bcdedit /displayorder {D3DCE997-7447-41FC-9740-A8D20EE3BF55} /addlast
  5. bcdedit /timeout 30
复制代码
2. 一楼说使用的是64位的XP,那么vBoot驱动也需要使用对应的64位版本,不知道楼主是否已经这么做了。
3. 编辑grub.cfg添加XP启动菜单项时,可以使用UUID,也可以使用磁盘分区的卷标,这两种我都测试过成功的。

点评

感谢。 1. 看你的代码,是加BCD条目,通过WBM(实模式?)引导C盘vbootldr.mbr。而我,通过xorboot与Grub2,也可以启动vboot,只是它们所在磁盘分区表是gpt时,vboot启动中会报错。(未验证mbr硬盘中Grub2-vboot启  详情 回复 发表于 2024-12-6 19:40
回复

使用道具 举报

10#
 楼主| 发表于 2024-12-6 19:34:57 | 只看该作者
窄口牛 发表于 2024-12-6 05:33
你这虚拟机里应该问题不大,因为是legacy,就按他们教程就行。实机的话就用winload.efi就行了,更为简单。

请问,如何引导vhd中64位xp的winload.efi ?
回复

使用道具 举报

11#
 楼主| 发表于 2024-12-6 19:40:39 | 只看该作者
Anson4 发表于 2024-12-6 17:55
1. 原贴中缺少用bcdedit.exe添加启动VHD XP菜单项的操作,比如vBoot帮助文档中的示例(在原系统桌面执行) ...

感谢。
1. 看你的代码,是加BCD条目,通过WBM(实模式?)引导C盘vbootldr.mbr。而我,通过xorboot与Grub2,也可以启动vboot,只是它们所在磁盘分区表是gpt时,vboot启动中会报错。(未验证mbr硬盘中Grub2-vboot启动)
2. 64位xp配64位vboot驱动,这个驱动是vbootsmp.sys吧?我是把vboot-x64-img/amd64/中的驱动,放到xp系统中的。
3. 这个我知道,在Grub2中,这么操作是能成功。但我看原教程中,在vboot中,以UUID引导vhd可以,以其他方式不行。

点评

我的建议是: 1. 既然是已有高版本的系统,那就直接用现成的WBM来引导,无需过多折腾。 2. 原帖未显示是UEFI引导还是LEGACY引导,我感觉是LEGACY。 3. 你现在的环境是UEFI引导还是LEGACY引导? UEFI的话vbootldr  详情 回复 发表于 2024-12-6 21:17
回复

使用道具 举报

12#
发表于 2024-12-6 21:17:45 | 只看该作者
音乐与电脑 发表于 2024-12-6 19:40
感谢。
1. 看你的代码,是加BCD条目,通过WBM(实模式?)引导C盘vbootldr.mbr。而我,通过xorboot与Gru ...

我的建议是:
1. 既然是已有高版本的系统,那就直接用现成的WBM来引导,无需过多折腾。
2. 原帖未显示是UEFI引导还是LEGACY引导,我感觉是LEGACY。
3. 你现在的环境是UEFI引导还是LEGACY引导?
UEFI的话vbootldr.mbr应该不适用吧。
4. 先把LEGACY+MBR+XPx86玩通了,再折腾XPx64。
我写的WIT,以VHD的方式安装XP时,有两种驱动可选:SVBus、WinVBlock,而vBoot一直没有玩通。
而昨天看了你的帖子之后,我又进行了尝试,不断地努力了两天,vBoot+LEGACY+MBR+XPx86已然成功。

点评

我现在,已有在gpt分区表硬盘上,以uefi方式引导的WBM。 不过我想,弄vhd xp 64位,传统方式或uefi方式都无所谓。 之前尝试的,都是在gpt硬盘上,以传统方式引导vboot,再启动mbr分区表的xp系统。 好像那贴的内容  详情 回复 发表于 2024-12-7 07:51
回复

使用道具 举报

13#
 楼主| 发表于 2024-12-7 07:51:40 | 只看该作者
本帖最后由 音乐与电脑 于 2024-12-7 07:56 编辑
Anson4 发表于 2024-12-6 21:17
我的建议是:
1. 既然是已有高版本的系统,那就直接用现成的WBM来引导,无需过多折腾。
2. 原帖未显示 ...

我现在,已有在gpt分区表硬盘上,以uefi方式引导的WBM。
不过我想,弄vhd xp 64位,传统方式或uefi方式都无所谓。
之前尝试的,都是在gpt硬盘上,以传统方式引导vboot,再启动mbr分区表的xp系统。
好像那贴的内容,表述的就是在gpt硬盘上,以传统方式 通过WBM 启动vboot。

那我先试一下32位xp vhd。
以硬盘安装的方法,通过ghost还原或wim解压安装32位xp,是不是xp进部署的流程,就算折腾vhd xp系统成功了?

原来WIT作者,大佬。
我觉得,那个弄xp vhd的教程贴,关键步骤有这么几个,只是我之前没折腾出最终效果,才没说:
创建vhd并分区 激活主分区 安装系统,下载vboot相关工具,将vbootsmp.sys拷进去,离线挂载xp的system注册表 并导入预先的注册表 再卸载注册表,将vboot文件放到相应位置(后来我又查资料,记得最少是,硬盘前四个分区,逻辑分区也可以,根目录,放vbootldr与___.mbr,与/vboot/grub/与/vboot/fonts/两个文件夹。),获取盛着vhd分区的UUID 并修改vboot的grub.cfg,修改引导内容 加入引导vboot的条目。
是这样吧?

点评

步骤就是这么个步骤,按部就班。创建VHD并分区激活,以及离线修改注册表并添加驱动文件等,都比较简单也不容易出错。 关键是在引导的处理上,不错的菜单项的添加可以用命令行,也可以送bootice或者WIT,出错的几  详情 回复 发表于 2024-12-7 11:43
回复

使用道具 举报

14#
发表于 2024-12-7 11:43:21 | 只看该作者
音乐与电脑 发表于 2024-12-7 07:51
我现在,已有在gpt分区表硬盘上,以uefi方式引导的WBM。
不过我想,弄vhd xp 64位,传统方式或uefi方式 ...

步骤就是这么个步骤,按部就班。创建VHD并分区激活,以及离线修改注册表并添加驱动文件等,都比较简单也不容易出错。

关键是在引导的处理上,不错的菜单项的添加可以用命令行,也可以送bootice或者WIT,出错的几率也不大。

下面说一说我在折腾的过程中(LEGACY启动)总结出来的经验,供你参考:
1. VHD的创建:目前所知道的是用系统自带的DiskPart.exe(这是命令行指令,图形界面的磁盘管理器应该没问题的,但是我没试过),或者用vBoot自带的vbootctl.exe创建的VHD,vBoot才能正确加载并引导。
我之前大意了,用PECMD创建VHD,vBoot启动过程中一直卡在VHD文件加载上,用QEMU-IMG创建的也是这个结果。
2. VHD内部分区时,分区表采用MBR,单分区,文件系统采用NTFS即可,其他文件系统未测试,也没必要。
3. VHD内的分区未激活时,vBoot加载VHD后,会自动转向PXE启动。
4. vBoot驱动已过期(未破解)时,会在系统启动阶段出现12F蓝屏重启,不断循环。
5. 64位的驱动文件vbootsmp.sys目前似乎没有出现过能用的破解版,昨晚的测试中出现了第4点描述的12F蓝屏。
6. vBoot启动VHD需要的文件极少,除了驱动文件和WBM之外,有下面几个就够了(32位XP):
├─vBoot
│  │  vboot
│  └─grub
│          grub.cfg
│          vbootcore.mod
├─  vbootldr
├─  vbootldr.mbr


点评

感谢分享与回复这么多  详情 回复 发表于 2024-12-7 23:39
回复

使用道具 举报

15#
 楼主| 发表于 2024-12-7 23:39:06 | 只看该作者
Anson4 发表于 2024-12-7 11:43
步骤就是这么个步骤,按部就班。创建VHD并分区激活,以及离线修改注册表并添加驱动文件等,都比较简单也 ...

感谢分享与回复这么多
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-1-15 22:49

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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