分享

给你的 XP 加个 Win8 VHD 启动

 看见就非常 2012-06-30
写这篇文章的目的, 是希望那些还在用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 放在和批处理的同一目录, 再执行批处理即可。 你也可以下载附件,这样更简单。

下边code应用的代码有时候格式不对, 虽然我再次编辑,但难保错误,保险起见最好下载我的附件。

VHD Tools.zip(490.12 KB, 下载次数: 0)


  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}
  11. path \ntldr
  12. bcdedit /set {ntldr} device partition=c:
  13. bcdedit /displayorder
  14. {ntldr} -addlast
  15. bcdedit /timeout 0
  16. :end
  17. echo.
  18. 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./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 菜单,安装过程中会再次重启, 安装时候要求的序列号可以选择跳过, 等安装完毕以后可以到控制面板再次输入序列号激活系统。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多