无忧启动论坛

标题: [总结]Windows 2000/XP/2003所支持的计算机类型及内核文件的对应关系 [打印本页]

作者: Climbing    时间: 2004-12-6 20:18
标题: [总结]Windows 2000/XP/2003所支持的计算机类型及内核文件的对应关系
[这个贴子最后由Climbing在 2004/12/06 09:18pm 第 4 次编辑]

Windows 2000/XP/2003操作系统所支持的计算机类型(HAL)及相关内核文件的对应关系
作者:Climbing(xclimbing@msn.com)
创建日期:2004年12月6日
============
致谢
============
这篇总结文章的写成,主要参考了死性不改网友所发布的用于制做万能克隆的S&R&S系列中的相关批处理文件,在此表示万分感谢!
同时感谢无忧启动论坛的hyne网友(他已经沉默了很长时间了),他是万能克隆技术的先驱者之一,本文章引用了很多他制做的计算机类型选择程序(acpi.exe)中的说明,这里一并表示感谢。
================
文章正文
================
1) 所谓的计算机类型(设备管理器 -> 计算机)是通常我们所说的计算机的电源类型,也就是Windows系统中的HAL类型。
2) 所谓的内核文件有两个,一个是hal*.dll,另一个是NT的内核文件(NT Kernel),这些文件都可以从%windir%\Driver Cache\I386目录下的*.cab文件中解出来,至于是哪个cab文件,当然跟你的系统打上的Service Pack有关系,例如你打了SP4补丁,那么就是sp4.cab文件,如果没有打补丁,那就是driver.cab文件,详细的可以参考下面的批处理程序。
3) 下面所说的死性不改名称是指死性不改网友给对应的文件起的名字,由于具有相当程度的普遍性,在这里一并列出,方便大家使用和参考。
其对应关系如下:
计算机类型               HAL文件(死性不改名称)              Kernel文件(死性不改名称)
Standard                 hal.dll(hal.chk)                   ntoskrnl.exe(sxbg.chk)
ACPI Uniprocessor        halaacpi.dll(acpu.chk)             ntoskrnl.exe(sxbg.chk)
ACPI Multiprocessor      halmacpi.dll(acpm.chk)             ntkrnlmp.exe(ntos.chk)
MPS Uniprocessor         halapic.dll(mpsu.chk)              ntoskrnl.exe(sxbg.chk)
MPS Multiprocessor       halmps.dll(mpsm.chk)               ntkrnlmp.exe(ntos.chk)
Compaq SystemPro         halsp.dll(com.chk)                 ntkrnlmp.exe(ntos.chk)
ACPI                     halacpi.dll(acpi.chk)              ntoskrnl.exe(sxbg.chk)
1、上述的七种计算机类型的详细名字顺序对应下面的七个名字(我假设你了解每种计算机类型代表哪一类的计算机)。
A. Standard PC
B. ACPI Uniprocessor PC
C. ACPI Multiprocessor PC
D. MPS Uniprocessor PC
E. MPS Multiprocessor PC
F. Compaq SystemPro Multiprocessor or 100% Compatible
G. Advanced Configuration and Power Interface (ACPI) PC
2、上述的所有相关文件都应该是保存在%windir%\system32目录下。选择某种计算机类型就要将相应的HAL部分的文件改名为hal.dll,而Kernel部分的文件改名为ntoskrnl.exe。
或者你可以直接在Boot.ini中指定要使用的计算机类型对应的Hal及Kernel文件,以ACPI Uniprocessor PC类型计算机为例:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Professional(ACPI Uniprocessor)" /hal=halaacpi.dll /kernel=ntoskrnl.exe
对应死性不改网友的文件命名法,你可以这样写boot.ini的启动项:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Professional(ACPI Uniprocessor)" /hal=acpu.chk /kernel=sxbg.chk
3、死性不改网友从系统驱动文件中解压出上述相关各文件并使用死性不改命名法命名的批处理程序(这个批处理是从死性不改的S&R&S系列中的regset.cmd中rip出来的,原则上适用于目前的所有Windows 2000/xp/2003系统,在原来的批处理基础上我做了适当的修改,主要是增加了提取sxbg.chk的内容):
  1. @echo off
  2. set sys=%systemroot%\system32
  3. set bg=%systemroot%\Driver~1\I386
  4. set chk=ntoskrnl.exe ntkrnlmp.exe ntkrpamp.exe hal.dll halacpi.dll halaacpi.dll halmacpi.dll halsp.dll halapic.dll halmps.dll
  5. for %%i in (sp4 sp3 sp2 sp1 driver) do if exist %bg%\%%i.cab set fcab=%%i.cab&& goto expandf
  6. :EXPANDF
  7. if "%fcab%"=="" echo 系统的Driver cache\i386目录没有对应的cab压缩包,这是系统必须的文件 && goto check
  8. for %%i in (%chk%) do expand %bg%\%fcab% -F:%%i %systemroot%\ >nul
  9. if exist %systemroot%\halsp.dll move %systemroot%\halsp.dll %sys%\com.chk >nul
  10. move %systemroot%\ntoskrnl.exe %sys%\sxbg.chk >nul
  11. move %systemroot%\ntkrpamp.exe %sys%\ntkr.chk >nul
  12. move %systemroot%\ntkrnlmp.exe %sys%\ntos.chk >nul
  13. move %systemroot%\hal.dll %sys%\hal.chk >nul
  14. move %systemroot%\halacpi.dll %sys%\acpi.chk >nul
  15. move %systemroot%\halaacpi.dll %sys%\acpu.chk >nul
  16. move %systemroot%\halmacpi.dll %sys%\acpm.chk >nul
  17. move %systemroot%\halapic.dll %sys%\mpsu.chk >nul
  18. move %systemroot%\halmps.dll %sys%\mpsm.chk >nul
  19. goto _quit
  20. :check
  21. pause
  22. goto _quit
  23. :_quit
复制代码
4、选择参考:(根据技术要求和网友的测试,仅供参考)
★Standard PC:适用所有主板,但对于新的主板可能造成不能关机。
★ACPI:主板芯片高于BX440低于或等于INTEL 815/SIS 735/NFORCE1/ALI/VIA KT400
       /VIA P4X266等,一般2003年以前的机子都支持这种模式。
★ACPI Uniprocessor PC:SIS 748/大部分INTEL 845系列/VIA KT600/nVIDIA nFORCE2
       或更新的产品,一般2003年以后的机子使用这种模式。
★ACPI Multiprocessor PC:主板支持HT并且安装了支持HT功能CPU的主板/安装了
       双CPU的早期入门级双CPU主板/入门级服务器及一小部分部门级服务器,例
       如INTEL 845GE L 845PE、865PE以上并使用P4 X.X HT CPU
5、=====================名词解释:========================
APM为Advanced Power Management(高级电源管理,此模式下ACPI未打开)
APIC为Advanced Programmable Interrupt Controller(高级可编程中断控制器,P4和Athlon XP的主板都支持此功能,可将15个IRQ中断扩展为23个,此模式下ACPI打开)
MPS为Multi Processor System(多处理器系统,此模式下ACPI未打开)

6、对各种计算机类型的解释
=================
Standard PC
=================
Standard PC 通用于任何标准PC、非ACPI、或非MPS,可以使386、486、Pentium2 350以下或其他类型的机器;所有系统均支持,但新主板支持ACPI并打开了ACPI的新主板使用这个可能导致不能软关机!
============================================================
Advanced Configuration and Power Interface (ACPI) PC
============================================================
一般用于2003年前买的电脑,目前最常见的类型,Win2000-2003 均支持ACPI用于带有单处理器的ACPI系统的单处理器主板,处于ACPI模式下的单处理器电脑,主板不提供APIC功能。如果选择这个启动发现左上角光标一直闪不能进入系统请在bios中打开ACPI。主板芯片高于BX440低于或等于INTEL 815/SIS 735/NFORCE1/ALI/VIA KT400/VIA P4X266等,一般2003年以前的机子都支持这种模式。
==============================
ACPI Uniprocessor PC
==============================
一般用于2003年以后购买中高端电脑,Win2000-2003 均支持这中电源模式。用于安装了一个处理器的ACPI多处理器主板,处于ACPI模式下的双处理器电脑(主板不支持双处理器),或处于ACPI模式下的单处理器电脑,主板提供APIC功能,如SIS 748/大部分INTEL 845系列/VIA KT600/nVIDIA nFORCE2或更新的产品,一般2003年以后的机子使用这种模式。

==============================
ACPI Multiprocessor PC
==============================
一般用于2003年以后买的电脑,Win2000-2003 均支持这种电源模式。用于安装了多个处理器的ACPI多处理器主板,处于ACPI模式下的双处理器电脑(主板支持双处理器),如主板支持HT(超线程)并且安装了支持HT功能CPU的主板/安装了双CPU的早期入门级双CPU主板/入门级服务器及一小部分部门级服务器,如INTEL 845GE L 845PE、865PE以上并使用P4 X.X HT CPU,2004年以后,这种机子比较普遍了。
==============================
MPS Uniprocessor PC
==============================
MPS single processor:APM模式下的双处理器电脑(主板支持双处理器),或APM模式下的单处理器电脑,主板提供APIC功能Win2000 WinXP Win2003 均支持。请核对主板或电脑说明书,慎重选择。
==============================
MPS Multiprocessor PC
==============================
MPS multiprocessor PC:APM模式下的双处理器电脑(主板支持双处理器)。
Win2000 WinXP Win2003 均支持。请核对主板或电脑说明书,慎重选择。
============================================================
Compaq SystemPro Multiprocessor or 100% Compatible
============================================================
很少见了,呵呵,不知道该怎么写说明了。
Win2000 WinXP支持,不适用于Win2003。

============================================================
Silicon Graphics Visual Workstation
============================================================
很少见了,只有Win2000支持。

注:上述4、5、6的内容摘自hyne网友的计算机类型选择程序的说明文件中,感谢hyne网友!
本文件原文下载链接:
Climbing总结的“Windows 2000/XP/2003操作系统所支持的计算机类型(HAL)及相关内核文件的对应关系”文章原文(RAR格式,点击下载)
作者: kaibiao    时间: 2004-12-6 20:39
标题: [总结]Windows 2000/XP/2003所支持的计算机类型及内核文件的对应关系
不错,谢谢Climbing,讲得很详细.
作者: studyczb    时间: 2004-12-6 20:54
标题: [总结]Windows 2000/XP/2003所支持的计算机类型及内核文件的对应关系
顶顶,能不能做个真正万能的呀,系统自行选择的???




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3