Ghost系统封装教程及封装工具原理
本帖被 小兵 设置为精华(2007-08-26)
本教程基于MCC硬件抽象HAL(电源模式)原理,系统以XP为例。
这里将系统封装分为3步:做系统、封装、部署
================================
一、做系统
================================
平台不限,但不建议在虚拟机上制作。CPU及主板芯片没有限制,关于intelide和intelppm的不兼容问题,深度白金3in1并没有删除这些注册表,没有反馈因此在AMD机器上蓝屏的现象。
1、选用免激活的版本安装盘,正常安装系统,打补丁,优化服务
这里选用深度XP精简版5.7,安装大约需要15-20分钟。
建议关闭系统还原及自定义通知,关闭远程,关闭共享,关闭休眠
注意声卡要驱动上,否则封装后的系统都不在任务栏显示音量。
运行一次windows meida player,避免以后出现向导
安装输入法,并在“区域和语言选项”的“高级”中,应用于默认用户账户。
我的文档,如果有需要也可以移动到D盘。
outlook不能保存密码及SQL安装挂起的问题,也可以在这里清理一下相关注册表。
2、安装需要的软件
OFFICE安装时要将“第一次使用时安装”的项目完全安装上,否则会以后提示插入光盘。
不建议安装杀毒软件,特别是卡巴斯基,该软件会与某封装工具冲突。
不建议安装虚拟光驱及刻录软件,已知部分软件在封装后失效。
不建议删除windows\Installer下的安装文件,可能会造成部分程序无法卸载。
3、封装准备
运行“gpedit.msc"打开组策略
“计算机配置\管理模板\系统”
启用“关闭 Windows Update 设备驱动程序搜索”
“管理模板/系统/Internet 通信管理/Internet 通信设置”
启用“关闭 Windows Update 设备驱动程序搜索”
“用户配置\管理模板\系统”
启用“配置驱动程序搜索位置” (不搜索软盘,光驱,Windows Update)
“用户配置\管理模板\系统”
忽略“设备驱动程序的代码签名”
检查系统属性中的驱动签名是否为忽略,update是否为从不搜索。
清理Documents and Settings目录,可以清理到10M以下。
当前账户\收藏夹,安装软件后经常有链接,清之~
当前账户\SendTo,邮件接收,建议删除
当前账户\Recent,历史记录,现在删了以后还得删
当前账户\Local Settings\Temp,临时文件,能删的全删
当前账户\Local Settings\Application Data下的图标缓存IconCache.db,约5-10M
当前账户\桌面,建议将所有图标移动到All Users\桌面
看下控制面板里的添加删除程序,有没有流氓软件,有就干掉,当然,除非你有特殊目的。
================================
二、封装
================================
1、更改 IDE 控制器及电源
在设备管理器中更新驱动
从列表或指定位置安装
不要搜索,我要自己选择要安装的驱动程序
IDE更改为“标准双通道 PCI IDE 控制器”,电源更改为“Standard PC”
2、提取检测电源需要的相关文件
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
将上述文件拷贝到系统SYSTEM32目录
3、添加inf文件
将以下代码保存为dtecthal.inf并拷贝到\WINDOWS\INF\,2000为\WINNT\INF\
[Version]
signature="$Windows NT$"
DriverVer=07/01/2001
[hal]
MPS_MP = halmps.dll
MPS_UP = halapic.dll
E_ISA_UP = halstnd.dll
ACPIPIC_UP = halacpi.dll
ACPIAPIC_UP = halaacpi.dll
ACPIAPIC_MP = halmacpi.dll
[ACPIOptions]
ACPIEnable = 2
ACPIBiosDate = 01,01,1999
4、引导
修改boot.ini,加上 /DETECTHAL参数,使系统启动时检测电源
注意将原boot.ini备份,并在部署后还原
[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /detecthal
C:\GHLDR=一键GHOST v11.0 Build 070707
5、NTLDR
引导文件,将LONGHORN版本的NTLDR放到C盘下
注意将原NTLDR备份,并在部署后还原
6、封装
将sysprep.exe,setupcl.exe,及配置好的sysprep.inf放到c:\sysprep
运行sysprep,“使用最小化安装”、关机模式“退出”,点击“重新封装”
等待大约5-10秒,完成。
7、删除注册表中本地连接、电源相关
搜索“本地连接”,删除上级节点,可避免安装到其他机器出现“本地连接2”
删除电源相关的注册表键:
HKLM\SYSTEM\CurrentControlSet\Enum\ACPI_HAL
HKLM\SYSTEM\CurrentControlSet\Enum\Root\ACPI_HAL
HKLM\SYSTEM\CurrentControlSet001\Enum\ACPI_HAL
HKLM\SYSTEM\CurrentControlSet001\Enum\Root\ACPI_HAL
如果有002和003也删除,删除时先右点权限,赋予完全控制权限,否则无法删除。
注意删除电源的注册表必须在封装后操作,否则运行sysprep时会死机。
另外封装后切勿运行windows优化大师,运行后死机。
8、设置好部署需要调用的文件,如注册组件时运行的程序,可写在注册表runonce。
系统启动菜单的时间是在注册组件前恢复为默认的30秒的
所以也可以在这里更改回原来的boot.ini及ntldr
9、卸载驱动
很多文章讲求顺序,但是实际中并没发现不按顺序会怎样。
卸载显示器、显卡、声卡、网卡、USB。都不卸载也不会有问题。
所谓的“幽灵硬件”就是指系统中母机残留的硬件信息,不要紧的。
10、最后的检查及清理
清除windows下的lastgood (最后一次正确的配置)
清除windows下的Prefetch (程序缓存)
\Local Settings\Application Data\IconCache.db 看是不是又出来了,有就删除
windows及C盘,点左面的“隐藏此文件夹内容”,文件夹选项中恢复默认
任务栏属性,清除开始菜单及最近文档的列表
如果要备份DllCache,使用相关工具在任何时候运行都可以。
以上是手动封装的过程,中间无需重启,如果是工具辅助封装,基本可做到完全自动化。
封装工具已知的有ASR、S&R&S,MSDP,YLMF,创辉,自由天空,PreTooler,
当然还有小兵的Dprep,另外于安的工具应该属于S&R&S辅助扩展。
这里讲原理,不讲使用。以我自己的封装工具为例吧 :P
工具集成了sysprep.exe及配置好的自动应答文件,并根据当前系统XP/2K/03进行释放,
运行后使用devcon.exe来更新及卸载硬件驱动,从I386下提取判断电源需要的文件,
修改boot.ini并替换新的ntldr,调用sysprep完成封装,并在封装后清理系统及注册表。
封装到此为止,可以重启制作GHO镜像了,注意现在boot菜单时间是0。
可以使用光盘引导,推荐一键GHOST,可选择最大压缩。
================================
三、部署
================================
封装工具一般都在注册表cmdline处接入自己的部署界面,再间接调用setup
使用工具封装,扩展接口可以在部署前调用外部程序,如驱动选择工具及dllcache恢复。
开始安装的过程也是检测硬件的过程,所以驱动如果是压缩包,要在安装前释放完毕。
封装工具调用的批处理,一般都是不显示窗口的,如果手动封装,可用VBS来调用批处理。
如果封装工具不支持恢复菜单选择时间,或是手动封装,可在注册组件处还原boot.ini及ntldr
进入桌面后,封装工具仍可以发挥作用,如填写IP,调用程序,删除文件,删除目录
对于手动封装,这些可以通过批处理来完成。
另外恢复dllcache也可以在进入桌面后运行。
不建议在第一次进入桌面时调用太多的程序。
================================
所有教程其实都大同小异,我这里只是详细提了些细节问题,算做给大家参考。
希望大家都能做出自己的封装作品,当然,选择一款好的封装工具也很重要:)
封装过程并无死规矩,要灵活运用,我封装的时候经常是一边放音乐一边封装
这里将系统封装分为3步:做系统、封装、部署
================================
一、做系统
================================
平台不限,但不建议在虚拟机上制作。CPU及主板芯片没有限制,关于intelide和intelppm的不兼容问题,深度白金3in1并没有删除这些注册表,没有反馈因此在AMD机器上蓝屏的现象。
1、选用免激活的版本安装盘,正常安装系统,打补丁,优化服务
这里选用深度XP精简版5.7,安装大约需要15-20分钟。
建议关闭系统还原及自定义通知,关闭远程,关闭共享,关闭休眠
注意声卡要驱动上,否则封装后的系统都不在任务栏显示音量。
运行一次windows meida player,避免以后出现向导
安装输入法,并在“区域和语言选项”的“高级”中,应用于默认用户账户。
我的文档,如果有需要也可以移动到D盘。
outlook不能保存密码及SQL安装挂起的问题,也可以在这里清理一下相关注册表。
2、安装需要的软件
OFFICE安装时要将“第一次使用时安装”的项目完全安装上,否则会以后提示插入光盘。
不建议安装杀毒软件,特别是卡巴斯基,该软件会与某封装工具冲突。
不建议安装虚拟光驱及刻录软件,已知部分软件在封装后失效。
不建议删除windows\Installer下的安装文件,可能会造成部分程序无法卸载。
3、封装准备
运行“gpedit.msc"打开组策略
“计算机配置\管理模板\系统”
启用“关闭 Windows Update 设备驱动程序搜索”
“管理模板/系统/Internet 通信管理/Internet 通信设置”
启用“关闭 Windows Update 设备驱动程序搜索”
“用户配置\管理模板\系统”
启用“配置驱动程序搜索位置” (不搜索软盘,光驱,Windows Update)
“用户配置\管理模板\系统”
忽略“设备驱动程序的代码签名”
检查系统属性中的驱动签名是否为忽略,update是否为从不搜索。
清理Documents and Settings目录,可以清理到10M以下。
当前账户\收藏夹,安装软件后经常有链接,清之~
当前账户\SendTo,邮件接收,建议删除
当前账户\Recent,历史记录,现在删了以后还得删
当前账户\Local Settings\Temp,临时文件,能删的全删
当前账户\Local Settings\Application Data下的图标缓存IconCache.db,约5-10M
当前账户\桌面,建议将所有图标移动到All Users\桌面
看下控制面板里的添加删除程序,有没有流氓软件,有就干掉,当然,除非你有特殊目的。
================================
二、封装
================================
1、更改 IDE 控制器及电源
在设备管理器中更新驱动
从列表或指定位置安装
不要搜索,我要自己选择要安装的驱动程序
IDE更改为“标准双通道 PCI IDE 控制器”,电源更改为“Standard PC”
2、提取检测电源需要的相关文件
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
将上述文件拷贝到系统SYSTEM32目录
3、添加inf文件
将以下代码保存为dtecthal.inf并拷贝到\WINDOWS\INF\,2000为\WINNT\INF\
[Version]
signature="$Windows NT$"
DriverVer=07/01/2001
[hal]
MPS_MP = halmps.dll
MPS_UP = halapic.dll
E_ISA_UP = halstnd.dll
ACPIPIC_UP = halacpi.dll
ACPIAPIC_UP = halaacpi.dll
ACPIAPIC_MP = halmacpi.dll
[ACPIOptions]
ACPIEnable = 2
ACPIBiosDate = 01,01,1999
4、引导
修改boot.ini,加上 /DETECTHAL参数,使系统启动时检测电源
注意将原boot.ini备份,并在部署后还原
[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /detecthal
C:\GHLDR=一键GHOST v11.0 Build 070707
5、NTLDR
引导文件,将LONGHORN版本的NTLDR放到C盘下
注意将原NTLDR备份,并在部署后还原
6、封装
将sysprep.exe,setupcl.exe,及配置好的sysprep.inf放到c:\sysprep
运行sysprep,“使用最小化安装”、关机模式“退出”,点击“重新封装”
等待大约5-10秒,完成。
7、删除注册表中本地连接、电源相关
搜索“本地连接”,删除上级节点,可避免安装到其他机器出现“本地连接2”
删除电源相关的注册表键:
HKLM\SYSTEM\CurrentControlSet\Enum\ACPI_HAL
HKLM\SYSTEM\CurrentControlSet\Enum\Root\ACPI_HAL
HKLM\SYSTEM\CurrentControlSet001\Enum\ACPI_HAL
HKLM\SYSTEM\CurrentControlSet001\Enum\Root\ACPI_HAL
如果有002和003也删除,删除时先右点权限,赋予完全控制权限,否则无法删除。
注意删除电源的注册表必须在封装后操作,否则运行sysprep时会死机。
另外封装后切勿运行windows优化大师,运行后死机。
8、设置好部署需要调用的文件,如注册组件时运行的程序,可写在注册表runonce。
系统启动菜单的时间是在注册组件前恢复为默认的30秒的
所以也可以在这里更改回原来的boot.ini及ntldr
9、卸载驱动
很多文章讲求顺序,但是实际中并没发现不按顺序会怎样。
卸载显示器、显卡、声卡、网卡、USB。都不卸载也不会有问题。
所谓的“幽灵硬件”就是指系统中母机残留的硬件信息,不要紧的。
10、最后的检查及清理
清除windows下的lastgood (最后一次正确的配置)
清除windows下的Prefetch (程序缓存)
\Local Settings\Application Data\IconCache.db 看是不是又出来了,有就删除
windows及C盘,点左面的“隐藏此文件夹内容”,文件夹选项中恢复默认
任务栏属性,清除开始菜单及最近文档的列表
如果要备份DllCache,使用相关工具在任何时候运行都可以。
以上是手动封装的过程,中间无需重启,如果是工具辅助封装,基本可做到完全自动化。
封装工具已知的有ASR、S&R&S,MSDP,YLMF,创辉,自由天空,PreTooler,
当然还有小兵的Dprep,另外于安的工具应该属于S&R&S辅助扩展。
这里讲原理,不讲使用。以我自己的封装工具为例吧 :P
工具集成了sysprep.exe及配置好的自动应答文件,并根据当前系统XP/2K/03进行释放,
运行后使用devcon.exe来更新及卸载硬件驱动,从I386下提取判断电源需要的文件,
修改boot.ini并替换新的ntldr,调用sysprep完成封装,并在封装后清理系统及注册表。
封装到此为止,可以重启制作GHO镜像了,注意现在boot菜单时间是0。
可以使用光盘引导,推荐一键GHOST,可选择最大压缩。
================================
三、部署
================================
封装工具一般都在注册表cmdline处接入自己的部署界面,再间接调用setup
使用工具封装,扩展接口可以在部署前调用外部程序,如驱动选择工具及dllcache恢复。
开始安装的过程也是检测硬件的过程,所以驱动如果是压缩包,要在安装前释放完毕。
封装工具调用的批处理,一般都是不显示窗口的,如果手动封装,可用VBS来调用批处理。
如果封装工具不支持恢复菜单选择时间,或是手动封装,可在注册组件处还原boot.ini及ntldr
进入桌面后,封装工具仍可以发挥作用,如填写IP,调用程序,删除文件,删除目录
对于手动封装,这些可以通过批处理来完成。
另外恢复dllcache也可以在进入桌面后运行。
不建议在第一次进入桌面时调用太多的程序。
================================
所有教程其实都大同小异,我这里只是详细提了些细节问题,算做给大家参考。
希望大家都能做出自己的封装作品,当然,选择一款好的封装工具也很重要:)
封装过程并无死规矩,要灵活运用,我封装的时候经常是一边放音乐一边封装