论坛风格切换
 
  • 帖子
  • 日志
  • 用户
  • 版块
  • 群组
帖子
购买邀请后未收到邀请联系sdbeta@qq.com
  • 3653阅读
  • 5回复

Vista无人值守安装初级指南 [复制链接]

上一主题 下一主题
离线深水易寒
 

发帖
2098
今日发帖
最后登录
2020-02-27
只看楼主 倒序阅读 使用道具 楼主  发表于: 2008-03-28 10:26:48
[table=538,lemonchiffon][tr][td]
Vista无人值守安装初级指南
[/td][/tr][/table]

[table=98%,lemonchiffon][tr][td]
    [*]前言[*]工具的安装[*]工作目录介绍[*]VU Batch Modules的使用[*]如何使用WSIM创建自动应答文件(Autounattend.xml)[*]创建自己的Vista DVD ISO镜像 (8月13日新增.在4楼)
[/td][/tr][/table]
前言

一. 工具
微软已经对无人值守安装做了全面的解析,并发布了一个新的软件包Business Desktop Deployment Tools 2007 (缩写BDD 2007).
这个软件包中有一个组件叫Windows Automated Installation Kit (缩写WAIK),即Windows自动安装工具包.这个工具包包含了Windows系统映像管理器(Windows System Image Manager,缩写WSIM),无人值守安装参考文档,和一些有用的命令行工具.
对本指南所介绍的内容,BDD 2007并非必须.只下载安装WAIK就足够了.
我们将用WSIM来生成一个名为Autounattend.xml的自动应答文件.在之前的Windows版本中,行使相同作用的文件是winnt.sif.可以说Autounattend.xml是winnt.sif的替代.

二. 关于WDS安装的重要说明(Kid注:WDS是Windows Deployment Services的缩写,Windows部署服务.详细可以参考这里)
如果你要通过WDS来部署Vista安装,你将需要用到两个xml应答文件.不仅需要一个Autounattend.xml来做Vista安装过讨械纳柚霉ぷ?还需要一个WDSClientUnattend.xml来通过WDS启动.这个WDSClientUnattend.xml文件需要放置在你WDS服务器的RemoteInstall\WDSClientUnattend文件夹下.
笔者没有服务器环境,所以没有关于通过WDS配置Vista的经验.WAIK光盘的WDS目录下有一个WDSOOBSTEPBYSTEP.DOC文件,是有关WDS的介绍指南,可供参考.

三. 错误记录
Vista安装会生成十分详细的记录文件-setuperr.log和setupact.log.前者记录的是导致终止的错误.后者则跟踪安装过程中所有的活动.
你会在硬盘上看到很多不同标识的记录.其中%WINDIR%\Panther\UnattendGC目录下的那些是相对比较重要的.
[table=304,lemonchiffon][tr][td]备注:根据你登陆的账户,你可能需要右键点击文件,改变文件权限才能查看log文件内容.[/td][/tr][/table]
四. 几句忠告
1.尽量只用WSIM编辑你的应答文件.这样能很大程度减免应答文件中的句法错误.
2.对应答文件的更改,一步一步去进行.这样可以更容易地检测到错误.
如果你一下子把想要的所有属性都一次设置好,我敢保证你的无人值守安装会不顺利^_^.

工具的安装

1. WAIK
MS WAIK (Windows自动安装工具包)包含了我们所需要的无人值守化安装的所有工具.它默认安装在%Programfiles%\Windows AIK目录下.WAIK支持Windows XP SP2, Windows 2003 Server和Vista.
现在我们将WAIK安装在默认路径下.





2. SETX.exe
SETX.exe是一个在已运行的Windows操作系统中设置环境变量的命令行工具.我们将设置一些环境变量以便方便访问我们的工作目录.
如果你使用Vista来创建无人值守安装,那么你不需要做其他工作.SETX.exe已经包含在Vista中了.
如果是使用Windows XP,你可以从这个工具包中复制SETX.exe.你不需要安装整个工具包.只要用winrar之类的工具将工具包解压到任意目录下,然后将其中的SETX.exe复制到%Windir%\System32就可以了.

3. VU-Batch-Module
VU Batch Modules(Vista无人值守批处理组件)是笔者写的一些批处理文件的集合.用于方便进行一些机械化的操作.
我们创建无人值守安装的很多步骤是通过命令行工具完成的.因此点击批处理文件要远比一遍又一遍重复键入命令要方便得多.
点击这里下载VU Batch Modules.
[table=386,lemonchiffon][tr][td]备注:并非必须使用批处理文件来自动化操作命令行工具.
你同样可以使用vbs等其他支持脚本的语言来完成这一工作.
[/td][/tr][/table]
VU Batch Modules的安装:
下载vu_batchs.exe,双击运行.首先需要同意协议.



默认安装在桌面.可以点击Browse按钮来选择其他目标路径.






点击Install后批处理组件开始解压.完成之后可以在桌面找到名为VU_Batchs的新文件夹.

执行PrepLab.cmd
如同所有WAIK工具一样, VU Batch Modules要求完全管理员权限来运行.
[table=481,lemonchiffon][tr][td]对64位系统用户的重要提示
在执行PrepLab.cmd之前,需要调整ImgX变量的值.
"%Programfiles%\Windows AIK\Tools\x86"这里,你需要用"amd64"代替"x86"
整行命令将是如下:
SETX Imgx "%Programfiles%\Windows AIK\Tools\amd64" -m
[/td][/tr][/table]我们打开这个VU_Batchs文件夹,双击运行PrepLab.cmd:



出现一个窗口提示我们在DVD光驱中插入Vista DVD光盘.



并非一定要在此时复制Vista光盘,但笔者推荐这样做.如果你不想在此时复制光盘,则不用插入光盘,按任意键即可.然后将弹出如下窗口:



选择"L"后会要求键入创建工作目录的分区盘符.我们要确认该分区有足够的空间(推荐6G以上).



接下来将会在我们选择的分区中建立一系列工作目录.相应的环境变量同时也会被设定好.
[img]http://www.chinadforce.com/attachments/day_070807/20070807_69206429e97e591b919fNIYTf6FbftcD.png[/img]


现在我们的系统已经为运行其他VU Batch Modules做好了准备.任意键关闭PrepLab.cmd窗口.
如果你想知道设置了哪些环境变量,点击开始\控制面板\系统\高级\环境变量,就可以看到了.
[img]http://www.chinadforce.com/attachments/day_070807/20070807_09a1749f008959fe2b87Anajn4wz3bJv.png[/img]

[ 本帖最后由 深水易寒 于 2008-3-28 10:28 编辑 ]
离线深水易寒

发帖
2098
今日发帖
最后登录
2020-02-27
只看该作者 沙发  发表于: 2008-03-28 10:28:04
4.可选装的工具
我们将用到文本编辑工具来查看应答文件,我们也可能将需要创建自己的批处理文件.Windows内置的记事本就可以做这些工作.但xml在记事本中的可读性不强.



notepad2是一个更强大更易用的免费编辑工具.当然你还可以选择其他编辑工具.下图是同样的xml文件在notepad2中的显示效果.





工作目录介绍

1.工作目录结构
这部分将介绍工作目录的结构以及PrepLab.cmd所设置的环境变量.如果你不想运行PrepLab.cmd或者如果运行出错,你可以在这里看到具体的目录结构.以便手动完成这些工作.
PrepLab.cmd执行完成之后我们将会在之前选择的分区中看到一个名为VistaWork的文件夹.它包含如下结构:



文件夹后面的红色标签是指向这些文件夹的相应环境变量.我们可以在批处理或命令行中用这些环境变量来访问相应目录.

2.文件夹的作用
Distribution (%VDistri%)
此文件夹包含Distribution Share目录结构
DVD (%VDVD%)
此文件夹中是Vista DVD中的文件和目录.里面还有一个Drivers文件夹,用以存放之后的附加驱动.
ISO (%VISO%)
此文件夹是存放无人值守安装的ISO镜像文件的地方.
Logs (%VLog%)
某些WAIK命令行工具将使用此文件夹存放log文件.
Mount (%VMount%)
Vista将所有的安装文件都存放在一个打包好的映像中.因此如果想要编辑其中的文件,我们需要先将映像的内容加载到一个目录中.Mount文件夹就是用来缓存这些已加载的文件的.
当我们将映像加载到Mount文件夹后,此文件夹中的目录结构将于我们最终的目标系统安装完成时的结构一样.



如果需要从Mount文件夹中删除已经存在的文件或文件夹,按Shift+Delete.此操作需谨慎.如果删错了文件,这个映像文件将可能再也无法成功安装.
Sandbox (%VSandb%)
此文件夹是当向Vista映像文件添加额外的工具包(如系统更新)时,package manager用来当作临时目录的.工具包将被解压到Sandbox文件夹,检查文件依赖,然后再集成到已加载的映像中.
[table=442,lemonchiffon][tr][td]重要提醒:
当一个package manager运行完毕时必须将Sandbox文件夹中所有文件删除.
否则在下一次package manager运行时可能造成混乱.[/td][/tr][/table]
Updates (%VUpdates%)
我们将把从微软网站下载来的更新文件放在这里
wim (%Vwim%)
此文件夹用来存放我们自己做的Vista映像文件(.wim).
xml
此文件夹用以存放实际安装时可能不会用到的xml应答文件.

VU Batch Modules的使用

欲执行某个批处理(cmd)文件,只需鼠标左键双击之即可.
注意:与WAIK其他命令行工具一样,VU Batch Modules需要以完全管理员权限运行.
(Kid注:原文这里有一段关于原文网站图标说明的话,与文章无关,华丽地忽略-v-)
这里将对批处理组件做个总览.批处理文件本身包含了详细的说明,因此这里就简要地说明一下它们的用途.
这里笔者强调一点,这些批处理组件并非一些软件程序.它们只是用来避免繁复输入工作而已.
同时它们也是如何使创建工作自动化的一个实例.根据这些文件的模块结构和对批量工作环境的使用,可以很容易地创建出自己的批处理文件.
PrepLab.cmd
作用:
-建立工作目录
-复制Vista DVD光盘到\VistaWork\DVD目录
-设定环境变量
[table=80,lemonchiffon][tr][td]对64位系统用户的重要提示
在执行PrepLab.cmd之前,需要调整ImgX变量的值.
"%Programfiles%\Windows AIK\Tools\x86"这里,你需要用"amd64"代替"x86"
整行命令将是如下:
SETX Imgx "%Programfiles%\Windows AIK\Tools\amd64" -m
[/td][/tr][/table]

image_info_boot_wim.cmd和image_info_install_wim.cmd
作用:
-显示.wim文件的信息(包含的映像数量,映像名称等)
image_info_boot_wim.cmd和image_info_install_wim.cmd实质上是两个一样的文件.只有%Abbild%变量的值不同.两个文件%Abbild%的值分别指向欲取得信息的.wim文件.因此你可以为你自己的.wim文件创建其他的info.cmd文件,只需修改%Abbild%的值就可以了.

mount_boot_wim.cmd和mount_install_wim.cmd
作用:
-加载相应的.wim文件到\VistaWork\Mount目录,以供magex/mountrw命令的读写.
-如果\Vista\Work中已经加载了一个映像,这个批处理文件将询问在加载新映像前关闭当前映像.
这两个同样是实质上相同的文件,除了%Abbild%的值不同.

unmount.cmd
作用:
-关闭\VistaWork\Mount中的映像,而不保存任何修改.

unmount_commit.cmd
作用:
-关闭\VistaWork\Mount中的映像,保存所有修改.

create_iso.cmd
作用:
-使用oscdimg.exe将\VistaWork\DVD目录下的文件和文件夹创建成一个可启动的ISO镜像文件.

au_fehler.cmd
作用:
-如果工作环境中有错误,au_fehler.cmd用来显示错误信息.

build_menu.cmd
作用:
-使用.wim文件的信息来建立一个选择菜单(Kid注:此菜单用以选择Vista版本)

check_umgebung.cmd
作用:
-检查工作环境中的错误.
离线深水易寒

发帖
2098
今日发帖
最后登录
2020-02-27
只看该作者 板凳  发表于: 2008-03-28 10:29:54
如何使用WSIM创建自动应答文件(Autounattend.xml)
准备工作:
1. Vista DVD光盘,复制到硬盘上的相应目录
2. Microsofts WAIK

第一步:打开WSIM
我们可以在开始菜单\程序\Microsoft Windows AIK中找到WSIM.打开后如图所示:




第二步:打开Windows映像文件(install.wim)
打开File菜单,选择Select Windows Image...



选择我们之前复制Vista DVD的目录,进入sources文件夹



选中install.wim,点击Open.
现在弹出窗口,让我们选择一个映像.选择我们所拥有的序列号所对应的版本(比如ULTIMATE),点击OK.



会弹出一个对话框,选择Yes.
WSIM将会开始生成该映像(imstall.wim)的catalog(Kid注:大致是结构之意,由于后文需要,没有翻译).
注意:
这一步骤将会需要一些时间,不要取消它!直到你看到WSIM的Windows Image栏中出现如下图为止.




第三步:创建新的应答文件
打开File菜单,选择New Answer File...



在Answer File栏中可以看到图中所示条目:



这些条目代表了不同的Vista安装设置流程.

第四步:从catalog中添加组件到应答文件中
在Windows Image栏中,展开Components条目.从展开的条目中找到Microsoft-Windows-International-Core-WinPE,也展开它:



在SetuoUILanguage上右键单击,选择Add Setting to Pass 1 windowsPE:



该条目将会被转移到Answer File栏中.在这里选择它,可以更改它的设置.
离线深水易寒

发帖
2098
今日发帖
最后登录
2020-02-27
只看该作者 地板  发表于: 2008-03-28 10:31:16
在开始编辑属性之前我们添加一些更多的组件到应答文件中.我们将添加如下组件:
组件流程
Microsoft-Windows-Setup\UserData 1 windowsPE
Microsoft-Windows-Setup\Display 1 windowsPE
Microsoft-Windows-Setup\ImageInstal\OSImage\InstallFrom\MetaData 1 windowsPE
Microsoft-Windows-Security-Licensing-SLC-UX 4 specialize
Microsoft-Windows-Shell-Setup\AutoLogon 7 oobeSystem
Microsoft-Windows-Shell-Setup\Display 7 oobeSystem
Microsoft-Windows-Shell-Setup\OOBE 7 oobeSystem
如果一切正常,我们的Answer File栏将会如下图所示:




第五步:编辑应答文件中的组件设置
点击Answer File栏中的一个条目,我们可以在Properties栏中编辑此组件的设置.我们将使用如下设置:
windowsPE \ Microsoft-Windows-International-Core-WinPE



如果要使用其他语言,请注意如下几处:
InputLocale:使用微软网站此页面中Default Input Locales表中的Hexadecimal Identifier数值.(Kid注:如简体中文在表中就是0x00000804,根据上图,应该输入0804:00000804)
LayerdDriver:使用
微软网站此页面中的值.(Kid注:这里是键盘布局.默认即可)
SystemLocale:使用
微软网站此页面Language Pack Defaults表中System Locale一栏的值.(Kid注:简体中文为zh-CN)
UILanguage:使用
微软网站此页面Language Pack Defaults表中UILanguage一栏的值.(Kid注:简体中文为zh-CN)
UserLocale:使用
微软网站此页面Language Pack Defaults表中UserLocale一栏的值.(Kid注:简体中文为zh-CN)


windowsPE \ Microsoft-Windows-International-Core-WinPE \ SetupUILanguage



UILanguage:使用微软网站此页面Language Pack Defaults表中UILanguage一栏的值.(Kid注:简体中文为zh-CN)
[table=98%,lemonchiffon][tr][td]注意:
以上属性会被应用在安装流程中的WindowsPE一步中.它们并非最终成品系统的语言!
[/td][/tr][/table]

windowsPE \ Microsoft-Windows-Setup \ Display



引用: [indent]Refresh Rate(刷新率)问题
这里RefreshRate是有意空着的.你可以尝试你的显示器所支持的任意刷新率,如60, 75等.但笔者从来没能在应答文件中成功设置好这个属性.显示方式从未完好设置,并且在记录中有错误消息.
在将RefreshRate彻底留空后,才正常设到笔者显示器的正确分辨率.


如何设置终端用户桌面的显示
你可以设定除了offlineServicing和generalize之外的每个安装流程的显示属性.如果你想要调整终端用户桌面的显示属性,则需要在最后的oobe流程中设定.这就是最终成品系统的显示属性设定.
如何设置终端用户桌面的显示属性
[/indent]


windowsPE \ Windows-Setup \ ImageInstall \ OSImage




windowsPE \ Windows-Setup \ ImageInstall \ OSImage \ InstallFrom



如果你的安装源是DVD光盘,那么就不用在这里填什么东西.留空即可.

windowsPE \ Windows-Setup \ ImageInstall \ OSImage \ InstallFrom \ MetaData

离线深水易寒

发帖
2098
今日发帖
最后登录
2020-02-27
只看该作者 地下室  发表于: 2008-03-28 10:33:18
MetaDate属性将指向install.wim中正确的Vista版本. 引用: [indent]这句话什么意思?
你可能已经发现了,Vista DVD光盘并不只包含一个Vista版本.它包含了所有版本.不同的版本并非存储在不同的文件夹下,而是全部存放在install.wim这个大文件中.
因此如果我们的安装源是install.wim(如同我们在InstallFrom Path中设置的那样),我们需要指定正确的Vista版本.我们有三种方法来指定Vista版本:

/IMAGE/NAME
/IMAGE/INDEX
/IMAGE/DESCRIPTION
斜体部分就是我们所需要填入的正确版本对应的值.

如何获取正确的值
install.wim包含了一个描述其内容的索引.我们可以用imagex /info命令(或image_info_install_wim.cmd)来查看.
点击开始\程序\Microsoft Windows AIK\ die Windows PE Tools Command Prompt.键入如下命令:
复制内容到剪贴板 代码:imagex /info D:\VistaWork\DVD\sources\install.wim
这里需要将D:\VistaWork\DVD\sources\install.wim换成你自己的install.wim的路径!
会显示如下信息.如果你使用的是一个修改过的install.wim,可能显示会有所不同:



在本文的例子中,我们得到的值分别是:
/IMAGE/NAME Windows Vista BUSINESS
/IMAGE/INDEX 1
/IMAGE/DESCRIPTION Windows Vista BUSINESS
现在我们可以使用其中的一个,来指向Windows Vista BUSINESS:










[table=98%,lemonchiffon][tr][td]注意:
三个选择,只能同时使用一个.要确保在你的Autounattend.xml中只有一个MetaData参数
[/td][/tr][/table]

[/indent]
windowsPE \ Windows-Setup \ UserData




windowsPE \ Windows-Setup \ UserData \ ProductKey



填入序列号

specialize \ Windows-Security-Licensing-SLC-UX



[table=98%,lemonchiffon][tr][td]注意:
笔者强烈建议在调试中使用此设置.该设置将避免"系统一旦有网络连接,Vista就被自动激活"这种情况.
[/td][/tr][/table]

oobeSystem \ Windows-International-Core



如果要使用其他语言,请注意如下几处:
InputLocale:使用
微软网站此页面中Default Input Locales表中的Hexadecimal Identifier数值.(Kid注:如简体中文在表中就是0x00000804,根据上图,应该输入0804:00000804)
LayerdDriver:使用
微软网站此页面中的值.(Kid注:这里是键盘布局.默认即可)
SystemLocale:使用
微软网站此页面Language Pack Defaults表中System Locale一栏的值.(Kid注:简体中文为zh-CN)
UILanguage:使用
微软网站此页面Language Pack Defaults表中UILanguage一栏的值.(Kid注:简体中文为zh-CN)
UserLocale:使用
微软网站此页面Language Pack Defaults表中UserLocale一栏的值.(Kid注:简体中文为zh-CN)

oobeSystem \ Windows-Shell-Setup




oobeSystem \ Windows-Shell-Setup \ AutoLogon



[table=98%,lemonchiffon][tr][td]注意:
如果你将"Administrator"设为用户名,那么内置的管理员账户将被启用.
无论你使用什么语言的版本,只使用英文单词的"Administrator".
只有英文单词的"Administrator"会启动主管理员账户!
在这个初级Autounattend.xml中请不要尝试非Administrator账户!
[/td][/tr][/table]

oobeSystem \ Windows-Shell-Setup \ Display
[img]http://www.chinadforce.com/attachments/day_070807/20070807_fe56d603053ebbf973164yf2uU0zziGv.png[/img]




引用: [indent]Refresh Rate(刷新率)问题
这里RefreshRate是有意空着的.你可以尝试你的显示器所支持的任意刷新率,如60, 75等.但笔者从来没能在应答文件中成功设置好这个属性.显示方式从未完好设置,并且在记录中有错误消息.
在将RefreshRate彻底留空后,才正常设到笔者显示器的正确分辨率.


如何设置终端用户桌面的显示
你可以设定除了offlineServicing和generalize之外的每个安装流程的显示属性.如果你想要调整终端用户桌面的显示属性,则需要在最后的oobe流程中设定.这就是最终成品系统的显示属性设定.
如何设置终端用户桌面的显示属性
[/indent]
oobeSystem \ Windows-Shell-Setup \ OOBE
[img]http://www.chinadforce.com/attachments/day_070807/20070807_5d8158e6bd03168192e5J8ho1MCy7hlT.png[/img]
离线深水易寒

发帖
2098
今日发帖
最后登录
2020-02-27
只看该作者 5 发表于: 2008-03-28 10:35:57
注意:
如果你将设为true,当你验证或保存应答文件的时候会有如下警告:



这只是一个警告.可以忽略.这并不会影响顺利运行.


第六步:验证应答文件
点击Tools菜单,选择Validate Answer File来验证应答文件.



如果一切正常,将会显示如下信息:



如果你得到了错误信息(红色圆圈白色叉叉),则需要重新检查所有设定.

[table=98%,lemonchiffon][tr][td]注意:
成功验证应答文件并不能保证在实际安装的时候不会出任何问题.这个验证过程仅仅是检查语法方面的错误!
[/td][/tr][/table]


第七步:保存应答文件为Autounattend.xml
点击File菜单,选择Save Answer File As...



选择任意目录,以"Autounattend"为文件名保存.只需在文件名中填入"Autounattend"即可,xml后缀已经自动选择好了.




第八步:复制Autounattend.xml到移动存储设备(软盘,USB闪存盘,光盘)中
现在我们将做好的Autounattend.xml复制到任意移动存储设备中,如USB闪存盘.记得将其存放在该设备的根目录中.
如果你想在Vista DVD光盘中内置Autounattend.xml,则将其复制到Vista DVD文件所在的目录的根目录下,然后创建新的ISO镜像文件.

第九步:执行Vista安装
至此,我们就可以开始执行我们的无人值守Vista安装了.只需将Vista DVD光盘和第八步的移动存储设备插入需要安装的机器,当弹出提示的时候按任意键即可.

[table=535,lemonchiffon][tr][td]备注:
这其实只是一个很简单的无人值守安装.它只包含了一些基本组件,你可能仍旧需要做一些手动配置工作.
[/td][/tr][/table]

已知的问题:Autounattend.xml没有被执行
在很多论坛上有帖子讨论Autounattend.xml应该被放在DVD光盘的什么位置.多数人认为它应该被放置在光盘的根目录下.也有一些人将其放在光盘的sources目录下并成功执行.
Vista安装程序会以一个特定的顺序来寻找Autounattand.xml文件(参看这个文档).
如果你将Autounattend.xml放置在光盘的根目录下而无法被检测并执行,那么将它放在sources文件夹下.笔者尚未发现其中的规律,但好像虚拟机通常需要将其放置在sources文件夹内.

[table=559,lemonchiffon][tr][td]原文标题:FireGeier's Unattended Vista Guide
原文地址:http://firegeier.unattended-sponsor.de/en/sitemap.html
[/td][/tr][/table]



[table=98,lemonchiffon][tr][td]Kid手记:
这只是一个初级的指南.原文还包含了高级部分内容,包括分区的部署,集成更新,集成软件等.篇幅实在太大,加上时间原因,这里只翻译了前言和初级部分.如果今后有时间有机会我会将其补完.
其实这个内容自己没有实践过,纯粹就是翻译.不足之处请谅解.包括语句组织,名词的翻法等.欢迎跟帖交流.
这个贴太长了,如果有图贴错位置的请谅解.我自己都有点糊涂了.
另外,本该在截止时间前发布的.但昨天实在无法上网.与版主沟通后在今天发布.


[/td][/tr][/table]