Windows 自定义镜像制作说明
一 、自定义镜像介绍
1.镜像:在这篇文章中指对系统文件的一个副本文件,用于安装到其他虚拟机上
2.自定义镜像的方案及原理: 创建单一 Windows 镜像来安装使用相同硬件配置的计算机。通过安装 Windows,然后添加其他驱动程序和应用程序来自定义单一 Windows 镜像。然后捕获 Windows 镜像并使用它来安装计算机。 方案由以下阶段组成: 1>在参考计算机上安装 Windows。 2>安装完成后,启动计算机并安装任何其他设备驱动器或应用程序。 3>更新 Windows 安装后,应运行 sysprep /oobe /generalize 命令。使用 /generalize 选项,Sysprep 可以从 Windows 安装中删除系统特定的数据。系统特定的信息包括事件日志、唯一安全 ID (SID) 和其他唯一性信息。将唯一性系统信息删除后,关闭计算机。使用 /oobe 选项,Windows 安装可以在下次启动计算机时运行“欢迎使用 Windows”
3.自定义镜像的作用: 自定义镜像可以在一台虚拟机上配置好基本的系统环境,然后做个镜像,以后创建虚拟机直接从这个镜像创建,帮助用户一次性开通多台已完全拷贝相同操作系统及环境数据等的云服务器,以便满足用户弹性扩容的业务需求。
二、腾讯云windows自定义镜像方案
全自动的执行Sysprep,清理特定信息 镜像流程图如下:
三、竞品的做法
1.亚马逊:
有两种方案:
1.通过子机中的Agent引导用户自己执行Sysprep2.让用户选择不执行Sysprep,只对镜像做一个拷贝
2.阿里云: 对镜像做了一次快照
3.青云: 直接对原有镜像做了一份拷贝
四、Sysprep的执行
Sysprep(System Prepatation Tool) :是微软为系统管理员和OEM厂商提供的,自动部署Windows系统的工具
1、Sysprep的作用说明
1.从 Windows 中删除系统特定的数据。Sysprep 可以从已安装的 Windows 映像删除所有系统特定的信息,其中包括计算机安全标识符(SID)。然后可以通过组织捕获和安装 Windows 安装。 2.将 Windows 配置为启动进入审核模式。使用审核模式可以安装第三方应用程序和设备驱动器,以及测试计算机的功能。 3.将 Windows 配置为启动进入“欢迎使用 Windows”。将 Windows 安装配置为下次启动计算机时进入“欢迎使用 Windows”。通常,在将计算机交付至客户之前将系统配置为启动时立即进入“欢迎使用 Windows”。 4.重置 Windows产品激活
2、配置应答文件如果不做应答文件,在下次开机时需要自己手工填写一些机器配置信息 Windows无人值守应答文件的制作方式从Vista开始做了较大的改动 Windows 2003 ,XP 使用**pmgr.exe 可以制作,其放在系统安装包的Tools\Deploy.cab中 Windows 2008 使用AIK工具制作需要从微软官网下载 : http://www.microsoft.com/zh-cn/download/details.aspx?id=5753 Windows 2003 应答文件格式: ;**pMgrTag [Unattended] //设置OEM属性配置 OemSkipEula=Yes DriverSigningPolicy=Ignore OemPnPDriversPath =C:\Drivers\XP;C:\Drivers\WNET UpdateInstalledDrivers =Yes
[GuiUnattended] //设置自动登录以及登录密码和时区 Autologon=Yes AutologonCount=1 AdminPassword="XXXXXX" EncryptedAdminPassword=NO OEMSkipRegional=1 TimeZone=210 OemSkipWelcome=1
[UserData] //设置产品秘钥和电脑名等 ProductKey=XXXXXXXXXXXXXX FullName="QQ" OrgName="QQ" ComputerName=*
[Display] //设置显示相关内容,如分辨率 BitsPerPel=24 Xresolution=1024 YResolution=768 Vrefresh=75
[LicenseFilePrintData] AutoMode=PerServer AutoUsers=9999
[TapiLocation] CountryCode=86
[RegionalSettings] LanguageGroup=10 Language=00000804
[**pMgr] DistFolder=C:\sysprep\i386 DistShare=windist [GuiRunOnce] Command0=c:\win_init.bat [Identification] JoinWorkgroup=WORKGROUP [Networking] InstallDefaultComponents=No [NetAdapters] Adapter01=params.Adapter01 [NetClients] MS_MSClient=params.MS_MSClient [NetServices] MS_SERVER=params.MS_SERVER [NetProtocols] MS_TCPIP=params.MS_TCPIP [params.MS_TCPIP] DNS=No UseDomainNameDevolution=No EnableLMHosts=Yes AdapterSections=params.MS_TCPIP.Adapter01 [OEM_Ads] Background=tencent.bmp [Sysprep] BuildMassStorageSection =YES
Windows 2008应答文件格式 file:///C:/Users/DENNIS~1/AppData/Local/Temp/msohtmlclip1/01/clip_image007.png 这个应答文件中注意processorArchitecture="amd64"知千万别选错了,这个表示操作的是64位系统还是32位系统
3、Sysprep的参数: 选项 | 描述 | /audit | 重新启动计算机进入审核模式。审核模式使您可以将其他驱动程序或应用程序添加到 Windows。您还可以在将 Windows 安装发送给最终用户前对其进行测试。 如果指定了无人参与 Windows 安装程序文件,则 Windows 安装程序的审核模式将运行 auditSystem 和auditUser 配置阶段。 | /generalize | 准备要作为映像的 Windows 安装。如果指定此选项,所有唯一的系统信息将从 Windows 安装中删除。安全 ID (SID) 重置,所有系统还原点将被清除,事件日志也将被删除。 下次计算机启动时,将运行 specialize 配置阶段。将创建新的安全 ID (SID),如果用于 Windows 激活的时钟三次没有被重置,将其重置。 | /oobe | 重新启动计算机进入“欢迎使用 Windows”模式。“欢迎使用 Windows”允许最终用户自定义其 Windows 操作系统、创建用户帐户、命名计算机和其他任务。在“欢迎使用 Windows”启动前,将立即处理答案文件中oobeSystem 配置阶段的所有设置。 | /reboot | 重新启动计算机。使用该选项审核计算机并确保首次运行体验正确工作。 | /shutdown | 在 sysprep 命令完成运行后关闭计算机。 | /quiet | 运行 Sysprep 工具而不显示屏幕确认消息。如果自动运行 Sysprep 工具,则使用该选项。 | /quit | 运行指定命令后,关闭 Sysprep 工具。 | /unattend:answerfile | 在无人参与安装期间,将答案文件中的设置应用到 Windows。 answerfile 指定要使用的答案文件的路径和文件名。 | /pnp | 在最小化安装期间运行旧式设备的完整的即插即用设备枚举和安装。如果首次运行经验是“欢迎使用 Windows”,则命令行参数不起作用。 仅当在必须检测和安装旧式非即插即用设备时,才使用 -pnp 命令行参数 |
运行参数示例:sysprep.exe /shutdown /oobe /generalize/unattend:C:\autounattend.xml
4、限制条件: 1.微软限制Sysprep的执行次数不能超过3次 2.必须在Administrator帐号下执行 3.执行完Sysprep后,Administrator帐号下安装的软件可能不能使用(因某些注册表信息被清理) 4.如果部署的机器的硬件不同,在执行sysprep时必须加上/generalize参数,以便在初始化时安装对应的驱动程序 5.Windows2008版本以后的系统必须保证Windows Modules Installer这个服务的正常运行(这个服务是用来修改windows系统的一些特征的)
五、如何判断镜像制作成功
有2个判断标准:
1.查看SID号
看SID号是否和之前镜像的不同 2. 如果成功,下次启动时会出现以下类似的界面
六、补充知识点 【windows 64位机器如何运行32位程序】
原理如下图:
看图已经很明白了,windows启用了一个32位环境的模拟器
详细描述:
在64位系统中会将32位App重定向到32位模拟系统调用 1. 对 system32 目录的读、写、删,会自动转向到 sysyWoW64 去操作 2. 对 Program Files 目录的读、写、删,会自动转向到 Program Files(x86)去操作 3. 对注册表 HKEY_LOCAL_MACHINE\SOFTWARE 或者 HKEY_CURRENT_USER\Software 的操作会自动转向到相应Software目录下的 Wow6432Node 项下去操作
【SID的作用】
SID(Security Identifiers) 是标识用户、组和计算机帐户的唯一的号码. Windows会在第一次创建帐号时,给系统分配一个唯一的SID。 如果两台机器的SID相同是无法使用windows的Active Directory 并且会对windows的帐号验证系统有影响 SID在windows中的使用,有以下几个方面: Insecurity descriptors to identify the owner of an object and primary group Inaccess control entries, to identify the trustee for whom access is allowed,denied, or audited Inaccess tokens, to identify the user and the groups to which the user belongs 微软的参考文档: https://msdn.microsoft.com/en-us/library/windows/desktop/aa379571(v=vs.85).aspx |