读书频道 > 系统 > windows > 精通Windows Server 2008 R2
2.5.2 创建应答文件
2013-01-10 16:01:23     我来说两句 
收藏    我要投稿   

本文所属图书 > 精通Windows Server 2008 R2

如果您是系统管理员,那么Windows server2008 R2可以帮助简化工作流、自动化功能、虚拟化以及充分利用Windows 7的潜能。《精通Windows server 2008 R2》是一本全面的入门指南,Windows权威专家 mark min...  立即去当当网订购

在实际创建应答文件之前,需要首先了解一下应答文件的工作原理。

当安装Windows Vista、Windows 7、Windows Server 2008或Windows Server 2008 R2时,安装程序要完成部分或全部7个配置阶段(configuration pass),各个配置阶段的详细描述请参见表2-7。每个阶段都负责执行特定的任务,一些任务可能要在多个阶段中执行。在安装Windows时,实际上通常只需要执行三个阶段。

表2-7  配置阶段


阶    段 描    述
windowsPE 引导windowsPE安装环境、配置产品密钥以及配置安装磁盘
offlineServicing 对Windows映像应用更新,包括软件包、修补程序和语言
Specialize 配置对系统来说可能唯一的设置,例如网络配置、区域和域
Generalize 删除与系统相关的信息,仅当运行sysprep /generalize时才能执行
auditSystem 用户登录前处理无人参与安装步骤,仅当引导到审核模式时才运行
auditUser 用户登录后处理无人参与安装步骤,仅当引导到审核模式时才运行
oobeSystem 在Windows欢迎屏幕启动之前应用设置,换句话说,就是在登录之前应用设置
 当在WSIM中创建应答文件时将会看到其中一些阶段。更多关于配置阶段的信息,请参见http://tinyurl.com/3dszvm,通过阅读这里的信息可以帮助更清楚地了解WSIM。

首先讨论一些其他事情。使用过Windows NT、Windows 2000、Windows 2003或Windows XP的人已经习惯了处理安装介质上诸如i386的文件夹,配置Windows所需的任何对象都位于这个文件夹中。在Windows Vista中这种情况发生了变化,新的DVD安装介质使用了一种基于文件的映像,称为WIM文件。这个WIM文件称为install.wim,包含安装新操作系统所需的所有对象,这个文件位于安装介质的\Sources文件夹中。关于这个WIM文件的美妙之处还在于它包含安装所有操作系统版本所需的内容。例如,Standard Full、Enterprise Full、Datacenter Full、Standard Core、Enterprise Core和Datacenter Core都位于这张Windows Server 2008 DVD光盘上。这是因为WIM文件使用单实例(single-instance)存储,而不是将相同的文件存储6次,WIM文件将每个文件只存储一次,而为另外5个副本创建参照点。

在管理PC上,WSIM需要一份这个文件的副本。WSIM使用这个安装映像来知道可以为正在使用的Windows版本执行的任务。根据使用的是Windows Vista Home、Windows Vista Business、Windows Server 2008 R2 Standard还是Windows Server 2008 R2 Datacenter等,可以执行的任务有所不同。为什么要将这个文件放在硬盘上,而不是使用DVD上面的这个文件呢?原因在于WSIM需要创建映像文件内容的目录,而且WSIM使用包含这个映像的文件夹作为工作文件夹,但是诸如DVD的只读介质是无法写入的。

对于本示例来说,假设使用的是Windows Server 2008 R2的DVD光盘,并且已经将\sources\install.wim复制到管理PC的C:\W2008R2\install.wim。

现在启动WSIM,并且通过选择File | Select Windows Image命令启动这一过程。

定位到安装映像(参见图2-73),即C:\ W2008R2\install.wim,然后打开这个映像。

此时可以看到WIM文件在操作的魔力,安装介质中提供了各种版本的Windows,旧体系结构的文件夹结构(例如i386)并不能胜任这一点。选择希望在无人参与方式中安装的Windows的版本,在图2-74中我们已经选择了Windows Server 2008 R2的Enterprise版本。注意,微软公司在Windows Server 2008介质中保留了名称Longhorn的开发代码。


 

接下来就会警告这个映像的目录文件无法打开,因为这个目录文件还不存在,此时可以创建一个目录文件,或者取消该过程。如图2-75所示,在对话框中单击Yes按钮创建一个目录文件,注意,完成该操作,必须是管理PC上的本地管理员。

在继续之前,UAC可能会根据管理工作站的安全配置触发一个请求。创建目录文件需要花费一会儿时间(参见图2-76)。操作系统部署有时候被形象地称为“进度栏工程”!


 

最终在C:\W2008R2中创建了目录,而且还有映像文件。可以看出,WSIM中的Windows Image窗格中已经填充了Components和Packages(参见图2-77)。因为我们不准备使用分布式共享,所以还要展开Windows Image窗格,为其分配更多的空间。


 

这里我们喜欢使用Components,因此展开Components(参见图2-78)。组件是一组相关的设置,用作构建应答文件的构建块。在安装过程中,每个组件回答一个问题或者一组问题。根据自己的需要,可以有选择性地选择组件,创建自己期望的无人参与安装。手动安装仅有少数几个问题需要回答,但是奇怪的是,当使用无人参与安装时,要回答更多的问题才能获得相同的结果。如果浏览各个组件,就会注意到还有许多可用的选项。强烈建议阅读随WAIK一起安装的文档,Unattended Windows Setup Reference详细地介绍了每个组件的用途。


 

在WSIM中创建一个新的应答文件。打开File菜单,然后单击New Answer File选项。

接下来Answer File窗格被植入(参见图2-79),这个窗格看起来是不是非常熟悉?在Components对象下面可以看到用来安装Windows的每个可用的配置阶段。下面在所需的阶段中添加组件,构建应答文件。


 

在Windows Image窗格中Components下面,定位到amd64_Microsoft-Windows- International- Core-WinPE,该组件负责配置Windows安装环境设置。如前所述,在手动全新安装中必须配置语言设置,这个组件将自动化这一过程。右击这个组件,然后从弹出菜单中选择Add Setting to Pass1 windowsPE命令(参见图2-80)。


 

此时可以看到这个已经添加到应答文件中的组件位于阶段1 windowsPE下面的Answer File窗格中(参见图2-81)。另外还可以看到现在可以在右上角的细节窗格中编辑组件的属性。注意,该组件还可以展开,显示一个子对象,子对象同样拥有可以编辑的属性。选择属性值的编辑框,然后按键盘上的F1键访问这个属性的帮助信息。随着设置的深入,将需要求助于帮助系统,查看属性的用途及属性的可能值。


 

现在就可以编辑组件,添加表2-8中的值。

表2-8  编辑组件属性值


阶    段 组    件 属    性
1 amd64_Microsoft-Windows-International-Core\SetupUILanguage InputLocale en-us
UserLocale en-us
UILanguage en-us
SystemLocale en-us
UILanguage en-us
 这里要做的是将每个设置都配置成US English(参见图2-82)。在任意一个属性中按F1键将打开帮助信息,获取其他区域设置的代码。注意,还可以在子组件SetupUILanguage中编辑UILanguage属性。

 

接下来添加更多的组件并编辑这些组件的属性,如表2-9所示(我们继续使用前面的表格式,确保将组件添加到每个表中第一列中提及的阶段中)。

表2-9  编辑组件属性值


阶    段 组    件 属    性
1 AMD64_Microsoft-Windows-Setup\
DiskConfiguration\Disk
DiskID 0
WillWipeDisk True
 阶段1中准备添加到应答文件中的Disk子组件告诉安装程序管理服务器中的Disk 0。记住,微软公司所讲的Disk 0指的是计算机中的第一块磁盘。另外,还需要告诉安装程序清除磁盘。

在Answer File窗格中,展开Disk子组件,在这个组件下面还有两个子组件,分别称为:CreatePartitions和ModifyPartitions。右击每个子组件,然后从弹出菜单中选择Insert New命令,这将允许在刚刚清除的Disk 0上创建一个卷,然后使用表2-10和表2-11的子组件属性设置格式化卷。

表2-10  设置组件属性


阶    段 组    件 属    性
1 AMD64_Microsoft-Windows-Setup\DiskConfiguration\
Disk\CreatePartitions\CreatePartition
Extend True
Order 1
Type Primary
 表2-10指示Windows Installer创建一个分区,并扩展该分区,换句话说就是使用新卷填充整个Disk 0。Order指示安装程序将卷标记为1,因为一会儿还要引用这个标签。

或许并不希望Disk 0只有一个分区,因为设置Extend = True就是这个意思。Size可以设置为希望分区1的大小,单位是MB,如40960就表示一个40GB的卷。但是不能将Size设置为一个值,同时又设置Extend = True,因为这样会产生冲突。

表2-11  设置组件属性


阶    段 组    件 属    性
1 AMD64_Microsoft-Windows-Setup\DiskConfiguration\
Disk\CreatePartitions\ModifyPartition
Active True
Format NTFS
Label Windows
Letter C
Order 1
PartitionsID 1
 表2-11再次引用了Order,此处是指示安装程序格式化前面创建的卷。这个卷使用PartitionsID设置为分区1。微软公司所讲的分区1就是第一个分区,在微软公司的语言中没有分区0。将这个卷设置为Active,因为希望能够从这个卷进行启动。这个卷使用NTFS文件系统格式化,标签为Windows,并且将它的驱动器盘符指定为C。

接下来的组件(参见表2-12)就有点棘手,这个时候可以使用前面介绍的帮助文档,但是还需要WAIK中的另一个工具。

表2-12  设置组件属性


阶    段 组    件 属    性
1 AMD64_Microsoft-Windows-Setup\InstallImage\
OSImage\InstallFrom\Metadata
Key /IMAGE/NAME
Value Windows Server 2008 R2 SERVERENTERPRISE
 当最初试图使用无人参与方式安装Windows Server 2008 R2时,安装总是停下来要求在DVD上可用的Windows版本之间选择,这明显不是我们所希望的,我们希望的是一个无人参与的安装。通过搜索WAIK中的帮助文件,发现这个子组件可以帮助我们选择正确的版本。然而,帮助文件没有告诉我们应该填入什么样的属性值,帮助文件告诉我们的是所需的值包含在安装映像install.wim中。

因此,打开Windows PE Tools Command Prompt,Windows PE Tools Command Prompt是WAIK的组成部分,然后运行下面的命令。

IMAGEX /info C:\W2008R2\INSTALL.WIM

IMAGEX命令是一个WAIK实用工具,允许管理WIM文件。前面命令的语法如下所示:

IMAGEX.EXE /info <Path to Desired WIM File>

这将生成一个关于Windows Server 2008 R2 x64安装映像的内容的报告,下面内容就是所生成报告的一个片段:
.
.
<NAME>Windows Server 2008 R2 SERVERSTANDARD</NAME>
<DESCRIPTION> Windows Server 2008 R2 SERVERSTANDARD</DESCRIPTION>
<FLAGS>ServerStandard</FLAGS>
<WINDOWS>
.
.
<NAME>Windows Server 2008 R2 SERVERENTERPRISE</NAME>
<DESCRIPTION> Server 2008 R2 SERVERENTERPRISE</DESCRIPTION>
<FLAGS>ServerEnterprise</FLAGS>
<WINDOWS>
.
.
<NAME>Windows Server 2008 R2 SERVERDATACENTER</NAME>
<DESCRIPTION>Windows Server 2008 R2 SERVERDATACENTER</DESCRIPTION>
<FLAGS>ServerDatacenter</FLAGS>
<WINDOWS>

Windows Server 2008安装介质仍然使用旧的名称Longhorn产品代码,而不是Windows Server 2008。

Metadata子组件允许指定一个在这些结果中搜索的键以及一个要匹配的值。在前面的结果片段中,可以看到有一个NAME键,这个键位于路径/IMAGE/PATH下。NAME键用来唯一标识包含在安装映像中每个可用的Windows版本。可以看出在本示例中希望的Windows版本位于IMAGE INDEX=1下。这个NAME键设置为Windows Server 2008 R2 SERVERENTERPRISE。因此,Metadata组件被设置为搜索并匹配一个称为/IMAGE/NAME且值为Windows Server 2008 R2 SERVERENTERPRISE的键,这个映像就是安装程序将在服务器上安装的映像。

表2-13中的设置告诉OS安装程序安装选择的映像到前面选择的磁盘和前面刚刚创建并格式化的卷上,换句话说,就是第一块磁盘的第一个分区上。

表2-13  设置组件属性


阶    段 组    件 属    性
1 AMD64_Microsoft-Windows-Setup\InstallImage\OSImage\InstallTo DiskID 0
PartitionID 1
 接下来使用UserData子组件输入本次Windows安装的许可信息(参见表2-14)。通过将Accept- Eula设置为True,从而接受微软公司的许可条款。为FullName和Organization输入公司的名称,这是一种表示许可拥有权的常见实践。在子组件中的Key中输入产品密钥,此处示范的产品密钥只是用于演示目的。
表2-14  设置组件属性
阶    段 组    件 属    性
1 AMD64_Microsoft-Windows-Setup\
UserData
AcceptEula True
FullName Bigfirm
Organization Bigfirm
AMD64_Microsoft-Windows-Setup\
UserData\ProductKey
Key HFG76-34GFT-O6ID9-
MNBW4-IYUSD
 将表2-15中的组件添加到阶段4“4 specialize”中,这里同样使用ComputerName设置计算机的名称。将ComputerName设置为*,可以告诉OS安装程序生成一个随机的名称。也可以在这里输入期望的名称。TimeZone用来配置系统时钟,在本示例中,将TimeZone设置为USA Eastern Time Zone,此时按F1键就会得到可用的时区列表。
表2-15  设置组件属性
阶    段 组    件 属    性
4 AMD64_Microsoft-Windows-Shell-Setup ComputerName *
TimeZone Eastern
Standard Time
将表2-16中的子组件添加到阶段7 “7 oobeSystem”中。使用NetworkLocation配置Windows Firewall,将NetworkLocation设置为Work,从而将防火墙配置为启用,但是采用宽松的安全设置,通常只适用于企业网络。ProtectYourPC设置为打开自动更新,从而配置为自动安装更新。

这个组件示范如何向安装中添加一些其他设置,否则该设置无法在手动安装中添加。

表2-16  设置组件属性


阶    段 组    件 属    性
7 AMD64_Microsoft-Windows-Shell-Setup\OOBE HideEULAPage True
NetworkLocation Work
ProtectYourPC 1
 最后一个需要设置的组件(参见表2-17)是一个最好记住的组件,该组件用于可能使用MSDN或TechNet许可的实验室环境。这些订阅仅为每个许可密钥授予有限的激活期限,一般情况下,实验用机器使用寿命非常短暂,因此使用昂贵的激活密钥毫无意义。
表2-17  设置组件属性
阶    段 组    件 属    性
7 Wow64_Microsoft-Windows-Security-
Licensing-SPP-UX
SkipAutoActivation False
在Windows Server 2008中,该组件可能被称为Wow64_Microsoft-Windows-Security-Licensing- SLC-UX,该组件允许禁用安装的默认自动激活过程。

这些组件就是希望添加的全部组件。接下来要做的就是验证应答文件,在Tools菜单上,选择Validate Answer File命令,这将检查各个属性以及为属性输入的值。任何明显的错误都将在Messages窗格上产生一个错误。如果按照前面的描述输入各个组件和属性值(参见图2-83),那么一切应该没有问题。


 

现在可以保存应答文件了,单击File菜单,然后选择Save Answer File As命令。

在选择的位置将应答文件保存为autounattend.xml,如C:\Answer\autounattend.xml(参见图2-84)。


 

接下来,看一看刚才创建的XML文件,使用Notepad打开新创建的应答文件,这个应答文件看上去应该如下所示:
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="windowsPE">
<component name="Microsoft-Windows-International-Core-WinPE"
processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35"
language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/
WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SetupUILanguage>
<UILanguage>en-us</UILanguage>
</SetupUILanguage>
<InputLocale>en-us</InputLocale>
<UserLocale>en-us</UserLocale>
<UILanguage>en-us</UILanguage>
<SystemLocale>en-us</SystemLocale>
</component>
<component name="Microsoft-Windows-Setup" processorArchitecture="amd64" p
ublicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://
www.w3.org/2001/XMLSchema-instance">
<DiskConfiguration>
<Disk wcm:action="add">
<CreatePartitions>
<CreatePartition wcm:action="add">
<Extend>true</Extend>
<Order>1</Order>
<Type>Primary</Type>
</CreatePartition>
</CreatePartitions>
<ModifyPartitions>
<ModifyPartition wcm:action="add">
<Active>true</Active>
<Format>NTFS</Format>
<Label>Windows</Label>
<Letter>C</Letter>
<Order>1</Order>
<PartitionID>1</PartitionID>
</ModifyPartition>
</ModifyPartitions>
<DiskID>0</DiskID>
<WillWipeDisk>true</WillWipeDisk>
</Disk>
</DiskConfiguration>
<ImageInstall>
<OSImage>
<InstallFrom>
<MetaData wcm:action="add">
<Key>/IMAGE/NAME</Key>
<Value>Windows Server 2008 R2 SERVERENTERPRISE</Value>
</MetaData>
</InstallFrom>
<InstallTo>
<DiskID>0</DiskID>
<PartitionID>1</PartitionID>
</InstallTo>
</OSImage>
</ImageInstall>
<UserData>
<ProductKey>
<Key>7MPX7-F6W6F-9WMDB-9XFW8-VPH3M</Key>
</ProductKey>
<AcceptEula>true</AcceptEula>
<FullName>BigFirm</FullName>
<Organization>BigFirm</Organization>
</UserData>
</component>
</settings>
<settings pass="specialize">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" pub
licKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
xmlns:wcm=http://schemas.microsoft.com/WMIConfig/2002/State xmlns:xsi="http://
www.w3.org/2001/XMLSchema-instance>
<ComputerName>*</ComputerName>
<TimeZone>Eastern Standard Time</TimeZone>
</component>
</settings>
<settings pass="oobeSystem">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" pub
licKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://
www.w3.org/2001/XMLSchema-instance">
<OOBE>
<HideEULAPage>true</HideEULAPage>
<NetworkLocation>Work</NetworkLocation>
<ProtectYourPC>1</ProtectYourPC>
</OOBE>
</component>
</settings>
<cpi:offlineImage cpi:source="wim:c:/w2008r2/install.wim#Windows Server 2008 R2
SERVERENTERPRISE" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>

现在已经拥有了一个能够回答Windows安装过程中提问的全部问题的应答文件。此时所需做的就是将这个应答文件提供给OS安装程序。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:2.5.1 安装Windows Automated Installation Kit(WAIK)
下一篇:2.5.3 使用应答文件
相关文章
图文推荐
3.4.4 进程生命期管
3.4.2 Windows应用商
3.4.1 Windows应用商
3.4 进程生命期管理
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站