近期在测试在Windows Server 2016 的虚拟桌面,在测试Windows 7的虚拟桌面时一切良好,但在测试Windows 10的虚拟桌面时,在对Windows 10的虚拟机进行封装时,出现"Sysprep无法验证你的Windows 安装"的错误提示,如图1-1所示。
图1-1 sysprep封装失败
在打开c:\windows\system32\sysprep\panther文件夹中的setupact.log文件查看时,有如下几行错误信息(部分):
SYSPRP Failed to remove apps for the current user: 0x80073cf2.
SYSPRP Exit code of RemoveAllApps thread was 0x3cf2.
SYSPRP ActionPlatform::LaunchModule: Failure occurred while executing 'SysprepGeneralizeValidate' from C:\Windows\System32\AppxSysprep.dll; dwRet = 0x3cf2
SYSPRP SysprepSession::Validate: Error in validating actions from C:\Windows\System32\Sysprep\ActionFiles\Generalize.xml; dwRet = 0x3cf2
SYSPRP RunPlatformActions:Failed while validating SysprepSession actions; dwRet = 0x3cf2
在网上搜索资料发现这种情况是普遍现象,基本上每个封装Windows 10的系统都会碰到。解决方法是将"Windows Media Player Networking Sharing Service"服务停用,但在Windows 10这个服务默认是"手动"状态,没有启用。
开始的时候我使用的是最新的Windows 10版本(版本1703),我以为是版本的问题,但尝试安装了1607、1511仍然报这个错误。我在MVP群询问,有MVP告诉我这个Bug一直存在。
之后进行测试,由于在安装Windows 10第一次登录的时候,使用的是一个新创建的帐户,例如我当前实验的机器创建的用户名是linnan,我估计可能是这个帐户权限不够。在系统中启用Administrator帐户,换用Administrator登录,仍然出现同样的错误。之后再看日志,无果。但我感觉可能是"应用商店"造成的。我尝试删除了Administrator以外的其他帐户,再次执行sysprep进行封装,成功!之后分别在Hyper-V、VMware Workstation创建新的虚拟机,安装不同版本的Windows 10进行测试,同样成功。
用一句话来概括:在Windows 10中进行系统封装时,启用并使用Administrator帐户登录,并删除Administrator以外的其他帐户即可。下面我们介绍一下主要步骤。
(1)在Windows 10中,打开"计算机管理→本地用户和组→用户",双击Administrator打开"属性"对话框,取消"帐户己禁用"的选项,如图1-2所示。
图1-2 启用Administrator帐户
(2)注销当前用户,以Administrator登录,如图1-3所示。
图1-3 换用Administrator登录
(3)打开"所有设置→帐户→其他用户",可以看到当前共有2个帐户分别是linnan和ln,在确认已经备份了这两个帐户的数据后(实际上这就是安装完系统之后创建的用户,不会有数据,一般只有一个用户),选中一个用户,单击"删除"按钮,如图1-4所示。
图1-4 删除帐户
(4)在弹出的"要删除帐户和数据吗"对话框中单击"删除帐户和数据"按钮,如图1-5所示。
图1-5 删除帐户和数据
(5)之后将其他帐户及数据一同删除,删除之后在"其他用户"中没有用户,如图1-6所示。
图1-6 删除所有其他用户
(6)以管理员身份进入命令提示窗口,进入c:\windows\system32\sysprep文件夹,执行sysprep /generalize /shutdown,在"系统准备工具3.14"对话框单击"确定"按钮,如图1-7所示。
图1-7 确认执行系统封装
(7)之后sysprep将开始执行,如图1-8所示。
图1-8 sysprep开始执行
(8)执行完成之后,虚拟机关闭,如图1-9所示。之后可以用这个虚拟机作为模板,用以创建Windows 10虚拟桌面,这些不一一介绍。
图1-9 封装完成关机
(9)其中图1-10是在Windows Server 2016中发布的Windows 10虚拟桌面,使用Heaven Benchmark 4.0进行测试的截图。
图1-10 GPU测试