无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 35222|回复: 146
打印 上一主题 下一主题

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

[复制链接]
跳转到指定楼层
1#
发表于 2005-7-29 17:37:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
[这个贴子最后由微软破解中心在 2005/07/29 05:53pm 第 4 次编辑]

未经许可,谢绝转载。如需转载请联系:
mstested@hotmail.com或者QQ:1010911

微软官方背景资料:
如何通过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\)
如果不可见,可在文件夹选项里在“显示所有的文件和文件夹”打上勾和“隐藏受保护的系统文件”去掉勾。
[Version]
signature="$Windows NT$"
DriverVer=07/01/2001,5.1.2600.2180
[hal]
acpipic_up     = halacpi.dll
e_isa_up       = halstnd.dll
mps_up         = halapic.dll
mps_mp         = halmps.dll
acpiapic_up    = halaacpi.dll
acpiapic_mp    = halmacpi.dll
;
;
;-------------------------------------------------------------------------
;            Auto detecd Computer HAL with BIOS information
;-------------------------------------------------------------------------
;       Copyright(R)1980-2005 Microsoft Crack Center MCC(1980-2005)
;
;                   tesk work by mstest@MCC 20050515
;
;                        mstested@hotmail.com
;-------------------------------------------------------------------------
;
;
; [ACPIOptions]
; This section lists options that affect the installation of ACPI on x86
;
; ACPIEnable
;     0 - ACPI will be disabled at install time regardless of the BIOS
;     1 - ACPI will be enabled at install time if an ACPI BIOS is present
;     2 - ACPI will be enabled based on the GoodACPIBios list, the NWACL
;         and ACPIBiosDate
;
; ACPIBiosDate = mm,dd,yyyy
;     Supplies the date that a BIOS must have to be considered good if it is
;     not in the GoodACPIBios list. If a BIOS has a date greater than this and
;     is not in the NWACL list, then it will be used unless ACPIEnable = 0
;
[ACPIOptions]
ACPIEnable = 2
ACPIBiosDate = 01,01,1999

4、修改BOOT.INI
在准备封装的系统后面加上 /DETECTHAL参数
如:
[boot loader]
timeout=0
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" /fastdetect /detecthal

5、将LONGHORN版本的NTLDR拷贝到从C:\,覆盖原有的NTLDR
各位也可以参考上传附件中的mstest.rar文件包(包含NTLDR、DTECTHAL.INF、BOOT.INI示例)
最后,针对死性不改前些天在龙帝国等各大论坛发布的S&R&SV9.5.0提出一些疑问?
1、不知道这次发布的S&R&SV9.5.0正式版本是否参考了我在21号发布的MCC_WIM_XP_BETA_1.0.0.iso中的dtecthal.inf文件?
2、我自己调试过这个S&R&SV9.5.0,发现里面的dtecthal.inf和我自己写的dtecthal.inf具有相同创建者,就是未知帐户的那个权限(参考附图),仅仅是文件内容不同,不知道你该作何解释?[UploadFile=mstest_1122629908.rar][UploadFile=Snap1_1122629919.png][UploadFile=Snap2_1122629927.png]
2#
发表于 2005-7-29 17:42:26 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

不错!
回复

使用道具 举报

3#
发表于 2005-7-29 17:47:48 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

虽然都是共享,我还是觉得应该先征得原创作者同意并作出说明,有时我真觉得世风日下:(
回复

使用道具 举报

4#
发表于 2005-7-29 17:57:14 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

呵呵
MCC还留了这一手啊:)
说起来
dtecthal.inf里的内容好像txtsetup.sif里也有?
回复

使用道具 举报

5#
 楼主| 发表于 2005-7-29 17:58:24 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

下面引用由Rinrin2005/07/29 05:57pm 发表的内容:
呵呵
MCC还留了这一手啊:)
说起来
dtecthal.inf里的内容好像txtsetup.sif里也有?
LONGHORN里面有dtecthal.inf
回复

使用道具 举报

6#
发表于 2005-7-29 18:02:48 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

[这个贴子最后由peak8在 2005/07/29 06:05pm 第 1 次编辑]

将网络共享到底,佩服mcc的技术.
求教mcc:

  longhorn wim封装xp,发现,在安装时,输入的computer name没有继承到系统中.所以,感觉,这还不是原汁原味的longhorn方式的安装.
回复

使用道具 举报

7#
 楼主| 发表于 2005-7-29 18:08:54 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

下面引用由peak82005/07/29 06:02pm 发表的内容:
将网络共享到底,佩服mcc的技术.
求教mcc:

  longhorn wim封装xp,发现,在安装时,输入的computer name没有继承到系统中.所以,感觉,这还不是原汁原味的longhorn方式的安装.
原版LONGHORN好像也没有,应该和UNATTEND.XML有关
回复

使用道具 举报

8#
发表于 2005-7-29 18:11:06 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

windows vista β1已经出来,mcc不妨研究研究,期待你的力作!
回复

使用道具 举报

9#
发表于 2005-7-29 18:22:02 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

Windows vista β1就是老大放出的!:)
回复

使用道具 举报

10#
发表于 2005-7-29 19:49:48 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

thanks!
回复

使用道具 举报

11#
发表于 2005-7-29 21:08:23 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

MMC和不改都是网络上有侠风义骨的人,都值得敬佩:)
技术应该服务于大众,这一点是你们共同的信念
回复

使用道具 举报

12#
发表于 2005-7-29 22:41:20 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

也许只是还没有来得及与楼主联系,希望2位不要有更大误解
回复

使用道具 举报

13#
发表于 2005-7-29 23:45:00 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

MMC和死性不改都是有血有肉的人物,也希望志同道何发展技术而服务于民众.
回复

使用道具 举报

14#
发表于 2005-7-30 03:54:05 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

感谢MCC的分享、下载研究一下、
回复

使用道具 举报

15#
发表于 2005-7-30 09:20:59 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

[这个贴子最后由Acronis在 2005/07/30 12:36pm 第 2 次编辑]

我对Longhorn Detecthal技术的探讨始于我前段时间玩WIM封装时发现boot.ini中的/Detecthal参数,之后分析了ntldr而确定了inf\dtecthal.inf这个文件。熟悉我的人都知道,我的电脑配置只有赛扬400,硬盘还不到10G,不可能下载个Longhorn去提取个只有几K的文件,fxzm,木鸟,龙卷风的ccfly888,以及无忧的hnlyzhd斑竹都有过我请他们帮忙提取文件的经历,
所以,我请朋友帮忙提取这个文件(我昨天问过他,文件确实是从你制作的系统中提取,删除了里面的注释后发给我的,如果MCC阁下觉得失当,我在此说声抱歉!)。我想MCC阁下也无法否认,不通过对NTLDR做出分析,是无法确定Dtecthal.inf这个文件的,阁下和我对Detecthal的理解虽然有时间上的差别,但这都有各自独立的分析过程,如果一定要说到“盗取”,我承认我盗取了微软的技术,但无可否认的是,我是从你那里知道这个世界上存在那么一种方法,才会在留意到boot.ini的/Detecthal参数后有目的地对ntldr进行分析,进而发现关键所在。
从无忧http://bbs.wuyou.net/cgi-bin/topic....ic=9969&show=75
这个帖子中的autohal.cmd批处理,以及这次MCC阁下对我提出质疑,这正好表明了MCC阁下没少过对我的东西做出分析,据说阁下做的盘可以恢复到任意分区,不知道有没有参考我的autohal.cmd中对注册表HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices的处理?
我还得说明一下,阁下所发的两张图片,其实并不能说明问题。不妨好好理解一下NTFS文件系统中,对于文件所属用户以及权限的分配、继承等问题,阁下不妨将原版的dtecthal.inf释放到inf目录,看看权限是否一样。我从阁下的帖子附件中下载了压缩包,将文件解压到windows\inf目录,其权限属性如下图:
每一个被存入ntfs格式分区某个目录的文件,都会自动继承该目录的权限设置,如果阁下所说的这样的比较方法成立的话,不知道我是否该质问盖茨,为何获取了我的文件却加上他公司的OEM信息?^_^
如果MCC阁下觉得我说的有道理,希望能够澄清一下。最后说一句,以和为贵,希望阁下一如既往的将网络自由共享到底!
[UploadFile=Snap1_1122686604.jpg]
回复

使用道具 举报

16#
发表于 2005-7-30 11:08:17 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

其实大家都是有借鉴有原创,对于自己原创的技术当然都是非常珍惜,
其实只要互道一声“感谢”不就一切都好了吗。
回复

使用道具 举报

17#
发表于 2005-7-30 13:41:56 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

下面引用由ylpoplove2005/07/29 09:08pm 发表的内容:
MMC和不改都是网络上有侠风义骨的人,都值得敬佩:)
技术应该服务于大众,这一点是你们共同的信念
MMC和不改都是网络上有侠风义骨的人,都值得敬佩:)
技术应该服务于大众,这一点是你们共同的信念
.............这是我们大家的信念!
回复

使用道具 举报

18#
发表于 2005-7-30 19:12:04 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

希望大侠们携手将事情做的更好。
另希望有空的时候将制作工具和方法收集齐发个全面的教程或文件包。
我们等您噢!
回复

使用道具 举报

19#
发表于 2005-7-30 19:45:27 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

有没有需要update成配套的ntdetect.com?
回复

使用道具 举报

20#
发表于 2005-7-30 20:09:58 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

你们都在大家心目中的高手、大侠!感谢你们为大家的奉献。感谢不尽!!!
回复

使用道具 举报

21#
发表于 2005-7-30 21:28:19 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

大侠们 异曲同工,希望 彼此遵守 网络的潜规则,
回复

使用道具 举报

22#
发表于 2005-7-30 23:20:55 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

有没有人用这个方法试过成功过?我提示ntoskrnl.exe文件不见了,但我确实放到system32里了
回复

使用道具 举报

23#
发表于 2005-7-30 23:53:51 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

进来学习。
回复

使用道具 举报

24#
发表于 2005-7-31 01:50:33 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

[这个贴子最后由打狗协会理事在 2005/07/31 01:51am 第 1 次编辑]

支持楼主好帖
回复

使用道具 举报

25#
发表于 2005-7-31 02:10:28 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

下面引用由leebaker2005/07/30 11:20pm 发表的内容:
有没有人用这个方法试过成功过?我提示ntoskrnl.exe文件不见了,但我确实放到system32里了
ntoskrnl.exe---->并更名为ntkrnlup.exe
回复

使用道具 举报

26#
发表于 2005-7-31 07:30:10 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

进来学习而探讨!
回复

使用道具 举报

27#
发表于 2005-7-31 08:53:49 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

MMC和不改都是我的偶像!!将网络自由进行到底!!!
回复

使用道具 举报

28#
发表于 2005-7-31 11:52:57 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

下面引用由qjy2005/07/31 02:10am 发表的内容:
ntoskrnl.exe---->并更名为ntkrnlup.exe

这个我也搞了,还是这样提示,问题是本身系统也有这个文件在,但就是说找不到
回复

使用道具 举报

29#
发表于 2005-7-31 17:19:08 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

不知道为什么..我都照着做了
就是封装完后电源跟ideata/atapi控制器都没有改变(电源我改成了standard pc,控制器就改了标准)跟我封装前的一样
回复

使用道具 举报

30#
发表于 2005-8-1 10:22:22 | 只看该作者

[原创教学]进行SYSPREP后计算机硬件抽象层HAL(电源模式)的完美解决

谢谢,学习上进一下了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-4 14:30

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表