在hyper-v中使用sysprep vhd自动启动新的虚拟机

我有一个已被sysprepped(它是在Hyper-V本身创build的)的VHD,我也有sysprep生成的答案文件。 现在我需要使用Hyper-V来启动一个新的VM,它将使用上面生成的VHD。 当我调出虚拟机时,它会提示用户界面,并希望我input机器名称和其他详细信息。 我不能自动化该部分,并提供答案文件不知何故Hyper-V,它从它读取的值,并为我提出了操作系统?

我看到很多链接build议使用SCVMM,但是我没有这个链接。 难道它不能单独使用Hyper-V吗?

像Hyper-V这样的虚拟化环境大多只是创build一个虚拟机,就其运行的软件而言,它与物理机器相同。 当然,每个虚拟化产品都附带一些工具,可以让您影响在虚拟机内运行的软件。

然而,对于客户操作系统的设置,Hyper-V没有提供任何物理机器。 想象一下,从PXE服务器启动物理机器。 您可以在该服务器上设置一个映像,并为各种客户端设置一组无人参与文件。 然后,当你启动它时,你想要的操作系统被安装在物理机器上。

这里同样如此。 您可以准备映像在虚拟机内引导。 但是,这与从物理硬件启动映像来启动并没有什么不同。 Hyper-V与此无关。 它恰好存储在VHD中。

SCVMM是一个pipe理产品,可以执行多项任务,包括在Hyper-V服务器上准备镜像和configuration虚拟机。 如果你不想使用它,那很好。 但是不要指望Hyper-V提供客户操作系统configuration服务。 为此,您需要像处理其他机器一样处理客户工作负载。

如果您想要安装VHD,以便在不使用SCVMM的情况下对其进行操作,请参阅此博客条目以获取示例脚本代码:

http://blogs.msdn.com/b/virtual_pc_guy/archive/2008/02/01/mounting-a-virtual-hard-disk-with-hyper-v.aspx

我从来没有尝试过,但我可以想到2个选项。

  • 如果您有答案文件,您应该能够自动设置手动input所需的所有内容。 在虚拟机创build之前,将VHD挂载到主机上,编辑应答文件(例如,更改主机名),卸载VHD并从中创build虚拟机。

  • 在安装OS后,通过数据交换服务读取configuration数据并实际执行configuration后,您可以在VM中首次启动脚本文件。 数据交换服务默认自动打开。 在主机上编辑特定registry项时,它们将显示在虚拟机上相应的registry项上。

那么,这里的用户从pipe理员分开。 pipe理员用于脚本。

PowerShell可以用来控制Hyper-V – 有些cmdlet可以下载用于那些还不存在的东西(Hyper-V API在没有它们的情况下是相当神秘的)。 剩下的就是一个初级的pipe理员培训,用来编写脚本来读取答案文件并configurationpipe理程序。 这样说 – 显然它不能轻易访问embedded在vhd本身的ansq文件。 将答案文件移入hyper-v是另一个复杂的问题,为此我会认真地告诉你至less要检查SCVMM。

注意:只要您认为PowerShell可用,Thi就是Hyper-V,而PowerShell现在是Windows核心function的一部分。