无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 15097|回复: 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 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 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-10 03:33

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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