无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 24364|回复: 55
打印 上一主题 下一主题

[已解决] 用grub4dos+ntboot不能启动存放在gpt分区中的原生VHD系统的替代方法

  [复制链接]
跳转到指定楼层
1#
发表于 2014-8-14 08:50:10 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 qj_tzy 于 2014-8-15 21:34 编辑

       经我试验,用grub4dos+ntboot按ntboot nt6=(hdx,y)/vhdos/win7.vhd或win8.vhdx方式,不能启动存放在gpt分区中的win7/win8原生VHD系统,会提示读取BCD出错。
      
       于是制作了boot_winnt6.ima包,在已知(hdx,y)/vhdos/win7.vhd或win8.vhdx的盘符(hdx,y)、所在目录/vhdos/、VHD文件名win7.vhd或win8.vhdx的情况下,用bootice生成的一个启动固定盘符、固定目录、固定VHD文件的BCD,手工替换了boot_winnt6.ima包内boot目录下的BCD,用grub4dos启动boot_winnt6.ima,就启动了存放在gpt分区中的vhd系统。但此法不具有灵活性。


       对任一(hdx,y)/vhdos/win7.vhd或win8.vhdx,须用grub4dos生成相应的bcd,在将boot_winnt6.ima包装入内存后,替换其boot目录下的BCD即可。但我不知如何进行,因我真的没读懂ntboot中是如何实现这一点的,若哪位网友能帮我写出一段这样的GRUB4DOS代码就好了。若如此,非常感谢!

解决办法:chenall 大在9楼发布的ntboot已成功解决这一问题,非常感谢C大!
2#
 楼主| 发表于 2014-8-14 22:26:53 | 显示全部楼层
chenall 发表于 2014-8-14 18:44
试试这个NTBOOT批处理.直接下载解压,替换NTBOOT根目录下的NTBOOT文件.

谢谢!我作了测试,反馈如下:

启动时,出现0xc000000e的出错代码,提示“引导配置数据存储中存在无效的对象”。

经我测试,以bios方式启动时,若用gpt分区的bootmgr读取bcd时,多次出错上述出错提示。
我还作了测试,若将上述vhd文件拷入mbr分区硬盘中,VHD文件内的bcd不作任何修改也启动正常。

另:您上传这个ntboot仅6KB, 而527104427 发布ntboot_2014.8.12的ntboot为19kb,这是否仅是精减功能?

点评

www.bxwx.la/b/0/1/ 极品修真强少  发表于 2014-9-4 15:15
c大发布的是官方权威版本。 本人发布的是diy作品,会引进一些错误,严格来说,仅限本人使用。  详情 回复 发表于 2014-8-14 23:09
回复

使用道具 举报

3#
 楼主| 发表于 2014-8-15 09:16:39 | 显示全部楼层
chenall 发表于 2014-8-15 09:06
再试试这个,看行不行,

我没有GPT分区,没有办法测试.

谢谢,我在办公室无测试条件,待回家测试后反馈!
回复

使用道具 举报

4#
 楼主| 发表于 2014-8-15 13:17:34 | 显示全部楼层
chenall 发表于 2014-8-15 09:06
再试试这个,看行不行,

我没有GPT分区,没有办法测试.

我已回家作了测试,问题仍然与3楼相同。

按理说,ntboot将(hdx,y)/dir/nt6.vhd这一信息,在内存中生成bcd,再用ntboot中自带的bootmgr调用之,应该能正常启动,因没用vhd中的bootmgr来读取vhd中boot目录下的bcd。但一旦将vhd文件存放在gpt分区中启动就出错,而将之拷到mbr硬盘中,其内的bcd不作修改就能正常启动。我真没明白是怎么回事。
回复

使用道具 举报

5#
 楼主| 发表于 2014-8-15 21:19:27 | 显示全部楼层
chenall 发表于 2014-8-15 15:18
再来一个,还不行的话,只能等我抽空搭建坏境测试了.

我只有测试了在QEMU中测试启动GPT分区中的WIM文件成 ...

我也测试了,已用您在9楼的ntboot成功启动了存放在gpt分区的vhd系统,非常感谢!
回复

使用道具 举报

6#
 楼主| 发表于 2014-8-15 23:03:14 | 显示全部楼层
本帖最后由 qj_tzy 于 2014-8-15 23:04 编辑
chenall 发表于 2014-8-15 15:18
再来一个,还不行的话,只能等我抽空搭建坏境测试了.

我只有测试了在QEMU中测试启动GPT分区中的WIM文件成 ...


再次反馈:

1.用9楼的ntboot用ntboot nt6=(hdx,y)方式,成功启动了安装在gpt分区中的win7_x32、win7_x64及win8_x64系统。
2. 用ntboot vboot=(hdx,y)/winxp.vhd方式,成功启动了存放在gpt分区中的winxp.vhd系统。
3. 用ntboot nt5=(hdx,y)方式,启动了安装在(hd0,6)分区中的winxp系统,但过了滚动条后,不能进入系统桌面。而用xorboot搜索存放在esp分区中根目录下的ntldr(含boot.ini等文件)成功启动(hd0,6)分区中的winxp系统。

点评

启动XP系统,不能进入桌面,具体是到哪一步? 这个改动并没有针对NT5进行任何的修正.只是针对NT6.  详情 回复 发表于 2014-8-16 08:18
回复

使用道具 举报

7#
 楼主| 发表于 2014-8-16 09:07:54 | 显示全部楼层
chenall 发表于 2014-8-16 08:18
启动XP系统,不能进入桌面,具体是到哪一步?

这个改动并没有针对NT5进行任何的修正.只是针对NT6.

卡在带"windows XP"字样和徽标的界面,而始终不出现“欢迎使用”的界面。
回复

使用道具 举报

8#
 楼主| 发表于 2014-8-16 09:34:53 | 显示全部楼层
chenall 发表于 2014-8-16 08:18
启动XP系统,不能进入桌面,具体是到哪一步?

这个改动并没有针对NT5进行任何的修正.只是针对NT6.

先说一声不好意思!

今天,我用xorboot搜索存放在esp分区中根目录下的ntldr,也出现同样的问题,才想起为安装win7_x32,已把winxp克隆到了另一gpt分区了,而未进行注册表盘符清理,所以出现了这样的问题。
我作了注册表盘符清理后,用ntboot nt5=(hdx,y)方式,成功启动了安装在gpt分区中的winxp系统了。

再次表示感谢!
回复

使用道具 举报

9#
 楼主| 发表于 2014-8-17 09:36:21 | 显示全部楼层
wanghh 发表于 2014-8-17 09:02
原来是这样的
!BAT
debug off

您公布的这个是chenall在 2013-07-22发布的ntboot的源代码吗,还请作个说明,谢谢!
回复

使用道具 举报

10#
 楼主| 发表于 2014-8-24 13:24:13 | 显示全部楼层
本帖最后由 qj_tzy 于 2014-8-24 13:36 编辑
chenall 发表于 2014-8-15 15:18
再来一个,还不行的话,只能等我抽空搭建坏境测试了.

我只有测试了在QEMU中测试启动GPT分区中的WIM文件成 ...


反馈一个BUG:

您在9楼发布的ntboot,用ntboot nt6=(hdx,y)/win8.1.vhd启动正常,而用ntboot nt6=(hdx,y)/win8.1.vhdx(存放在非gpt分区)不能启动,即似不支持vhdx的启动。若将ntboot改回527104427 发布的2014-8-12版,用ntboot nt6=(hdx,y)/win8.1.vhdx(存放在非gpt分区)启动正常。但后者不支持启动gpt分区的系统及其vhd系统。若如此,希望能修正。谢谢!

点评

不能启动具体是有什么错误?  详情 回复 发表于 2014-8-24 16:21
回复

使用道具 举报

11#
 楼主| 发表于 2014-8-24 19:02:49 | 显示全部楼层
chenall 发表于 2014-8-24 16:21
不能启动具体是有什么错误?

20#的出错提示是:

NTBOOT by Chenall 2014-08-15,http://chenall.net/
checking File (hd1,1)/vhdos/win8.1.vhdx

点评

我明天再抽空看一下。  详情 回复 发表于 2014-8-24 20:13
回复

使用道具 举报

12#
 楼主| 发表于 2014-8-24 19:03:24 | 显示全部楼层
2011902 发表于 2014-8-24 18:06
根本就不是问题,C神的NTBOOT只支持到VHD,五大接手更新NTBOOT才支持VHDX。
前两天C神应楼主的要求让NTBOOT ...

谢谢指点,这个我不清楚!
回复

使用道具 举报

13#
 楼主| 发表于 2014-8-29 07:57:41 | 显示全部楼层
chenall 发表于 2014-8-24 22:59
试一下这个.

修改内容.支持vhdx

不好意思,好几天没注意,您已经在此贴对ntboot进行了新修改,我下载进行了测试,已完全支持vhdx系统,同时支持gpt分区系统的启动,非常感谢! 只不过启动win7时的“正在启动windows"的提示更改为英文了。

点评

因为NTBOOT没有附带中文字体库(字体库太大了),只是为了一个启动提示,我觉得琐有必要.  发表于 2014-8-29 08:25
回复

使用道具 举报

14#
 楼主| 发表于 2014-8-30 23:59:16 | 显示全部楼层
本帖最后由 qj_tzy 于 2014-8-31 09:15 编辑
chenall 发表于 2014-8-24 22:59
试一下这个.

修改内容.支持vhdx


反馈一下,不知这是否是该版ntboot的bug:

用map交换硬盘后,用chainloader +1能启动mbr分区格式第二硬盘上的系统,
但用ntboot(因必须用它)却不能启动gpt分区格式第二硬盘上的系统。

具体情况如下,在bios中选择mbr分区硬盘为启动盘,gpt分区硬盘为第二硬盘,启动gpt分区硬盘上的(hd1,x)分区的nt6系统:
map (hd1) (hd0)
map (hd0) (hd1)
map --hook
find --set-root --devices=h /boot/ntboot/ntboot
/boot/ntboot/ntboot nt6=(hd0,x)
boot


回复

使用道具 举报

15#
 楼主| 发表于 2014-8-31 21:52:42 | 显示全部楼层
本帖最后由 qj_tzy 于 2014-9-1 08:09 编辑
chenall 发表于 2014-8-24 22:59
试一下这个.

修改内容.支持vhdx


紧急求救:

用您在27楼发布的ntboot启动win7_x32/win8_x64及其存放在gpt分区中的vhd/vhdx系统,原来一切正常。今晚不知是何原因,未重装系统,用bootice查看gpt分区一切正常,但启动gpt分区中的win7_x32/win8_x64及其存放在gpt分区中的vhd/vhdx系统这四者中的任一者,均不能启动,均出现0xc000000e的错误提示,具体见下,在网上搜索未找到解决办法,诚请chenall等大师指点,该如何解决,谢谢!

1.启动gpt分区的win7_x32/win8_x64系统,错误提示为0xc000000e,A required device isn't connected or can't be accessed.
2.启动存放在gpt分区的原生vhd系统,错误提示为0xc000000e,There is an invalid object in the boot configuration data store.

点评

不使用NTBOOT能启动不? 还你有启动之前有没有什么写盘的操作? 另外BOOTICE查看GPT分区,BOOTICE是没有管分区校验的,用系统的磁盘管理工具看一下.  详情 回复 发表于 2014-9-1 08:39
回复

使用道具 举报

16#
 楼主| 发表于 2014-9-1 10:22:26 | 显示全部楼层
chenall 发表于 2014-9-1 08:39
不使用NTBOOT能启动不?

还你有启动之前有没有什么写盘的操作?

1.启动gpt分区的nt6系统及其vhd系统,必须使用经您修改的ntboot。在您修改ntboot前,用chainloader +1 或使用ntboot nt6=(hdx,y),或ntboot nt6=(hdx,y)/nt6.vhd是不能启动的。经我测试,用chainloader /ntldr 能启动该硬盘gpt分区的nt5.x,用ntboot vboot=(hdx,y))/nt5.vhd能启动存放在gpt分区的nt5.x的VHD系统。

2.我在启动以上系统之前,有写盘操作,就是用unhide (hdx,y)命令显现当前要启动的系统所在分区,用hide (hdx,y)命令隐藏其他windows系统所在的分区。

3.另:今天早上,我在一台gpt分区的单硬盘电脑上,使用您发布的grub4dos 4.6a 2014-8-31启动时,出现“Begin PXE Scan...”的提示,足足等了近10分仲,都没能进入grub4dos菜单界面。用U盘启动换为grub4dos 4.5c 2014-8-22版的grldr后,无此提示,很快就进入了grub4dos菜单界面。现请教,使用grub4dos 4.6a 2014-8-31时,如何关闭PXE Scan。谢谢!
回复

使用道具 举报

17#
 楼主| 发表于 2014-9-1 11:40:19 | 显示全部楼层
chenall 发表于 2014-9-1 10:58
2.有写盘操作,有可能会导致数据错误,一般情况下不建议每次开机都进行写盘操作,特别是GPT分区,修改一下,就需 ...

用U盘启动进入win7_pe的磁盘管理功能,查看一切正常,能读取各GPT分区中的数据。用bootice隐藏/显现操作也正常。
回复

使用道具 举报

18#
 楼主| 发表于 2014-9-1 12:31:05 | 显示全部楼层
chenall 发表于 2014-9-1 12:09
你GRUB4DOS换成0.4.5C版的试试.

谢谢!待我晚上回家替换为GRUB4DOS0.4.5C测试后反馈。
回复

使用道具 举报

19#
 楼主| 发表于 2014-9-1 22:18:40 | 显示全部楼层
chenall 发表于 2014-9-1 12:09
你GRUB4DOS换成0.4.5C版的试试.

用grub4dos 0.45C-2014-8-22测试,出现与32楼相同的问题,且是同时出现的,又没对GPT分区硬盘重新分过区,不知是何原因。
回复

使用道具 举报

20#
 楼主| 发表于 2014-9-1 23:55:27 | 显示全部楼层
chenall 发表于 2014-9-1 22:43
你是用9楼的还是31楼的NTBOOT?

如果之前是正常的,更新之后出错,你可以先试试9楼的,如果用9楼的正常,那也 ...

我猜与两处更新的ntboot及2014-8-22、8-31分别更新grub4dos 0.45c、0.46a均无关系,因是同时出现不能启动的问题,于是我想应该与gpt分区有误有关,我就用DiskGenius检查分区表又无错误,就用DiskGenius“搜索已丢失分区”(分区实际未丢失)功能搜索保存分区后,问题得到解决,所有的安装在gpt分区中的win7/win8及存放在gpt分区中的win7/win8的VHD系统,都能启动了。

但此法有丢失数据的危险性,不知有更简单、更安全的方法没有?
回复

使用道具 举报

21#
 楼主| 发表于 2014-9-24 11:58:09 | 显示全部楼层
本帖最后由 qj_tzy 于 2014-9-24 11:59 编辑
chenall 发表于 2014-8-15 15:18
再来一个,还不行的话,只能等我抽空搭建坏境测试了.

我只有测试了在QEMU中测试启动GPT分区中的WIM文件成 ...


我用您发布的最新版ntboot,按ntboot nt6=(hdx,y)可以启动安装在gpt分区的win7/win8,但按相同方法启动安装在gpt分区的winvista_x32/win2008_x32,首次启动时均出现0xc000000f、A required device isn't connected or can't be accessed的出错提示。

若用grub4dos调用boot_winnt6.ima(内含win8的bootmgr、boot目录及BCD等相关文件,可以用之启动安装在gpt分区的win7/win8),启动安装在gpt分区的winvista_x32/win2008_x32,首次启动时均出现0xc000000e、An unexpected error has ccurred 的出错提示。

是否是因winvista_x32/win2008_x32该两个系统不带gpt分区的启动支持驱动造成的,还是其他原因,非常希望能得到您的指点,谢谢!
回复

使用道具 举报

22#
 楼主| 发表于 2016-8-24 09:32:22 | 显示全部楼层
crzwy 发表于 2016-8-23 21:49
不好意思,那个反对是我点的,不是我要反对,我一不小心点到了,真对不起大神

自己回复一下
winvista_x32/win2008_x32该两个VHD系统在gpt分区的启动问题已解决,
详见《我安装的bios+gpt、uefi+gpt双启模式多系统及菜单》
http://bbs.wuyou.net/forum.php?m ... &fromuid=349593
及《发布10个通用windows vhd(x)系统及部署方法》
http://bbs.wuyou.net/forum.php?m ... &fromuid=349593

点评

经过这段时间的折腾,我发现我正在走你过去的道路了!我目前U盘(USB SSD,本地磁盘模式)必须为GPT分区表,U盘是装有Win10、Ubuntu Kylin、Phoenix OS,为什么不用Deepin?Deepin改动了内核,直接从内核引导换电脑  详情 回复 发表于 2018-7-22 14:55
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-5 09:05

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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