- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
新型封装系统时硬件驱
封装系统时硬件驱动的处理 ;驱动;硬件抽象层(HAL)的处理; Windows XP的HAL有很多种 而Windows 7的HAL就简单多了,分为了32位和64位系统两种:“ACPI x86-based PC”和“ACPI x64-based PC”
根据微软文档的要求,封装与部署不可用于不同HAL 的计算机。不同的HAL之间是不完全通用的,如果非要把不适合此计算机的HAL 用于此计算机,那么很容易出现各种错误; Windows XP HAL的处理 ;要准备的文件和程序:
(1)Windows Longhorn 的NTLDR,位于Windows Longhorn 的C 盘根目录下,默认隐藏。
(2)SetACL.exe,用于更改部分注册表键值的权限。;移植Longhorn 的HAL 自动判定到XP 的方法:;2、创建一个.inf文件 在C:\Windows\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;3、修改启动文件
C:\NTLDR和C:\Boot.ini均为具有隐藏属性的系统文件,且具有只读属性,请去掉这些属性后再做下列操作。
(1)备份XP的NTLDR为NTLDR_BAK(这个文件没有后缀名)。
(2)将Longhorn的NTLDR复制到C盘根目录下。
(3)将Bootfont.bin改名为Bootfont.bin.bak,由于Longhorn的NTLDR加载XP的Bootfont.bin会出现乱码的情况,所以先改名,以备以后恢复。(如果你是英文版系统则没有Bootfont.bin,可略过此步骤)
(4)打开Boot.ini,找到XP的启动项,例如: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=Microsoft Windows XP Professional /noexecute=optin /fastdetect 在最后加入自动检测HAL的参数“/detecthal”: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=Microsoft Windows XP Professional /noexecute=optin /fastdetect /detecthal??; 4、处理掉当前的HAL信息
注册表中“HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\ACPI_HAL”键和“HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\ Root\ACPI_HAL”键记录了当前计算机的HAL类型和信息,删除掉它俩就相当于做掉了目标计算机的HAL。
但这两个键都是有保护的,哪怕是Administrator用户都不能随便删除它们,幸好我们刚才准备了SetACL.exe。在命令提示符中切换到SetACL所在目录,运行如下命令: setacl.exe MACHINE\SYSTEM\ControlSet001\Enum\ACPI_HAL /registry /grant everyone /full setacl.exe MACHINE\SYSTEM\ControlSet001\Enum\Root\ACPI_HAL /registry /grant everyone /full6
打开注册表编辑器,删除掉“HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\ACPI_HAL”键和“HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\ Root\ACPI_HAL”键。打开设备管理器,可看到以前的“计算机”项目不见了,对,源计算机的HAL已经被我们删除了。当此系统部署到目标计算机时,由于我们已经移植了Longhorn的HAL自动判定,被删除的HAL注册表键会自动创建,且与目标计算机的HAL相匹配。
经过一番折
文档评论(0)