社区应用 最新帖子 精华区 社区服务 会员列表 统计排行
  • 2800阅读
  • 22回复

分享小兵的不封装制作ghost的方法,仅供学习研究

楼层直达
级别: 光盘初级
发帖
191
飞翔币
335
威望
68
飞扬币
1585
信誉值
0
不封装制作ghost不是很稳定,对非同类芯片支持效果不好,所以这里的方法仅供学习研究

1.准备工作。选用免激活版本XP2。准备好NTLDR和HAL等相关文件。
方便的话可以拆下网卡,省得去处理“本地连接2”的问题。

2.安装系统,优化。如添加输入法,请应用于所有用户。建议关闭系统还原。
运行组策略,调整驱动签名等设置。

3.更改IDE ATA/ATAPI控制器为“标准双通道 PCI IDE 控制器”。

4.运行msconfig.exe选中“诊断启动”项后,再重启。重启后重新运行msconfig.exe并选中“正常启动”项。
附:这一步很重要的,恢复时有利用到“LastKnownGoodRecovery”也就是所谓的“最后一次正确配置”。这和微软的封
装方式刚好相反。

5.利用WINDOWS LONGHORN版本NTLDR提供的/detecthal 接口来自动检测HAL
halacpi.dll
halapic.dll
halmps.dll
halaacpi.dll
halmacpi.dll
hal.dll     →并更名为halstnd.dll
ntkrnlmp.exe
ntkrnlpa.exe
ntkrpamp.exe
ntoskrnl.exe   →并更名为ntkrnlup.exe
将上述文件拷贝到系统\WINDOWS\SYSTEM32\
将dtecthal.inf拷贝到\WINDOWS\INF\
将系统下的NTLDR文件重命名,如:NTLDR_,将LONGHORN版本的NTLDR拷贝到从C:\

6.处理BOOT.INI,在准备封装的系统后面加上 /DETECTHAL
[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:\ = "Microsoft Windows"
将原文件BOOT.INI重命名,如:BOOT_.INI

7.处理驱动和服务相关的注册表项目,可以用批处理来完成,也可以手工完成。
主要是处理“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum”这个项下。
附1:只要保留这2项,其它的都可以删除:
“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root”--这个子项主要是包含一些服务和软件创建的一些
设备。其中也包含“ACPI Uniprocessor PC”和“Composite Battery”,这两个是可删除的。
“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HTREE”,这个是根目录树,具体作用不清楚。
附2:“HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices”这一项也可放心删除。
附3:微软的最小安装可以让驱动安静安装。但这种没封装的克隆,恢复时有的驱动可以安静安装,有的却不行(如声卡,显卡)。其实秘密
就在注册表中的驱动类别。具体的位置在“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class”。

8.要完美地删除驱动要做到和用“设备入理器”卸载驱动一样。驱动在注册表中一般和这3个位置有关:
“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class”
“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum”
“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services”
删除“Enum”里的一个硬件信息,同时也要处理另外的2个地方。

9.编辑恢复登录时要运行的脚本。一般为优化系统服务的脚本。

创建批处理文件,作为封装完后运行的命令,
如:
@echo off
cd c:\
attrib ntldr -h -s -r
attrib ntldr_ -h -s -r
copy /y ntldr_ ntldr
attrib ntldr +h +s +r
attrib boot_.ini -h -s -r
attrib boot.ini -h -s -r
copy /y boot_.ini boot.ini
attrib boot.ini +h +s +r
exit

10.最后安装加载串口,阵列,SCSI驱动。

11.重启克隆。


为什么要替换LONGHORN的NTLDR呢?

众所周知,微软自带系统封装工具SYSPREP,可以方便快捷地进行企业产品部署,但是在WINDOWS LONGHORN之前,运用SYSPREP有一个限制,就是仅适用于用于封装的源计算机和目标计算机必须具有相同硬件抽象层 (HAL),因此,不同的网友均提出了不用的HAL检测解决方案,如ACPI封包、死性不改的电源模式等等,这些解决方案不同程度存在几个缺点:
1、检测的兼容性无法达到100%;
2、检测需要额外的文件,并且可能需要重新启动计算机,耗费了时间;
有没有一个最完美的解决方案呢?答案其实就在微软未公开的技术。

1、微软自WINDOWS LONGHORN后,改写了NTLDR的部分代码,提供了/detecthal 接口
2、BOOT.INI支持/detecthal参数,以实现与NTLDR的结合,并实现开机启动即自动检测HAL
3、\INF\dtecthal.inf是一个关键性文件,提供各种HAL类型检测的参数说明。


以上内容,5、6、9是关键,7、8和后面的脚本都是删除硬件驱动的,并不是固定的模式,可以自己灵活运用,手动删除后再运行批处理是更把握的。


更改注册表的批处理:
::通用串行总线控制器
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{36FC9E60-C465-11CF-8056-444553540000}" /v SilentInstall /d 1 /f
::IEEE 1394 和 SCSI 打印机
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4658EE7E-F050-11D1-B6BD-00C04FA372A7}" /v SilentInstall /d 1 /f
::IEEE 1284.4 设备
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{48721B56-6795-11D2-B1A8-0080C72E74A2}" /v SilentInstall /d 1 /f
::IEEE 1284.4 兼容打印机
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{49CE6AC8-6F86-11D2-B1E5-0080C72E74A2}" /v SilentInstall /d 1 /f
::计算机
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E966-E325-11CE-BFC1-08002BE10318}" /v SilentInstall /d 1 /f
::显示卡
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}" /v SilentInstall /d 1 /f
::软盘控制器
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E969-E325-11CE-BFC1-08002BE10318}" /v SilentInstall /d 1 /f
::IDE控制器
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}" /v SilentInstall /d 1 /f
::键盘
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96B-E325-11CE-BFC1-08002BE10318}" /v SilentInstall /d 1 /f
::声卡
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}" /v SilentInstall /d 1 /f
::调制解调器
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96D-E325-11CE-BFC1-08002BE10318}" /v SilentInstall /d 1 /f
::监视器
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96E-E325-11CE-BFC1-08002BE10318}" /v SilentInstall /d 1 /f
::鼠标
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96F-E325-11CE-BFC1-08002BE10318}" /v SilentInstall /d 1 /f
::内存控制器
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E970-E325-11CE-BFC1-08002BE10318}" /v SilentInstall /d 1 /f
::多功能卡
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E971-E325-11CE-BFC1-08002BE10318}" /v SilentInstall /d 1 /f
::网卡
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}" /v SilentInstall /d 1 /f
::网络客户
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E973-E325-11CE-BFC1-08002BE10318}" /v SilentInstall /d 1 /f
::网络报务
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E974-E325-11CE-BFC1-08002BE10318}" /v SilentInstall /d 1 /f
::网络协议
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E975-E325-11CE-BFC1-08002BE10318}" /v SilentInstall /d 1 /f
::PCMCIA卡
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E977-E325-11CE-BFC1-08002BE10318}" /v SilentInstall /d 1 /f
::串口并口
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E978-E325-11CE-BFC1-08002BE10318}" /v SilentInstall /d 1 /f
::打印机
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E979-E325-11CE-BFC1-08002BE10318}" /v SilentInstall /d 1 /f
::SCSI和RAID控制器
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E97B-E325-11CE-BFC1-08002BE10318}" /v SilentInstall /d 1 /f
::系统设备
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E97D-E325-11CE-BFC1-08002BE10318}" /v SilentInstall /d 1 /f
::其它设备
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E97E-E325-11CE-BFC1-08002BE10318}" /v SilentInstall /d 1 /f
::CPU
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{50127DC3-0F36-415E-A6CC-4CB3BE910B65}" /v SilentInstall /d 1 /f
::多串口卡
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{50906CB8-BA12-11D1-BF5D-0000F805F530}" /v SilentInstall /d 1 /f
::智能卡阅读器
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{50DD5230-BA8A-11D1-BF5D-0000F805F530}" /v SilentInstall /d 1 /f
::IEEE 1394总线主控制器
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{6BDD1FC1-810F-11D0-BEC7-08002BE2092F}" /v SilentInstall /d 1 /f
::红外线设备
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{6BDD1FC5-810F-11D0-BEC7-08002BE2092F}" /v SilentInstall /d 1 /f
::图像处理设备
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{6BDD1FC6-810F-11D0-BEC7-08002BE2092F}" /v SilentInstall /d 1 /f
::电池
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{72631E54-78A4-11D0-BCF7-00AA00B7B32A}" /v SilentInstall /d 1 /f
::人体学输入设备
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{745A17A0-74D3-11D0-B6FE-00A0C90F57DA}" /v SilentInstall /d 1 /f
::
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{A0A588A4-C46F-4B37-B7EA-C82FE89870C6}" /v SilentInstall /d 1 /f
::AVC设备
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{C06FF265-AE09-48F0-812C-16753D7CBA83}" /v SilentInstall /d 1 /f

清除幽灵驱动.bat

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

@echo off
:: CPU
devcon remove ACPI\Processor

::GAME Port
devcon remove PCI\CC_09*

::网卡
devcon remove PCI\CC_02*

::声卡
devcon remove PCI\CC_04*

:: USB HOST and SMBus
devcon remove PCI\CC_0C*

:: 监视器
devcon remove DISPLAY\*

:: 显卡
devcon remove PCI\CC_03*

:: 芯片组
devcon remove PCI\CC_0604*

:: 磁盘卷
devcon remove @STORAGE\*

:: USB存储卷
devcon remove @USBSTOR\*

:: USB设备
devcon remove @USB\*

:: 人机接口设备
devcon remove @HID\*

:: IDE设备
devcon remove @ide\*

:: IDE Channel
devcon remove @PCIIDE\*







\INF\dtecthal.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
 
级别: *
发帖
*
飞翔币
*
威望
*
飞扬币
0
信誉值
0
只看该作者 1 发表于: 2007-09-07
呵呵.够麻烦!!有激情才能去做啊!!!!:)Y135
级别: 光盘见习
发帖
27
飞翔币
335
威望
14
飞扬币
2323
信誉值
0
只看该作者 2 发表于: 2007-11-09
看起来好像很难呀!!
级别: 光盘初级
发帖
245
飞翔币
335
威望
74
飞扬币
2671
信誉值
0
只看该作者 3 发表于: 2007-11-17
看起来内容不多 可以编个EXE的脚本啊
级别: 光盘初级
发帖
219
飞翔币
335
威望
100
飞扬币
454
信誉值
0
只看该作者 4 发表于: 2008-09-20
现在学习做这个东东
级别: 光盘初级
发帖
258
飞翔币
339
威望
129
飞扬币
1010
信誉值
0
只看该作者 5 发表于: 2008-09-20
这个真是个技术含量高的活呀
级别: 光盘见习
发帖
72
飞翔币
335
威望
16
飞扬币
405
信誉值
0
只看该作者 6 发表于: 2008-09-26
先收藏了  好多都看不懂
级别: 光盘中级
发帖
1113
飞翔币
1186
威望
863
飞扬币
1330
信誉值
0

只看该作者 7 发表于: 2008-09-27
有点图片就更好了,纯文字,有点头大了.
开心做事,诚信做人,力争做好自己!
级别: 光盘见习
发帖
41
飞翔币
335
威望
13
飞扬币
1513
信誉值
0
只看该作者 8 发表于: 2008-09-27
的确是有难度的,象是win98下的GHO了。
级别: 光盘见习
发帖
5
飞翔币
335
威望
8
飞扬币
356
信誉值
0
只看该作者 9 发表于: 2008-09-28
感兴趣的不多啊
级别: 光盘学士
发帖
325
飞翔币
335
威望
2233
飞扬币
3261
信誉值
0
只看该作者 10 发表于: 2008-09-29
那么学习了。           
http://xxuanwan.0033.cn
级别: 光盘中级
发帖
276
飞翔币
342
威望
388
飞扬币
1414
信誉值
0

只看该作者 11 发表于: 2008-10-02
有点难度啊 呵呵 谢谢
君自天上来,此情今何在?自从君别后,思念未曾改。君自天上来,歌声化做 爱,自君逍遥走,温柔谁可代?
级别: 光盘中级
发帖
23
飞翔币
189
威望
503
飞扬币
300
信誉值
0
只看该作者 12 发表于: 2008-10-02
正在学习,感谢分享
级别: 光盘见习
发帖
23
飞翔币
335
威望
8
飞扬币
513
信誉值
0
只看该作者 13 发表于: 2008-10-02
对我来说有些难,刚进来,准备学习~
级别: 光盘新手
发帖
184
飞翔币
221
威望
15
飞扬币
845
信誉值
0
只看该作者 14 发表于: 2008-10-03
有机会学习一下,谢谢了
岂能尽如人意,但求无愧我心!