您的位置:首页 > 其它

最新Ghost系统封装教程及封装工具原理

2010-04-18 17:28 489 查看
本教程基于MCC硬件抽象HAL(电源模式)原理,系统以XP为例。

这里将系统封装分为3步:做系统、封装、部署

================================

一、做系统

================================

平台不限,但不建议在虚拟机上制作。CPU及主板芯片没有限制,关于intelide和intelppm的不兼容问题,没有反馈因此在AMD机器上蓝屏的现象。

1、选用免激活的版本安装盘,正常安装系统,打补丁,优化服务

XP,安装大约需要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也可以在进入桌面后运行。

不建议在第一次进入桌面时调用太多的程序。

================================

所有教程其实都大同小异,我这里只是详细提了些细节问题,算做给大家参考。

希望大家都能做出自己的封装作品,当然,选择一款好的封装工具也很重要:)

封装过程并无死规矩,要灵活运用,我封装的时候经常是一边放音乐一边封装

直到声卡被卸载。。。
.
.
.

做封装的系统,不要精简得太厉害,有几个服务必须要开启,否则会出现莫名其妙的错误提示等等
.
.
.

;将系统封装的背景显示模式为 1024×768
[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/VgaSave/Device0]

"DefaultSettings.YResolution"=dword:00000300
"DefaultSettings.XResolution"=dword:00000400
"DefaultSettings.BitsPerPel"=dword:00000020

[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Video/{23A77BF7-ED96-40EC-AF06-9B1F4867732A}/0000]

"DefaultSettings.YResolution"=dword:00000300
"DefaultSettings.XResolution"=dword:00000400
"DefaultSettings.BitsPerPel"=dword:00000020

;将系统封装的背景显示模式为800×600

[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/VgaSave/Device0]

"DefaultSettings.XResolution"=dword:00000320
"DefaultSettings.YResolution"=dword:00000258
"DefaultSettings.BitsPerPel"=dword:00000020

[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Video/{23A77BF7-ED96-40EC-AF06-9B1F4867732A}/0000]

"DefaultSettings.XResolution"=dword:00000320
"DefaultSettings.YResolution"=dword:00000258
"DefaultSettings.BitsPerPel"=dword:00000020
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: