无忧启动论坛

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

给你的 XP 加个 Win8 VHD 启动

  [复制链接]
跳转到指定楼层
1#
发表于 2012-6-30 12:03:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
写这篇文章的目的, 是希望那些还在用XP的人们也能容易体验一下新系统, VHD方式启动尤其适合体验, 当你觉得不爽的时候,删除它只是删除一个文件而已。当然, 你完全把它当你的第二系统也无所谓,它比虚拟机可是流畅多了。

从XP启动VHD, 也不是很新鲜的事,目前流行的办法一是借助于Vboot工具 (需破解), 二是改变XP的启动方式, 从Bootmgr启动再引导传统的NTLDR, 从而使XP像Win7一样支持VHD启动。

不过令我不解的是, 使用第二个办法的人往往会加进一个Grub4Dos启动, 我不知道这样绕一圈的目的何在, 这也是今天我写本文的原因, 总要有点不同的新鲜的内容才会激发我懒惰的心。

下面就开始讲解需要的步骤, 本文虽然说的是Win8, 但同样适用于Win7 VHD。

第一步: 让你的XP从Bootmger 引导

这一步相当简单,只是简单的拷贝和几个命令行。将Win8的bootmger拷贝到XP的根目录, 用bootsect修改分区启动方式, 然后创建BCD文件。将下面的代码另存为批处理文件,把bootmger, bootsect.exe, bcdedit.exe 放在和批处理的同一目录, 再执行批处理即可。 你也可以下载附件,这样更简单。

VHD Tools.part1.rar (300 KB, 下载次数: 684) VHD Tools.part2.rar (173.7 KB, 下载次数: 622)


  1. @echo off
  2. copy bootmgr %systemdrive%\
  3. attrib %systemdrive%\bootmgr +s +h
  4. bootsect /nt60 %systemdrive% /force
  5. Bcdedit /createstore
  6. Bcdedit /create {bootmgr} /d "Boot Manager"
  7. Bcdedit /set {bootmgr} device boot
  8. bcdedit /set {bootmgr} locale zh-cn   
  9. bcdedit /create {ntldr} /d "Windows XP Professional"
  10. bcdedit /set {ntldr} path \ntldr
  11. bcdedit /set {ntldr} device partition=c:
  12. bcdedit /displayorder {ntldr} -addlast
  13. bcdedit /timeout 0
  14. :end
  15. echo.
  16. pause
复制代码


经过上面的处理, 你可以重启一下看看效果, 你完全感觉不出来有什么差别,但实际上启动方式已经改变。如果不加 bcdedit /timeout 0 或者将 "0" 改成 "30" 什么的, 你会看到启动管理器菜单。

第二步:创建VHD和挂载VHD

这步是最复杂的, 因为XP下很难, 尤其挂载VHD(虽然只需要一次)。

创建的办法有:使用微软的小工具 VCDTool,disk2vhd,Virtual PC, PE等等
挂载的办法有:小工具 Winmount, VHDmount, 或者索性安装Virtual PC的VHDmount驱动, PE等等。

办法很多, 但没有一个是容易的, 有时候还有兼容性问题导致挂载失败。 我期望哪位高人能提供一套高效的傻瓜式的, 在XP下能完美运行的创建挂载VHD的小工具。

关于上述工具的下载和使用,大家可以网上搜索下,我无法一一详解。我这儿只讲一下用得最多的相对来讲也比较容易的PE方式。

找一个Win7 PE 来启动, 展开到“磁盘管理”直至所有磁盘加载完成,右键点击磁盘管理, 点创建 VHD,容量建议在20-40G之间,创建VHD时间不短, 大概需要10-20分钟, 视机器而定。

现成的教程大家可以到 http://bbs.pcbeta.com/viewthread-982273-1-1.html 看看。

要点:创建VHD磁盘之后尚需要初始化再格式化, 方可使用。

之后将Win8 ISO解开, 提取 \Souces\install.wim 备用, 将install.wim 解开到 挂载的VHD盘, 可用 Imagex, Wimtool等工具, 允许我再偷懒一下, 再到上述提到的帖子中去参照下具体步骤。

第三步:将Win8 加入到启动菜单

终于又回到简单的步骤了, 我再次给大家编了个傻瓜式的批处理。


  1. @echo off
  2. echo.
  3. set/p vhdpath=请输入VHD路径 (例: E:\Win8.vhd)
  4. if not exist %vhdpath% echo.&echo 找不到文件&goto end
  5. for /f "tokens=3" %%i in ('Bcdedit /create /d "Windows 8" -application osloader') do set win8id=%%i
  6. echo.
  7. Bcdedit /set %win8id% osdevice vhd=[%vhdpath:~0,2%]%vhdpath:~2%
  8. Bcdedit /set %win8id% device vhd=[%vhdpath:~0,2%]%vhdpath:~2%
  9. Bcdedit /set %win8id% path \windows\system32\winload.exe
  10. Bcdedit /set %win8id% systemroot \windows
  11. Bcdedit/displayorder %win8id% -addlast
  12. bcdedit /timeout 15
  13. :end
  14. echo.
  15. pause
复制代码


重启即可看到Win8 菜单,安装过程中会再次重启, 安装时候要求的序列号可以选择跳过, 等安装完毕以后可以到控制面板再次输入序列号激活系统。

相关阅读 给你的 Win8 加个 DOS 启动

[ 本帖最后由 quya 于 2012-7-2 23:56 编辑 ]
2#
发表于 2012-7-2 21:43:21 | 只看该作者
学习了,谢谢分享。。。
回复

使用道具 举报

3#
 楼主| 发表于 2012-7-2 23:33:34 | 只看该作者
原帖由 apollooqm 于 2012-7-2 22:31 发表
你還在用繁瑣的方法,不知道Windows_VHD_辅助处理工具嗎?我想請教的是,你的批處理可以用pe空盤挂vhd嗎?



请你告诉我什么是简单的办法?

Windows_VHD我当然知道, 但那个软件是需要你的系统是Win7 (或者PE3.0), 根本是2个概念。当然最后部分你用它来操作也是可以的。但在XP下你直接用它, 我可以打包票是会运行出错的。(请参考Windows_VHD原作者 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=184515&extra=&page=2 15楼的帖子)

我的批处理是用在XP 环境下的 (你想在Win7下用当然也可以, 但诚如你所说,Windows_VHD 更容易些), 而且批处理里边没涉及到挂载VHD, 我在本文说了, 在XP下挂载VHD是比较复杂的, 所以建议到PE下挂载, 而Win7 pe下挂载VHD根本用不到 批处理。

在你没读懂本文之前, 请不要随便指责, 谢谢!

在你读懂之后, 你可以随意批评我在哪儿做得不够好, 而且欢迎你共享你的更好的方法。

[ 本帖最后由 quya 于 2012-7-2 23:44 编辑 ]
回复

使用道具 举报

4#
发表于 2012-7-3 20:25:06 | 只看该作者
用BOOTICE方法简单快速
不须批处理,连WIN8系统都提供给你测试
本地硬盘,移动硬盘,U盘都可以用


http://bbs.wuyou.net/forum.php?m ... &extra=page%3D1
回复

使用道具 举报

5#
发表于 2012-7-9 10:11:40 | 只看该作者
这个我也有个贴子谈这个问题(第三种方式,用的人较少,不改变xp的引导),包括VHD安装,win7VHD激活等,

xp引导 boot.ini->grldr->bootmgr即可,BCD配置可用Bootice

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=206272&extra=page%3D2

[ 本帖最后由 2011mking 于 2012-7-9 10:18 编辑 ]

点评

xp引导 boot.ini->grldr->利用ntboot,直接引导vhd不就行了,何必非得转bootmgr  详情 回复 发表于 2016-12-14 09:04
回复

使用道具 举报

6#
发表于 2012-7-30 23:10:29 | 只看该作者
有没有一健到位?适合小白们用!
回复

使用道具 举报

7#
发表于 2012-8-1 07:51:05 | 只看该作者
IMDISK就能挂载VHD,我在2003下一直用,XP想来也是可以的。
回复

使用道具 举报

8#
发表于 2012-8-10 02:11:35 | 只看该作者
年龄大了,工作也忙,只能期待高手出傻瓜式的软件了
回复

使用道具 举报

9#
发表于 2012-8-19 06:53:09 | 只看该作者
大侠辛苦了,感谢感谢
回复

使用道具 举报

10#
发表于 2012-8-30 21:55:14 | 只看该作者
用win7pe启动,运行easybcd,点bcd部署,选择分区,安装bcd,再点选在mbr中安装win7的bootloader,点编写MBR,然后点添加新条目,分别增加原xp系统和新vhd系统
回复

使用道具 举报

11#
发表于 2012-8-30 22:04:54 | 只看该作者
方法不错。我在考虑64位的可能性,不过好像也没问题。只要bootsect.exe和bcdedit.exe是32位的就OK了。
回复

使用道具 举报

12#
发表于 2012-8-31 13:13:45 | 只看该作者
技术贴,好贴!这其实是最简单的方法
回复

使用道具 举报

13#
发表于 2012-8-31 22:57:57 | 只看该作者
原帖由 kingshui 于 2012-8-30 22:04 发表
方法不错。我在考虑64位的可能性,不过好像也没问题。只要bootsect.exe和bcdedit.exe是32位的就OK了。

谢谢提醒!
回复

使用道具 举报

14#
发表于 2014-5-10 17:30:42 | 只看该作者
好久没来这里,今天尝试XP下引导VHD(本论坛下载的三烦精简系统),操作步骤无误,可惜启动win7出错,我再摸索看看
回复

使用道具 举报

15#
发表于 2014-5-11 02:48:50 | 只看该作者
很好,学习了。谢谢楼主!
回复

使用道具 举报

16#
发表于 2015-8-13 09:43:38 来自手机 | 只看该作者
123-888 发表于 2012-8-30 21:55
用win7pe启动,运行easybcd,点bcd部署,选择分区,安装bcd,再点选在mbr中安装win7的bootloader,点编写MB ...

请问要重写nt6引导吗
回复

使用道具 举报

17#
发表于 2015-9-3 19:07:16 | 只看该作者
引导可以但是启动vhd却7b蓝屏了,这是咋回事????
回复

使用道具 举报

18#
发表于 2016-11-28 10:32:21 | 只看该作者
超值强帖,帮你顶,^_^
回复

使用道具 举报

19#
发表于 2016-12-14 09:04:38 | 只看该作者
2011mking 发表于 2012-7-9 10:11
这个我也有个贴子谈这个问题(第三种方式,用的人较少,不改变xp的引导),包括VHD安装,win7VHD激活等,

...


xp引导 boot.ini->grldr->利用ntboot,直接引导vhd不就行了,何必非得转bootmgr
回复

使用道具 举报

20#
发表于 2021-11-23 11:49:54 | 只看该作者
遇到一个奇怪的问题
bcdedit /timeout 0
这里设置成0秒,会造成无法选择Win8VHD菜单,
但是设置成其他时间,又会造成机器无法正常启动
陷入了死循环.
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-12-1 00:01

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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