流传一:所需工具软件
xp_w_picpath.exe
Setide.exe 用来更改IDE和电源模式
SYSPREP.EXE 封装程序
devcon.exe 用来删除驱动
一、制作PE引导映像
1. 提取原始Install.wim的1和2映像解压到空分区(或虚拟分区,用命令:subst x: d:\boot subst y: d:\drive)
① 将 install.wim 中的内容张开到驱动器x:和y:
设 xp_w_picpath 所在的目录在 D:\xp_w_picpath;进入该目录,键入
xp_w_picpath /apply d:\install.wim x: 1
xp_w_picpath /apply d:\install.wim y: 2
② 将 x: 和 Y: 由的文件生成新的 WIM 文件:
xp_w_picpath /flags 1 /boot x: e:\Install.wim "WinPE Boot Image"
xp_w_picpath /flags 2 /append y: e:\Install.wim "WinPE Drive Image"
现在生成的Install.wim镜像已经含有PE必需的启动信息和驱动信息. (此文件可做个备份方便以后调用)
注意:如果你已经有带PE引导的*.wim文件,可不做此步骤
二、安装全新的Windows XP 和其它软件
三、删除修改驱动程序
运行 Setide.exe
四、优化系统
1、关闭“电源管理”下的的休眠功能。右击桌面空白处,选择“属性 →屏幕保护程序→电源→休眠”,取消“启用休眠”前的钩即可。
2、关闭系统还原
3、如果你安装了一些通过Windows Installer安装的软件,并且以后不打算删除或者修复这些软件,还可以有选择的把C:\WINDOWS\Installer下的一些.msi文件删除。
4、解压XP安装盘\SUPPORT\TOOLS\DEPLOY.CAB中的SYSPREP.EXE、setupcl.exe、setupmgr.exe到C:\sysprep目录
五、运行封装程序
1、运行C:\sysprep\setupmgr.exe 制作SYSPREP.INF文件
2、执行C:\sysprep\devcon.exe remove * 删除驱动
3、运行C:\sysprep\SYSPREP.EXE -mini -noreboot 封装系统
4、进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决 见下方的进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决
5、重启电脑后用PE系统盘引导进入PE系统
六、在PE系统中制作映像文件
1、替换C:\WINDOWS\SYSTEM32\SETUP.BMP (安装背景图片、可不做)
2、追加自己封装的系统分区:
先删除pagefile.sys
del C:\pagefile.sys
xp_w_picpath.exe /flags 0 /append C: D:\Install.wim "Windows XP VOL SP2 "
C: 表示系统所在盘符
4、用UltraISO将做好的install.wim替换iso中的install.wim
七、刻盘安装!
可制作2K,2003,XP的WIM安装盘
此制作方法还用2个问题
1、C:\ntldr文件需手动恢复
2、制作2K系统时在恢复系统时需修改Boot.ini文件(将WINDOWS改为WINNT)
(我自己写了个程序在恢复系统时自动恢复ntldr文件和修改Boot.ini文件)
ISO包含文件:
BOOT\
BOOTFIX.BIN
FS_EXT.SYS
SETUPLDR.BIN
SOURCES\
eula.txt
PIDGEN.DLL
setup.exe
SETUPP.INI
setup.exe.local
spflvrnt.dll
spwizeng.dll
wdscore.dll
wdsutil.dll
win32ui.dll
win32uitheme.dll
winsetup.dll
xmlrw.dll感谢flyppgg
xp_w_picpath.exe
Setide.exe 用来更改IDE和电源模式
SYSPREP.EXE 封装程序
devcon.exe 用来删除驱动
一、制作PE引导映像
1. 提取原始Install.wim的1和2映像解压到空分区(或虚拟分区,用命令:subst x: d:\boot subst y: d:\drive)
① 将 install.wim 中的内容张开到驱动器x:和y:
设 xp_w_picpath 所在的目录在 D:\xp_w_picpath;进入该目录,键入
xp_w_picpath /apply d:\install.wim x: 1
xp_w_picpath /apply d:\install.wim y: 2
② 将 x: 和 Y: 由的文件生成新的 WIM 文件:
xp_w_picpath /flags 1 /boot x: e:\Install.wim "WinPE Boot Image"
xp_w_picpath /flags 2 /append y: e:\Install.wim "WinPE Drive Image"
现在生成的Install.wim镜像已经含有PE必需的启动信息和驱动信息. (此文件可做个备份方便以后调用)
注意:如果你已经有带PE引导的*.wim文件,可不做此步骤
二、安装全新的Windows XP 和其它软件
三、删除修改驱动程序
运行 Setide.exe
四、优化系统
1、关闭“电源管理”下的的休眠功能。右击桌面空白处,选择“属性 →屏幕保护程序→电源→休眠”,取消“启用休眠”前的钩即可。
2、关闭系统还原
3、如果你安装了一些通过Windows Installer安装的软件,并且以后不打算删除或者修复这些软件,还可以有选择的把C:\WINDOWS\Installer下的一些.msi文件删除。
4、解压XP安装盘\SUPPORT\TOOLS\DEPLOY.CAB中的SYSPREP.EXE、setupcl.exe、setupmgr.exe到C:\sysprep目录
五、运行封装程序
1、运行C:\sysprep\setupmgr.exe 制作SYSPREP.INF文件
2、执行C:\sysprep\devcon.exe remove * 删除驱动
3、运行C:\sysprep\SYSPREP.EXE -mini -noreboot 封装系统
4、进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决 见下方的进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决
5、重启电脑后用PE系统盘引导进入PE系统
六、在PE系统中制作映像文件
1、替换C:\WINDOWS\SYSTEM32\SETUP.BMP (安装背景图片、可不做)
2、追加自己封装的系统分区:
先删除pagefile.sys
del C:\pagefile.sys
xp_w_picpath.exe /flags 0 /append C: D:\Install.wim "Windows XP VOL SP2 "
C: 表示系统所在盘符
4、用UltraISO将做好的install.wim替换iso中的install.wim
七、刻盘安装!
可制作2K,2003,XP的WIM安装盘
此制作方法还用2个问题
1、C:\ntldr文件需手动恢复
2、制作2K系统时在恢复系统时需修改Boot.ini文件(将WINDOWS改为WINNT)
(我自己写了个程序在恢复系统时自动恢复ntldr文件和修改Boot.ini文件)
ISO包含文件:
BOOT\
BOOTFIX.BIN
FS_EXT.SYS
SETUPLDR.BIN
SOURCES\
eula.txt
PIDGEN.DLL
setup.exe
SETUPP.INI
setup.exe.local
spflvrnt.dll
spwizeng.dll
wdscore.dll
wdsutil.dll
win32ui.dll
win32uitheme.dll
winsetup.dll
xmlrw.dll感谢flyppgg
网上的另一个方法:
WIM 封装的 Windows XP SP2 制作过程全记录
具体步骤如下:
1、安装 Windows XP SP2 最新版本,打好各种补丁,调整好各种设置。
2、用 Ghost 做好备份。
3、删除可以删除的各种垃圾,以减小体积,这一步一定要小心。
3、用 Setupmgr.exe 生成自动封装脚本 sysprep.inf 文件。
4、用 Sysprep.exe 执行封装操作。
5、用深山红叶启动光盘启动电脑,进行 Windows PE。用 Xp_w_picpath.exe 执行 lzx 压缩。
① 下载 Longhorn 光盘,从中提取出 install.wim 文件放在 E:install.wim;
② 执行命令 xp_w_picpath /info E:install.wim,观察看到的信息:
具体步骤如下:
1、安装 Windows XP SP2 最新版本,打好各种补丁,调整好各种设置。
2、用 Ghost 做好备份。
3、删除可以删除的各种垃圾,以减小体积,这一步一定要小心。
3、用 Setupmgr.exe 生成自动封装脚本 sysprep.inf 文件。
4、用 Sysprep.exe 执行封装操作。
5、用深山红叶启动光盘启动电脑,进行 Windows PE。用 Xp_w_picpath.exe 执行 lzx 压缩。
① 下载 Longhorn 光盘,从中提取出 install.wim 文件放在 E:install.wim;
② 执行命令 xp_w_picpath /info E:install.wim,观察看到的信息:
Available Image Choices:
------------------------
33
979
152267917
0x1C58977
0x96FB6AE0
WINPE BOOT IMAGE
1
32
976
152267730
0x1C58977
0xB38CF480
WINPE DRIVE IMAGE
2
1882
22874
3965721128
0x1C58C3D
0x9A7EE2A0
ALL IN 1 IMAGE
0
可以看到 flag 1 和 flags 2 包含了Windows PE 的启动信息和驱动部分。
③ 生成两个虚拟驱动器:
md D:\boot
md d:\drive
subst x: d:\boot
subst y: d:\drive ④ 将 install.wim 中的内容张开到驱动器x:和y:
设 xp_w_picpath 所在的目录在 D:\xp_w_picpath;进入该目录,键入
xp_w_picpath /apply e:\install.wim x: 1
xp_w_picpath /apply e:\install.wim y: 2
⑤ 将 x: 和 Y: 由的文件生成新的 WIM 文件:
xp_w_picpath /flags 1 /boot x: e:\install0.wim "BOOT IMAGE"
xp_w_picpath /flags 2 /append y: e:\install0.wim "DRIVE IMAGE"
新生成的 install0.wim 文件比 install.wim 文件小很多。
⑥ 覆盖了原来的 install.wim 文件:
copy e:\install0.wim e:\install.wim
⑦ 将启动盘的所有内容压制到新 install.wim 文件中:
xiamge /flags 0 /append c: e:\install.wim "WINXP SP2 IMAGE"
这一步的时间很长,图拉丁1.2G 时执行 Ghost 只需要 4 分钟,用 xp_w_picpath lzx 压缩需要 21 分钟。
6、用 Ghost 恢复系统。
7、将 insall.wim 文件放入下载的 iso 文件( [url]www...net/bbs[/url] 有.提供的 iso 下载)中,重新生成 iso 镜像,刻盘,测试。
至此,整个封装过程结束。
由于 封装的 iso 内有大量的新驱动,在 vm 中测试可能会蓝屏,但在主机上安装不会有问题 流传三:
------------------------
可以看到 flag 1 和 flags 2 包含了Windows PE 的启动信息和驱动部分。
③ 生成两个虚拟驱动器:
md D:\boot
md d:\drive
subst x: d:\boot
subst y: d:\drive ④ 将 install.wim 中的内容张开到驱动器x:和y:
设 xp_w_picpath 所在的目录在 D:\xp_w_picpath;进入该目录,键入
xp_w_picpath /apply e:\install.wim x: 1
xp_w_picpath /apply e:\install.wim y: 2
⑤ 将 x: 和 Y: 由的文件生成新的 WIM 文件:
xp_w_picpath /flags 1 /boot x: e:\install0.wim "BOOT IMAGE"
xp_w_picpath /flags 2 /append y: e:\install0.wim "DRIVE IMAGE"
新生成的 install0.wim 文件比 install.wim 文件小很多。
⑥ 覆盖了原来的 install.wim 文件:
copy e:\install0.wim e:\install.wim
⑦ 将启动盘的所有内容压制到新 install.wim 文件中:
xiamge /flags 0 /append c: e:\install.wim "WINXP SP2 IMAGE"
这一步的时间很长,图拉丁1.2G 时执行 Ghost 只需要 4 分钟,用 xp_w_picpath lzx 压缩需要 21 分钟。
6、用 Ghost 恢复系统。
7、将 insall.wim 文件放入下载的 iso 文件( [url]www...net/bbs[/url] 有.提供的 iso 下载)中,重新生成 iso 镜像,刻盘,测试。
至此,整个封装过程结束。
由于 封装的 iso 内有大量的新驱动,在 vm 中测试可能会蓝屏,但在主机上安装不会有问题 流传三:
制作基于longhorn安装方法的封装系统盘的方法
1.请安装要封装的系统到空分区。 (注:即从头安装一遍,这个系统就是封装的wim镜象所包含的系统) 2.拷贝安装盘的i386(和amd64、IA64如果有的话)到系统的根目录。注意要在系统内操作! 3.安装TweakUI,修改安装源指向%SystemRoot%\I386(或者AMD64/IA64) 4.卸载TweakUI。 (注:这是为了解决电源管理,既ghost镜像里的硬盘抽象层,可用.的工具代替) 5.拷贝Longhorn 4074 or 5048的SYSPREP目录(或者是wim中提取) (注:提取最新版的系统封装程序部署包) 6.在系统中运行SYSPREP\uncabsrc.cmd 7.运行SYSPREP程序进行封装。 8.分别将wim的1和2映像分区解到空分区(或虚拟分区)上。 注:这是winpe部分,可参照以下方法制作 10.提取第一部分:WinPE Boot Image到指定的空分区(盘符设为J:),然后执行命令:xp_w_picpath /apply D:\install.wim J: 1 (“1”不能少,用来指定提取第一部分启动信息) 11.用xp_w_picpath /boot 来生成带启动信息的WIM镜像,具体命令如下: xp_w_picpath /boot /capture /lzx /flags 1 J: e:\install.wim "WinPE Boot Image" /capture表示生成镜像,/flags 1 表示用户自定义的标记。这里仍然遵循原镜像的约定。 /lzx 是压缩参数,经过测试,这是最大的压缩参数。 引号里的参数是自定义的描述性信息 12.删除D分区所有文件,从原install.wim里释放第二部分到D分区,命令如下 xp_w_picpath /apply D:\install.wim J: 2 (“2”不能少,用来指定提取第二部分驱动信息) step 4将D分区里的驱动信息追加到step 2中生成已经带启动信息的install.wim中,命令如下: xp_w_picpath /append /lzx /scroll /flags 2 D: e:\install.wim "WinPE Drive Image" (/append表示追加,/scroll表示以滚屏方式显示进度,/flags 2表示作的标记,仍然遵循原镜像的约定) 现在生成的wim镜像已经含有PE必需的启动信息和驱动信息. 13.然后追加自己封装的系统分区: xp_w_picpath.exe /flags 0 /append D: install.wim "Windows Longhorn pro" 14.将wim改名为install.wim. 15.用xp_w_picpath /info 察看映像的indexes,如果是0、1、2,请改为1、2、3(用16进制编辑器)。 (笔者注:没明白为什么要改,老外有人先做个空映像的方法代替) 16.用UltraISO将做好的wim替换4074的iso中的wim. 17.然后刻盘安装!
说明:
用Sysprep打造高质量的系统映像
安装Windows漫长、无聊的等待让许多人忍无可忍,于是除了标准的安装方法之外,许多别出心裁的安装方式出现了,利用磁盘映象部署就是其中的一种。为了更好地使用磁盘映像,微软提供了一个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
这个文件位于%SystemDrive%\Sysprep\i386\$oem$目录。下面是一个例子,它以-clean参数运行Sysprep,另外还执行Script1批命令、Program2程序:
cmdlines.txt文件的格式很简单,不过要注意以下几点:
⑴ sysprep.inf文件Unattended小节必须声明InstallFilesPath,并且使其指向$oem$文件夹所在的位置。
⑵ 必须将所有要用到的文件复制到本地硬盘上。
⑶ 如果cmdlines.txt包含的命令修改或创建了注册表设置,这部分设置将作为默认用户的设置写入,对所有新建的用户帐户都有效。
⑷ 不能用cmdlines.txt安装那些使用Windows Installer的软件(.msi软件包)。
■ GuiRunOnce
如果要在目标系统重新启动后再运行命令、批命令文件或脚本,可以在sysprep.inf文件的GuiRunOnce小节设置。该小节中设置的命令将在用户第一次登录时运行,要注意的几点是:
⑴ 必须启用了Autologon才能让GuiRunOnce设置的命令生效,即必须在GuiUnattended小节设置AutoLogon=Yes。
用引号括起每一个命令。
⑵ GuiRunOnce小节里面的命令在当前登录用户的安全上下文下运行,注意用户权限是否允许运行当前的命令。
⑶ 为保证所有的命令都被执行,必须禁止重新启动。如果某个用GuiRunOnce启动的程序提供了重新启动系统的选项(许多支持无人值守安装的软件都这样),你必须关闭重新启动。如果系统重新启动,GuiRunOnce里面后继的命令将不再被执行。
⑷ 如果要安装多个应用软件,用start命令和/wait参数启动安装程序,避免各个程序之间相互影响。
四、附录:自动创建sysprep.inf文件
创建sysprep.inf文件最方便的途径是使用微软的Setup Manager(安装管理器)程序。对于Windows XP,你可以在XP CD-ROM的\Support\Tools目录的deploy.cab文件里找到它。
将安装管理器的执行文件setupmgr.exe复制到硬盘,双击执行,向导将询问是否要创建一个新的应答文件,还是修改现有的应答文件。选择“创建新文件”,指定这将是一个用于Sysprep的文件(图二),选择将用新建的应答文件部署的平台(图三)。
根据实际需要,分别设定常规、网络、高级类选项(图四),最后点击“完成”,安装管理器将创建sysprep.inf文件并提示输入保存文件的位置。完成后,你可以用记事本打开sysprep.inf文件进行分析了。
大多数较新的机器都需要操作系统安装盘本身没有提供的驱动程序。那么,如何让这类驱动程序也能自动安装呢?你必须把它们复制到硬盘上的某个位置,然后修改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
这个文件位于%SystemDrive%\Sysprep\i386\$oem$目录。下面是一个例子,它以-clean参数运行Sysprep,另外还执行Script1批命令、Program2程序:
cmdlines.txt文件的格式很简单,不过要注意以下几点:
⑴ sysprep.inf文件Unattended小节必须声明InstallFilesPath,并且使其指向$oem$文件夹所在的位置。
⑵ 必须将所有要用到的文件复制到本地硬盘上。
⑶ 如果cmdlines.txt包含的命令修改或创建了注册表设置,这部分设置将作为默认用户的设置写入,对所有新建的用户帐户都有效。
⑷ 不能用cmdlines.txt安装那些使用Windows Installer的软件(.msi软件包)。
■ GuiRunOnce
如果要在目标系统重新启动后再运行命令、批命令文件或脚本,可以在sysprep.inf文件的GuiRunOnce小节设置。该小节中设置的命令将在用户第一次登录时运行,要注意的几点是:
⑴ 必须启用了Autologon才能让GuiRunOnce设置的命令生效,即必须在GuiUnattended小节设置AutoLogon=Yes。
用引号括起每一个命令。
⑵ GuiRunOnce小节里面的命令在当前登录用户的安全上下文下运行,注意用户权限是否允许运行当前的命令。
⑶ 为保证所有的命令都被执行,必须禁止重新启动。如果某个用GuiRunOnce启动的程序提供了重新启动系统的选项(许多支持无人值守安装的软件都这样),你必须关闭重新启动。如果系统重新启动,GuiRunOnce里面后继的命令将不再被执行。
⑷ 如果要安装多个应用软件,用start命令和/wait参数启动安装程序,避免各个程序之间相互影响。
四、附录:自动创建sysprep.inf文件
创建sysprep.inf文件最方便的途径是使用微软的Setup Manager(安装管理器)程序。对于Windows XP,你可以在XP CD-ROM的\Support\Tools目录的deploy.cab文件里找到它。
将安装管理器的执行文件setupmgr.exe复制到硬盘,双击执行,向导将询问是否要创建一个新的应答文件,还是修改现有的应答文件。选择“创建新文件”,指定这将是一个用于Sysprep的文件(图二),选择将用新建的应答文件部署的平台(图三)。
根据实际需要,分别设定常规、网络、高级类选项(图四),最后点击“完成”,安装管理器将创建sysprep.inf文件并提示输入保存文件的位置。完成后,你可以用记事本打开sysprep.inf文件进行分析了。
大多数较新的机器都需要操作系统安装盘本身没有提供的驱动程序。那么,如何让这类驱动程序也能自动安装呢?你必须把它们复制到硬盘上的某个位置,然后修改sysprep.inf指定这些位置(参见附录“自动创建Sysprep.inf文件”)。具体的操作步骤是:
㈠ 在系统驱动器的根目录下创建一个Sysprep目录,用来保存运行Sysprep必需的执行文件和sysprep.inf文件。
㈡ 在系统驱动器的根目录或Sysprep目录下创建一个Drivers目录——如果你要让目标机器运行好最小安装后能够使用这些驱动程序,则在根目录下创建Drivers文件夹;如果将驱动程序保存在Sysprep目录下的文件夹,最小安装过程将清除它们(最小安装是Windows常规安装过程的简化版,它只询问尚未在sysprep.inf中回答的问题)。
㈢ 在Drivers文件夹下,为不同的硬件设备创建相应的子目录保存驱动程序,将所有第三方驱动程序复制到相应的子目录。
㈣ 接下来还要设置一下sysprep.inf文件,以便最小安装过程能够找到驱动程序,如下面的例子所示。注意安装程序不会搜索OemPnPDriverPath路径的子目录,所以每一个目录都必须分别指定:
进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决 (微软破解中心)微软官方背景资料:
如何通过Sysprep准备磁盘复制所需的映像 Windows 如何确定 ACPI 兼容性 安装 Windows XP 或 Windows Server 2003 之后的 HAL 选项 众所周知,微软自带系统封装工具SYSPREP,可以方便快捷地进行企业产品部署,但是在WINDOWS LONGHORN之前,运用SYSPREP有一个限制,就是仅适用于用于封装的源计算机和目标计算机必须具有相同硬件抽象层 (HAL),因此,不同的网友均提出了不用的HAL检测解决方案,如ACPI封包、死性不改的电源模式等等,这些解决方案不同程度存在几个缺点: 1、检测的兼容性无法达到100%; 2、检测需要额外的文件,并且可能需要重新启动计算机,耗费了时间; 有没有一个最完美的解决方案呢?答案其实就在微软未公开的技术。 笔者通过对于WINDOWS LONGHORN各内测版本进行分析,现在公开微软部分未公开的技术: 1、微软自WINDOWS LONGHORN后,改写了NTLDR的部分代码,提供了/detecthal 接口 2、BOOT.INI支持/detecthal参数,以实现与NTLDR的结合,并实现开机启动即自动检测HAL 3、\INF\dtecthal.inf是一个关键性文件,提供各种HAL类型检测的参数说明 以下为进行SYSPREP封装后的自动完美检测HAL具体实现方案: 1、从系统中提取相应的HAL文件包:(WIN2000在SP4.CAB/WINDOWS XP SP2在SP2.CAB/WINDOWS 2003在SP1.CAB) halacpi.dll halapic.dll halmps.dll halaacpi.dll halmacpi.dll hal.dll---->并更名为halstnd.dll ntkrnlmp.exe ntkrnlpa.exe ntkrpamp.exe ntoskrnl.exe---->并更名为ntkrnlup.exe 2、将上述相应的HAL文件包拷贝到系统\WINDOWS\SYSTEM32\(WINDOWS 2000为\WINNT\SYSTEM32\) 3、将以下代码保存为dtecthal.inf并拷贝到\WINDOWS\INF\(WINDOWS 2000为\WINNT\INF\) 如果不可见,可在文件夹选项里在“显示所有的文件和文件夹”打上勾和“隐藏受保护的系统文件”去掉勾。 引用:
4、修改BOOT.INI 在准备封装的系统后面加上 /DETECTHAL参数 如: 引用:
5、将LONGHORN版本的NTLDR拷贝到从C:\,覆盖原有的NTLDR 各位也可以参考上传附件中的mstest.rar文件包(包含NTLDR、DTECTHAL.INF、BOOT.INI示例)DevCon 命令行设备管理器【真正的设备批量删除工具】
删除所有具体的使用方法是运行:devcon.exe remove *
删除所有设备
小提示:
修改WIM安装时这里的文字
修改WIN32UI.DLL这个文件就可以了
用ResHacker
编辑
|