用Sysprep打造高质量的系统映像
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Sysprep
Sysprep是一个“系统准备”工具,主要功能是在创建磁盘映像之前删除当前操作系统的所有唯一性信息,便于Ghost之类的工具复制磁盘映像。不过除此之外,Sysprep还有其他许多功能,充分利用这些功能将大大提高映像的质量。
一、延长映像的生存期
建筑需要坚固的基础才能经受住时间的考验,同样地,构造系统映像也需要优质的原材料和高超的技巧。为了构造出高质量的系统映像,不能让根本没用的驱动程序、注册键、应用程序混入映像文件,所以用来创建映像的源机器一定要全新安装。
在准备创建映像的过程中,Sysprep会断开源机器与域的联系——所以只要有可能,应该尽量避免将源机器加入到任何域,可以用本地的Administrator帐户安装应用程序、Service Pack和实施各种定制操作。为了尽可能地延长映像文件的使用时间,这个阶段的定制操作应当慎重。如果要改变某些设置,尽可能用cmdlines.txt脚本(后面将有详细讨论)。
在Windows中,每一个用户帐户有它自己的一套配置数据,如每个用户有不同的桌面设置、“我的文档”等,这类配置数据统称为配置文件。Windows会自动为每个新建的用户帐户设置默认的配置文件,但默认配置文件往往不能满足需要,必须经过定制才适合使用。对于大多数小型网络环境(或独立的机器),由于没有域服务器,不能通过组策略发布和管理用户的配置文件。那么,是否可以将定制的配置文件作为默认的配置文件加入到映像文件,也就是说,以后新建用户帐户时,让Windows自动将定制的配置文件作为默认配置文件呢?答案是肯定的,具体实现步骤是:
⑴ 建立一个临时的本地帐户,登录该帐户,定制桌面、开始菜单以及其他想要定制的与用户配置文件有关的设置,完成后,注销该帐户,然后用Administrator帐户登录。
⑵ 为便于后继步骤的操作,配置资源管理器,使其显示隐藏的文件和文件夹。
⑶ 右击“我的电脑”,选择“属性”,然后点击“高级”选项卡。在“用户配置文件”下面点击“设置”,选择为临时用户创建的配置文件,然后点击“复制到”,转到%SystemDrive%\Documents and Settings,选择Default User文件夹,点击“确定”。
⑷ 在“允许使用”下面点击“更改”,输入everyone,如图一;点击“确定”、“确定”。
⑸ 当系统询问是否要覆盖现有的默认用户配置文件时,回答“是”。
经过这番设置之后,第一次登录该系统(或用该映像创建的系统)的用户将采用上面设定的默认用户配置文件。
大多数较新的机器都需要操作系统安装盘本身没有提供的驱动程序。那么,如何让这类驱动程序也能自动安装呢?你必须把它们复制到硬盘上的某个位置,然后修改sysprep.inf指定这些位置(参见附
录“自动创建Sysprep.inf文件”)。具体的操作步骤是:
㈠ 在系统驱动器的根目录下创建一个Sysprep目录,用来保存运行Sysprep必需的执行文件和sysprep.inf文件。
㈡ 在系统驱动器的根目录或Sysprep目录下创建一个Drivers目录——如果你要让目标机器运行好最小安装后能够使用这些驱动程序,则在根目录下创建Drivers文件夹;如果将驱动程序保存在Sysprep目录下的文件夹,最小安装过程将清除它们(最小安装是Windows常规安装过程的简化版,它只询问尚未在sysprep.inf中回答的问题)。
㈢ 在Drivers文件夹下,为不同的硬件设备创建相应的子目录保存驱动程序,将所有第三方驱动程序复制到相应的子目录。
㈣ 接下来还要设置一下sysprep.inf文件,以便最小安装过程能够找到驱动程序,如下面的例子所示。注意安装程序不会搜索OemPnPDriverPath路径的子目录,所以每一个目录都必须分别指定:
二、挖掘sysprep.inf的潜力
要让同一个映像适用于不同类型的硬件系统,最关键的是要设置好sysprep.inf文件的SysprepMassStorage小节。你可以手工在这个小节中加入大容量存储设备的驱动程序,使得具有不同磁盘控制器的系统能够共享映像;或者干脆一点,你可以让Sysprep自动填写该小节,加入操作系统带有的所有大容量存储设备。
第二种办法的优点是一个映像文件可以支持大量的硬件设备——即使是创建映像时你还不可能想到的那些设备;其缺点是,在Sysprep处理期间引入所有的驱动程序需要额外耗费10到15分钟的时间,而且必须在目标系统上用-clean参数运行Sysprep。
让Sysprep自动加入大容量存储设备的操作步骤是:
⑴ 首先确保sysprep.inf同时提供Sysprep和SysprepMassStorage 小节。
⑵ 在Sysprep小节下面创建如下指令:BuildMassStorageSection=Yes。
⑶ 打开一个命令窗口,转到sysprep.exe所在的目录,执行命令sysprep -bmsd。Sysprep将构造出SysprepMassStorage小节的内容并结束。
⑷ 接着执行Sysprep -mini,完成最后的Sysprep操作。
除了SysprepMassStorage小节之外,sysprep.inf还有其他许多配置项目值得好好利用。例如,UserData小节用来定义安装期间典型问题的答案,凡是最小安装期间希望手工输入的内容,保留空白即可。如果你想让映像既能够用于多处理器的系统,也能够用于单处理器的系统,可以在Unattended小节中设定UpdateHAL或UpdateUPHAL。Identification小节的作用是自动加入域或者工作组。
最后,你可以用GuiUnattended小节的OEMDuplicatorString设置来辅助管理映像文件的修订,这个设置选项将把指定的字符串值加入到所有由该映像构造的系统;以后,当你要检查一下某台机器的操作系统是由哪一个映像构造时,可以检查注册键
HKEY_LOCAL_MACHINE\SYSTEM\Setup\OemDuplicatorString确定原来的映像。
三、自动执行操作
为了提高安装过程的灵活性,你可以在安装期间或之后自动运行一些命令。如果要在最小安装结束后安装软件或运行程序、批命令文件、脚本,只要将相应的指令写入cmdlines.txt文件;如果要在目标系统重新启动后安装程序或运行命令,则必须将指令写入sysprep.inf文件的GuiRunOnce小节。
■ cmdlines.txt