为在Azure中分层准备操作系统映像
本节介绍如何准备一个干净的操作系统镜像,以便导入到新的操作系统层。在开始之前,请确保您满足需求.在准备映像时,可以这样做加速Microsoft Ngen.exe的运行如果你认为花的时间太长,你可以选择。
如果使用Windows 10和不运行Citrix Provisioning、机器创建或View,可以加快桌面启动时间删除Windows 10内置应用程序.但是,我们建议删除应用程序新版本操作系统层的不在操作系统镜像本身。
注意:
做不在Azure中使用unattend文件。如果unattend文件存在,应用程序分层软件会删除它,因为它在Azure中是不必要的,也不推荐使用。
为虚拟机安装操作系统
- 在微软Azure门户,从Windows Server远程桌面会话主机Windows Server 2016或2012 R2镜像创建一个新的虚拟机,选择:新的>计算>虚拟机>从图库> Windows Server远程桌面会话主机Windows Server 2012 R2
选择资源管理器从“选择部署模型”选项列表中单击创建.
注意:
应用程序分层软件不支持“选择部署模型”选项列表中的“经典”选项。
完成创建虚拟机向导:
基础知识:
- 名称:为新机器指定的名称必须符合Azure命名约定。
- 用户名和密码:您指定的新服务器机器的用户名和密码将用于包含此操作系统层创建的任何打包机器。
- 资源组位置:确保资源组位置的值与您在连接器配置中配置的存储帐户位置匹配。
设置:
- 储存:在“使用托管磁盘”下,选择没有,并指定存储帐户。
- 选择需要的网络设置。
- 检查摘要并创建虚拟机。
- 登录到新的虚拟机,并重新启动计算机。
- 安装所有重要的更新。一定要重新启动系统并检查更多更新。有些更新只有在安装了其他更新之后才可用。
- 运行Windows Ngen.exe。
- 中删除或重命名Unattend文件
C:\Windows\OEM
. - 选择以下选项清除Windows自动更新:控制面板>系统和安全> Windows更新>更改设置
- 确保此机器没有加入域。
- 启用内置管理员并检查密码永不过期.
服务器操作系统:在PowerShell中执行如下命令:
Set-ExecutionPolicy Unrestricted Enable-PSRemoting
在映像上运行App layers OS Machine Tools
- 在新机器上打开浏览器,进入下载中心,下载操作系统machine Tools。
下载以下zip文件到操作系统镜像:
Citrix_App_Layering_OS_Machine_Tools_20.x.x.exe < !——NeedCopy >
运行文件,它将文件复制到:
c: \ windows \安装\脚本
注意:
文件必须解压缩到上面的目录。请勿更改目录。
如果使用密钥管理服务,需要配置license激活
一旦脚本被提取出来,SetKMSVersion
实用程序要求您选择是否使用密钥管理服务(KMS)许可。
注意:将映像发布到同时使用KMS和基于Active directory的激活(ADBA)的环境中会导致激活出现问题。
2 .在弹出的对话框中选择是否使用KMS (Key Management Service)授权。
配置KMS脚本,请执行以下操作。
导航到:
c: \ windows \安装\脚本
运行SetKMSVersion.exe中创建脚本文件
c: \ windows \安装\ \ kmsdir的脚本
文件夹中。
当操作系统启动时,将运行适当的KMS激活脚本。
安装App分层服务
- 在新机器上,导航到
C:\Windows\Setup\scripts
和运行setup_x64.exe在操作系统机器上安装App layers驱动程序。 - 安装过程会提示您Unattend.xml文件的位置(默认位置是' C:\windows\panther)。
- 确保此机器没有加入域。
- 在操作系统机器上执行挂起的重新启动,以便可以将该映像导入到一个层中。
- 在继续之前,请确保新的操作系统机器处于以下状态之一。
- 运行
- 停止
- 停止(分配)
如有必要,加速Microsoft Ngen.exe操作
一旦安装了所有软件更新,您必须允许Ngen.exe
重新编译net
将字节码转换为本机映像并构造注册表项来管理它们。
Ngen.exe
是微软本地图像生成器,它是net
系统。Windows决定什么时候运行Ngen.exe
这取决于正在安装的软件和Windows在配置中检测到的内容。
重要的是:当
Ngen.exe
正在奔跑,你一定要让它完成。一个中断Ngen.exe
手术会让你失去功能net
程序集或其他问题net
系统。
通常情况下,Ngen.exe
是在有前台活动时暂停的后台操作。如果你想加快Ngen.exe
操作时,可以将任务放到前台,以便尽快完成任务。
把任务放到前台:
- 以管理员身份打开命令提示符。
去
微软。净\框架
当前使用版本的目录:cd C:\Windows\ Microsoft.NET \ FrameworkNN \ vX.X。XXXXX < !——NeedCopy >
输入以下内容
Ngen.exe
命令运行所有排队的项目。此命令在构建程序集之前处理排队的组件安装。eq3
的
Ngen.exe
Task在命令提示符中移到前台,并列出正在编译的程序集。如果您看到编译消息,则没问题。您可以使用任务管理器的实例
MSCORSVW.EXE
正在运行。如果是,则允许它完成或运行更新eqi 3
.警告:不要重新启动以停止任务。允许任务完成!
- 确保所有
Ngen.exe
流程已运行到完成。