Windows 7 使用系统驱动器的 VHD 克隆启动到 VHD

dav*_*551 8 windows-registry windows-7 vhd

这似乎不是一个太难的问题,经过几次障碍后,我已经接近了。但我不能完全到达那里。

我正在开发商店中运行 Windows 7。我想开始使用 VS2010 来处理一些暂时不会发布的东西。我的老板说在生产机器上没有测试版代码,但如果我可以在一个孤立的环境(比如虚拟 PC)中运行这个项目,我可以运行 VS2010。

嗯,之前在VPC上用过Win7的beta版和RC版,因为VPC的环境,速度慢得让人心疼。但是每个人都对 Windows 7 的引导到 VHD 功能赞不绝口,其中只有磁盘被虚拟化,而您实际上是在硬件上运行。应该慢一点,但远不及 VPC 的速度损失。

我花了很多时间按照我想要的方式安装所有东西。所以我想,我只需要使用 Disk2VHD 克隆我的系统驱动器,然后从它启动,然后将 VS2010 安装到它上面。(我将我的大部分用户数据,包括我的所有项目,都保存在一个单独的分区中,这样就不必复制这些数据并且仍然可用。)

好吧,我在这方面遇到了一些困难,主要是因为我使用的是旧版本的 Disk2VHD -(如果您要尝试,请获取最新版本。)但我终于让它启动了。(Scott Hanselman 有一篇关于启动到 VHD 的好博文)。

但这并不是我所期待或希望的。我所期望的是 VHD 将成为 C: 驱动器,而原始(物理)C: 驱动器将隐藏或安装在不同的字母下,从而隔离并防止任何更改。

你实际得到的是 VHD 变成了 D: 驱动器并且你从 D: 驱动器启动,但是你原来的 C: 驱动器仍然存在。除了 VHD 上的注册表是 C: 驱动器上注册表的克隆,并且包含许多对 C: 的硬编码引用之外,这还算可以。所以结果是有些东西来自(并修改)D:(VHD),但有些东西来自(并修改)C:。(如果您打开一个 cmd 提示符并执行 SET 来查看您的环境变量,您将看到 D:\ 和 C:\ 路径的混合。)所以我并没有真正有一个孤立的环境。最重要的是,%ProgramFiles% 仍然设置为 C:\Program Files。

我真正需要的是一个工具,它可以访问挂载的 VHD AS FILES 上的注册表文件,而不是作为注册表项,并进行全局搜索并将字符串中的所有 C:\ 替换为 D:。我还没有找到这样的程序。(我曾尝试使用名为 Registry Replace 的程序来执行此操作,但是,即使以管理员身份运行,也有某些条目是 Registry 不允许您更改的。)

有人知道吗?或者我的问题的任何其他解决方案(除了从头开始使用干净的 VHD 并在其上安装 Win7 和我的所有程序。)?

pre*_*ion 5

免责声明:我没有从 VHD 或上述修复程序进行任何启动

请参阅此知识库文章。请务必将您的实际系统驱动器更改为不同的内容。您可能还想取消分配该驱​​动器号,以进一步隔离。