![如何在正在运行的 Windows 系统中在虚拟硬盘 (VHD) 上安装 Windows?](https://linux22.com/image/1317999/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%AD%A3%E5%9C%A8%E8%BF%90%E8%A1%8C%E7%9A%84%20Windows%20%E7%B3%BB%E7%BB%9F%E4%B8%AD%E5%9C%A8%E8%99%9A%E6%8B%9F%E7%A1%AC%E7%9B%98%20(VHD)%20%E4%B8%8A%E5%AE%89%E8%A3%85%20Windows%EF%BC%9F.png)
如果您只是尝试连接 VHD,然后将 Windows 安装到其中的分区,它会告诉您这是一个“表面虚拟磁盘”,并且 Windows 无法安装到该分区。
但显然这是谎言,因为直接从 DVD 启动时这是可能的。:-)
那么如何从正在运行的系统中做到这一点?
答案1
首先,一个警告:尝试此操作之前,请关闭所有程序并保存所有文件! 确保系统缓存中没有重要内容!(同步对此很方便。
Windows 确实不是使用这个技巧执行“优雅”关机!
完成这些操作后,为了“欺骗”安装程序认为它在 Windows PE 中,只需创建注册表项
HKEY_LOCAL_MACHINE\System\CurrentControlSet\MiniNT
并从 DVD 运行安装程序。现在您可以将其安装到 VHD。
当安装程序提示“10 秒后重新启动...”时,按 Alt-Tab 返回注册表编辑器(将其打开!)并删除MiniNT 密钥,这样你就不会欺骗任何其他程序认为您当前的系统是 PE 系统。:)
现在系统将重新启动内核(绕过用户模式关闭过程)并继续将 Windows 安装到您的分区。
注 1:但是,驱动器号可能不会通过这种方式保留。
注意 2:您可以在第一次重启时(在第二次重启之前,当安装即将执行系统特定的配置时)“尝试”立即“修复”驱动器号。如果你这样做但是,请注意:您的\Users\All Users
连接点(以及所有其他数十个连接点/符号链接)将指向您的老的系统驱动器,而不是新驱动器!因此,您必须准备好手动修复此问题 —— 是的,要“正确”地完成此操作且不造成损坏确实很麻烦。
答案2
在运行 Windows 时将 Windows 安装到 VHD 内的分区包括几个步骤和一些特定的工具。
所需工具:
- ImageX - 专门用于您当前安装的 Windows 平台(即 x64 或 x86)。您可以在此处将其作为 Windows 自动安装工具包的一部分获取:http://www.microsoft.com/en-us/download/details.aspx?id=5753。
- DiskPart——内置于 Windows 7。
高级步骤:
- 使用 DiskPart 创建 VHD。然后将其安装到 Windows 中,对其进行分区,并为要用于新安装的分区分配驱动器号。为了便于讨论,我们假设您将驱动器号分配为“Z:\”。
- 获取 Windows 7“install.wim”文件的访问权限。您可以在 Windows 7 安装光盘的“\sources”目录中找到它。为了便于讨论,我们假设您已将其安装/插入驱动器号“D:\”。
从管理员命令行使用 ImageX,使用以下命令将 Windows 7“install.wim”文件应用到新的 VHD 分区:
imagex.exe /应用 D:\sources\install.wim 1 Z:\
您可以在这里找到有关 ImageX 工具的更多信息:http://technet.microsoft.com/en-us/library/cc749447%28v=ws.10%29.aspx。
希望对您有所帮助。我已使用上述技术为虚拟机和“从 VHD 启动”方案全新安装 Windows 7 和 Windows Server 2008/2008 R2。