无忧启动论坛

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

[原创]我对HAL(硬件抽象层)的一些理解,兼谈克隆安装系统的发展过程。

[复制链接]
跳转到指定楼层
1#
发表于 2005-8-5 17:03:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
未经许可,谢绝转载。如需转载请联系:
muniao@126.com
在克隆安装系统中提到了HAL。这里所说的HAL就是在WINDOWS 2000/XP/2003中设备管理器里查看到的计算机下面显示的信息。如图
共有以下8种
"Standard PC"
"Advanced Configuration and Power Interface (ACPI) PC"
"ACPI Uniprocessor PC"
"ACPI Multiprocessor PC"
"MPS Uniprocessor PC"
"MPS Multiprocessor PC"
"Silicon Graphics Visual Workstation"
"Compaq SystemPro Multiprocessor or 100% Compatible"
其中前6种是这三种操作系统都支持的。"Silicon Graphics Visual Workstation"只有WINDOWS 2000系统支持,是SGI的。"Compaq SystemPro Multiprocessor or 100% Compatible"是ALPHA处理器专用的,在WINDOWS 2000/XP都提供了支持,但是最新的WINDOWS 2003已经不在支持这种处理器。

操作系统最后识别出来的的HAL类型,需要主板芯片组、主板BIOS、CPU同时都支持,其中有一个不能支持,就将会被识别成其它类型,或者识别出来不能进入系统,导致启动蓝屏。
后面这两种系统很可能连Standard PC都不兼容。
剩下的6种HAL的区别,主要就在系统是否支持ACPI(高级电源管理接口)和APIC(高级可编程中断控制器)上。
不同bios支持的不同,就会导致,最终识别出来的类型不同。
以前Climbing所写的都是以前的总结经验,但是这个不能作为判断的标准。比如,P3机器也有ACPI Multiprocessor PC和ACPI Uniprocessor PC,比如支持双处理器的主板,及一些工作站的主板等。P4的机器,也可能是Advanced Configuration and Power Interface (ACPI) PC和Standard PC,原因可能是早期BIOS不完善,BIOS设置被关闭。
==============================
ACPI Multiprocessor PC
==============================
当计算机识别出来是此类型,说明你的系统是多处理器或者支持HT(超线程)处理器,并且主板和主板的BIOS支持并打开APIC和ACPI
ACPI Multiprocessor PC=APIC+ACPI+多处理器(包括支持HT处理器)
==============================
ACPI Uniprocessor PC
==============================
这是当前最为常见的类型,主板和主板的BIOS支持并打开APIC和ACPI,系统是单处理器。
ACPI Uniprocessor PC=APIC+ACPI+单处理器(不包括支持HT处理器)
============================================================
Advanced Configuration and Power Interface (ACPI) PC
============================================================
这是以前比较常见的类型,系统只提供了对ACPI的支持。主板和主板的BIOS支持并打开ACPI。并且没有打开APIC,或者主板不支持APIC
==============================
MPS Multiprocessor PC
==============================
服务器上比较常见,这个是不支持ACPI的,对应ACPI Multiprocessor PC
MPS Multiprocessor PC=APIC+多处理器(包括支持HT处理器)
==============================
MPS Uniprocessor PC
==============================
我猜测,这个在以前的工作站上比较多,同上面一样不支持ACPI,对应ACPI Uniprocessor PC
MPS Uniprocessor PC=APIC+单处理器(不包括支持HT处理器)
=================
Standard PC
=================
呵呵,古老的电脑都是这个类型的,既不支持ACPI,也不支持APIC。注意,很多P3主板由于BIOS默认没有打开ACPI功能,也会识别成Standard PC,导致点击关闭计算机后,系统提示你手动关闭计算机电源。
从这里可以发现,ACPI Uniprocessor PC兼容ACPI Multiprocessor PC(也就是说,ACPI Multiprocessor PC的系统也可以使用ACPI Uniprocessor PC)。
Advanced Configuration and Power Interface (ACPI) PC兼容ACPI Uniprocessor PC和ACPI Multiprocessor PC。
MPS Multiprocessor PC兼容ACPI Multiprocessor PC。
MPS Uniprocessor PC兼容ACPI Uniprocessor PC和ACPI Multiprocessor PC。
Standard PC兼容以上5种。但是反过来,就不一定兼容了。
这就是为什么制作克隆系统之前要将计算机更改成Standard PC的原因。
标准的安装操作系统中,是在安装过程中自动识别出来的,最初的克隆系统是将计算机更改成Standard PC或者Advanced Configuration and Power Interface (ACPI) PC来提高系统的通用性。这个时候的主要作品有SNOOPY和ZHONGWEI(FXZM)的。
后来,台湾制作出来一个手动修改HAL的软件,在系统的恢复过程中,让用户可以手动选择HAL类型。之后,法国的一位华人汉化了这个软件。但是这个软件的缺陷是只能支持三种模式。随后无忧的HYNE、CHENALL、死性不改等人(另外一位我不记得了), 相继制作出来支持所有8种类型的手动选择HAL软件。使用方法基本相同。FXZM那个时候在无忧叫bluewater做了大量的测试。程序基本定性,之后HYNE、CHENALL基本停止了开发,只有死性不改来到JUJUMAO继续研究,实现了SCSI、 RAID、SATA的支持,在S&R&S 4.3版实现了完美的手动选择,以至于后来自动识别出现,仍然有很多人说4.3版最好。这个时候也最早在无忧出现了恢复DLLCACHE的批处理,这个时期一直到去年底的很多优秀作品都出自JUJUMAO。
克隆系统的创新是从5.0开始的,实现了自动识别,当然这个还不是完美的,因为经常会出现识别错误、不能启动的现象。死性不改在HLK的光盘中和微软的网站发现了关于TAP.EXE和TA.EXE可以识别系统的HAL。配合cpuz来识别cpu的数量,以 此来判断计算机的HAL。一直发展到S&R&S 8.9 基本都是基于这种方式。DLLCACHE恢复也被YANHAIJUN完善。但是,不幸的是在S&R&S 8.0发布不久,死性不改、FXZM等一大批人由于一些问题,被迫离开JUJUMAO论坛,随后全力发展51CT。短短三个月注册会员将近2万人,可以由于频繁受到攻击,没有服务商提供服务器,最后被迫关闭了。这个时候S&R&S基于ta.exe和cpuz也发展到了尽头。没有什么可突破的了,仍然不能做到完美的识别。差点忘记提起后期在无忧的benjiaminwang,其实,他是第一个实现100%正确识别HAL的。但是用PE系统来识别,代价是要占用80M左右的空间。
[UploadFile=HAL_1123232607.jpg]
2#
 楼主| 发表于 2005-8-5 17:04:05 | 只看该作者

[原创]我对HAL(硬件抽象层)的一些理解,兼谈克隆安装系统的发展过程。

上面提到了两个单词,就是ACPI和APIC,下面就解释一下这两个的含义。
ACPI就是Advanced Configuration and Power Interface的缩写,意思是“高级配置与电源接口”。这是英特尔、微软和东芝共同开发的一种电源管理标准。
ACPI可实现以下功能:   
1、用户可以使外设在指定时间开关;   
2、使用笔记本电脑的用户可以指定计算机在低电压的情况下进入低功耗状态,以保证重要的应用程序运行;   
3、操作系统可以在应用程序对时间要求不高的情况下降低时钟频率;
4、操作系统可以根据外设和主板的具体需求为它分配能源;
5、在无人使用计算机时可以使计算机进入休眠状态,但保证一些通信设备打开;
6、即插即用设备在插入时能够由ACPI来控制。
不过,ACPI和其他的电源管理方式一样,要想享受到上面这些功能,必须要有软件和硬件的支持。在软件方面,Windows 98及其后续产品和Windows 2000都对ACPI给予了全面的支持;硬件方面比较麻烦,除了要求主板、显卡和网卡等外设要支持ACPI外,还需要机箱电源的配合。电源在提供5伏电压给主板的同时,还必须使电流稳定在720毫安以上才可以,这样它才能够实现电脑的“睡眠”和“唤醒”。
ACPI共有六种状态,分别是S0到S5,它们代表的含义分别是:
S0--实际上这就是我们平常的工作状态,所有设备全开,功耗一般会超过80W;
S1--也称为POS(Power on Suspend),这时除了通过CPU时钟控制器将CPU关闭之外,其他的部件仍然正常工作,这时的功耗一般在30W以下;(其实有些CPU降温软件就是利用这种工作原理)
S2--这时CPU处于停止运作状态,总线时钟也被关闭,但其余的设备仍然运转;
S3--这就是我们熟悉的STR(Suspend to RAM),这时的功耗不超过10W;
S4--也称为STD(Suspend to Disk),这时系统主电源关闭,但是硬盘仍然带电并可以被唤醒;
S5--这种状态是最干脆的,就是连电源在内的所有设备全部关闭,功耗为0。
我们最常用到的是S3状态,即Suspend to RAM(挂起到内存)状态,简称STR。顾名思义,STR就是把系统进入STR前的工作状态数据都存放到内存中去。在STR状态下,电源仍然继续为内存等最必要的设备供电,以确保数据不丢失,而其他设备均处于关闭状态,系统的耗电量极低。一旦我们按下Po wer按钮(主机电源开关),系统就被唤醒,马上从内存中读取数据并恢复到STR之前的工作状态。内存的读写速度极快,因此我们感到进入和离开STR状态所花费的时间不过是几秒钟而已;而S4状态,即STD(挂起到硬盘)与STR的原理是完全一样的,只不 过数据是保存在硬盘中。由于硬盘的读写速度比内存要慢得多,因此用起来也就没有STR那么快了。STD的优点是只通过软件就能实现,比如Windows 2000就能在不支持STR的硬件上实现STD。
 怎样才能使用ACPI的电源管理模式呢?简单地说是要求软硬件都可以完全支持ACPI功能。
 Windows98是最常用的理想平台,如果还没有安装Win98,在安装时输入Setup/PJ。如果已经安装了Win98,可以到Win98"系统"中的"设备管理器"然后再找到"系统设备"里的"高级电源管理"这一项,双击它选择"升级驱动程序",显示所有设备,选择ACPI,再按提示安装驱动程序,重新启动计算机就可以在Windows98使用ACPI了。
 如果在使用中遇到问题,可以试着升级版本最新的Acpi.sys文件。
 注意,FAT32格式的硬盘无法实现硬盘的挂起功能(STD),而FAT16格式是可以的。
 此外,硬件对ACPI的支持是必需的。机箱电源提供5伏电压给主板的同时,必须使电流稳定在720毫安以上,才能够使电脑在短时间里从"睡眠"状态醒来。同时,像显卡等外设也必须完全支持ACPI和STR。
 通过选择电源方案可以实现电源管理,电源方案就是计算机管理电源使用情况的一组设置。Windows98提供了下列三种预置的电源管理方案(见下表),用户也可以自己设置计算机进入等待状态或关闭硬盘和监视器所需的等待时间。
2、ACPI与APM比较
 APM 1.0&1.1:由BIOS执行电源管理;
 APM 1.2:操作系统定义电源管理时间,由BIOS负责执行;
 ACPI:BIOS收集硬件信息,定义电源管理方案;由操作系统负责执行。
 APM是一种软件解决方案,因此是与操作系统有关的, 而ACPI是工业标准,包括了软件和硬件方面的规范。
3、一些常见问题
 1)如何判断系统处于S1还是S3模式?
 答:在ACPI的S1休眠模式下,只有CPU停止工作,其他设备仍处于加电状态。在ACPI的S3模式(BIOS->电源管理->Suspend to RAM设为Enable,除内存外其他设备均处于断电状态。因此,判断系统是处于S1模式还是在S3模式最简单的办法是,仔细观察系统的情况:在S3状态,所有设备均停止工作,即使按光驱上的弹出钮也不能打开光驱门。在S1状态,光驱门是可以打开的。另外 ,S3模式下,系统完全是安静的,所有风扇也停了。此时系统不能从键盘唤醒。手工唤醒的方法只能是按前面板上的电源按钮。
 2)以 Setup /PJ 命令重装Win98系统后,如何取消ACPI模式?
 答:Win98程序的帮助中并没有提供"PJ"参数。这是一个隐藏的参数。之所以将其隐藏,是因为Win98的STR功能并不成熟,甚至可以说还存在许多问题。Win98也没有提供卸载ACPI的功能。可以试着在主板BIOS中关闭STR功能,看能否解决问题。
 3)为实现STR功能,为什么关机后不能切断电源?
 答:STR功能是在关机时,将系统的运行信息保存在内存中,下一次开机时,直接读取内存中的信息,并恢复到关机前的状态。它的优点是启动速度特别快,而且可以保留工作状态。其缺点就是,即使在关机后,也不能断开电脑电源。因为内存中的数据一旦切断电源就会 丢失。
 4)在关闭Win2000时,会显示"现在可以安全关机"、而不自动关闭ATX电源,怎么办?
 答:可用试试下面的办法:选择"设置/控制面板/电源选项/高级电源管理",如果机器支持高级电源管理,则选中"启用高级电源管理支持",然后在HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\WindowsNT\\CurrentVersion\\Winlogon中置PowerdownAfterShutdown为1;如果机器不支持高级电源管理 ,则很不幸,只能在关闭系统时,显示"现在可以安全关机?"时手动切断电源了。
 5)不小心把"关闭Windows"对话框中的第一项"让电脑进入睡眠状态"给弄丢了,请问该如何恢复?
 答:一般来讲,这类问题只要重装主板驱动程序,重新启动以后都应该能够解决问题,也可以将"控制面板/系统/设备管理器"中的"高级电源管理支持"删掉,然后重新启动机器,按照Win98系统的提示重新进行安装也可以解决问题。
回复

使用道具 举报

3#
 楼主| 发表于 2005-8-5 17:05:31 | 只看该作者

[原创]我对HAL(硬件抽象层)的一些理解,兼谈克隆安装系统的发展过程。

APIC (高级可编程中断控制器)对计算机来讲有两个作用,一是管理IRQ的分配,可以把传统的16个IRQ扩展到24个(传统的管理方式叫PIC),以适应更多的设备。二是管理多CPU。由于Nf2主板并不支持多CPU,所以,APIC关闭直接的影响是减少了可 用的IRQ。不过,如果板卡不是非常多的话,关闭APIC对系统是没有什么影响的。
要实现SMP功能,我们使用的CPU必须具备以下要求:
CPU内部必须内置APIC单元。Intel 多处理规范的核心就是高级可编程中断控制器(Advanced Programmable Interrupt Controllers--APICs)的使用。CPU通过彼此发送中断来完成它们之间的通信。通过给中断附加动作(actions),不同的CPU可以在某种程度上彼此进行控制。每个CPU有自己的APIC(成为那个CPU的本地APIC),并且还有一个I/O APIC来处理由I/O设备引起的中断,这个I/O APIC是安装在主板上的,但每个CPU上的APIC则不可或缺,否则将无法处理多CPU之间的中断协调。
APIC可能遇到的问题,很多这类问题可以通过BIOS更新来解决。
下面的是通过更改HAL类型来解决
  CPU实际运行频率与BIOS设定频率不符
  NF2的用户大约有10%的会出现CPU实际运行频率与BIOS设定频率不符的问题。我们称之为“频率不对”。
  这种现象带来的直接后果就是在测试3dmark或跑3D游戏的时候,会感觉不流畅,也称之为“顿”。
  一般在更改BIOS设置后、更新驱动后重启时,用测试软件如Aida32、MBM5等可以看到CPU的运行频率和你在BIOS里设置得不一样,而且差距很大。这个时候,用super pi测试CPU速度,会比平常花费时间长好几秒,用3dmark跑测试,会比平常低几百分甚至上千分。在3dmark中看到的CPU频率,也与BIOS设定不符合。
  如果出现这种情况,则属于我们所讨论的“频率不对”的问题。
  不过,不是所有的3D游戏“顿”都是这个原因。判断的方法是:如果你只有个别游戏“顿”,或者用上述软件测试频率正确,就不是此问题。
  如果判断确实属此问题,解决的方法也很简单,经过网友讨论,只要关闭APIC功能即可。(注意,是APIC,不是ACPI)。
如图1
  然后,依次选“更新驱动程序”-“从列表或指定的位置安装”-“不要搜索,我要自己选择要安装的驱动程序”,然后从弹出的列表里选“Advanced Configuration and Power Interface(ACPI) PC”。确定更换,重启成功后,再到Bios里关闭APIC即可。
通过这个例子可以说明,硬件HAL类型是可以在BIOS和操作系统中更改的,更改后如果是全新安装系统,或者使用死性不改封装程序的制作GHOST系统。识别出来的计算机类型是可以改变的。
也就是说,我们完全可以通过更改BIOS设置来更改是别的HAL类型。BIOS里电源管理选项下的ACPI设置可以控制是否打开计算机的ACPI支持。APIC可以控制计算机是否打开APIC,提供对多处理器,HT的支持。以次解决一些由于BIOS不完善 造成的不兼容现象。
在BIOS中关闭APIC功能,
如图2
注意,不是所有的主板BIOS都有这个选项的。[UploadFile=2_1123232700.jpg][UploadFile=3_1123232724.jpg]
回复

使用道具 举报

4#
发表于 2005-8-5 17:08:53 | 只看该作者

[原创]我对HAL(硬件抽象层)的一些理解,兼谈克隆安装系统的发展过程。

一段历史!支持一下
回复

使用道具 举报

5#
发表于 2005-8-5 17:30:50 | 只看该作者

[原创]我对HAL(硬件抽象层)的一些理解,兼谈克隆安装系统的发展过程。

[这个贴子最后由紫狐在 2005/08/05 11:38pm 第 1 次编辑]

那么,从技术上来讲,那个版本算比较稳定和完善?
回复

使用道具 举报

6#
 楼主| 发表于 2005-8-5 20:38:20 | 只看该作者

[原创]我对HAL(硬件抽象层)的一些理解,兼谈克隆安装系统的发展过程。

下面引用由紫狐2005/08/05 05:30pm 发表的内容:
那么,从技术上来讲,那么版本算比较稳定和完善?
楼上的是不是要问哪个版本比较稳定啊,最新的9.5应该是比较稳定的了。
回复

使用道具 举报

7#
发表于 2005-8-5 23:40:21 | 只看该作者

[原创]我对HAL(硬件抽象层)的一些理解,兼谈克隆安装系统的发展过程。

下面引用由木鸟2005/08/05 08:38pm 发表的内容:
楼上的是不是要问哪个版本比较稳定啊,最新的9.5应该是比较稳定的了。
9.5的版本应该是基于WinPE的,这样要配合长角牛的恢复方式才比较好,在使用PE之前的版本又是那个相对稳定和完美呢?
回复

使用道具 举报

8#
发表于 2005-8-6 09:59:52 | 只看该作者

[原创]我对HAL(硬件抽象层)的一些理解,兼谈克隆安装系统的发展过程。

长见识了。感谢楼主
回复

使用道具 举报

9#
发表于 2005-8-7 14:39:46 | 只看该作者

[原创]我对HAL(硬件抽象层)的一些理解,兼谈克隆安装系统的发展过程。

APM是有规范的哦
也有叫APM BIOS的东东
呵呵
回复

使用道具 举报

10#
 楼主| 发表于 2005-8-22 21:09:34 | 只看该作者

[原创]我对HAL(硬件抽象层)的一些理解,兼谈克隆安装系统的发展过程。

最近忙了点,没来这里,
基于PE系统之前最稳定的就是8.9了。这个仍然是同5.5一样的原来,但是稳定性和识别后的可靠性都有提高,但这个不是百分之百准确的。在比较新的,比如775接口以后的CPU,识别可能不正确出错,但进入系统一般都没问题。
回复

使用道具 举报

11#
发表于 2005-8-22 21:46:58 | 只看该作者

[原创]我对HAL(硬件抽象层)的一些理解,兼谈克隆安装系统的发展过程。

我以前就用5.5做,很长时间,至到现在改用基于WINPE的
回复

使用道具 举报

12#
发表于 2005-9-1 20:39:10 | 只看该作者

[原创]我对HAL(硬件抽象层)的一些理解,兼谈克隆安装系统的发展过程。

木鸟,你好
我好久没有接触克隆安装了,请问现在那里有新版本的可以下载测试?
回复

使用道具 举报

13#
发表于 2005-9-3 09:07:05 | 只看该作者

[原创]我对HAL(硬件抽象层)的一些理解,兼谈克隆安装系统的发展过程。

顶!
精华!!!!!!!!!!
回复

使用道具 举报

14#
发表于 2005-9-3 10:46:41 | 只看该作者

[原创]我对HAL(硬件抽象层)的一些理解,兼谈克隆安装系统的发展过程。

下面引用由木鸟2005/08/22 09:09pm 发表的内容:
最近忙了点,没来这里,
基于PE系统之前最稳定的就是8.9了。这个仍然是同5.5一样的原来,但是稳定性和识别后的可靠性都有提高,但这个不是百分之百准确的。在比较新的,比如775接口以后的CPU,识别可能不正确出 ...
多谢指教!
回复

使用道具 举报

15#
发表于 2005-9-3 11:23:07 | 只看该作者

[原创]我对HAL(硬件抽象层)的一些理解,兼谈克隆安装系统的发展过程。

不错,不错,学到不少东西
回复

使用道具 举报

16#
发表于 2005-12-19 15:23:10 | 只看该作者

[原创]我对HAL(硬件抽象层)的一些理解,兼谈克隆安装系统的发展过程。

APIC和ACPI的区别讲的很好!!!
回复

使用道具 举报

17#
发表于 2006-1-9 12:00:36 | 只看该作者

[原创]我对HAL(硬件抽象层)的一些理解,兼谈克隆安装系统的发展过程。

学习了。。。。。。
回复

使用道具 举报

18#
发表于 2006-1-9 12:32:10 | 只看该作者

[原创]我对HAL(硬件抽象层)的一些理解,兼谈克隆安装系统的发展过程。

好东西啊!
回复

使用道具 举报

19#
发表于 2006-1-12 12:19:04 | 只看该作者

[原创]我对HAL(硬件抽象层)的一些理解,兼谈克隆安装系统的发展过程。

长见识了,谢谢。
回复

使用道具 举报

20#
发表于 2006-4-1 11:24:29 | 只看该作者

[原创]我对HAL(硬件抽象层)的一些理解,兼谈克隆安装系统的发展过程。

长见识了。感谢楼主
回复

使用道具 举报

21#
发表于 2006-4-1 14:42:48 | 只看该作者

[原创]我对HAL(硬件抽象层)的一些理解,兼谈克隆安装系统的发展过程。

知道了一些原由,偶也是从JUJUMAO转过来到51CT,后来又来到这里的,世道变迁真快啊
回复

使用道具 举报

22#
发表于 2006-4-3 00:09:46 | 只看该作者

[原创]我对HAL(硬件抽象层)的一些理解,兼谈克隆安装系统的发展过程。

长见识了。感谢楼主
回复

使用道具 举报

23#
发表于 2006-4-16 22:26:58 | 只看该作者

[原创]我对HAL(硬件抽象层)的一些理解,兼谈克隆安装系统的发展过程。

还有这个
回复

使用道具 举报

24#
发表于 2007-5-4 22:35:58 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-12 04:39

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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