无忧启动论坛

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

成功实现XP的PE下安装Vista!!!

[复制链接]
1#
发表于 2007-8-3 02:02:50 | 显示全部楼层
我也测试成功了

VMWare 6.0.0.45731 虚拟机设置有512MB内存,18.1G硬盘(4+14),两个光驱
deepinxp LitePro V2:(前身是V6RC1)内有zjqcomputer的老毛桃0628,减去了网络组件和显卡声卡驱动,内核更新了一些SCSI控制区器驱动(by ryvius,这里多谢zjqcomputer等大侠)
深度旗舰U版.iso

先用光驱1加载LitePro V2的ISO,正常启动,选择2进入WINPE
再用光驱2加载深度旗舰U版.iso,马上启动安装程序,如前一样失败


接着加载另外一个ISO,上面放了补丁
执行之前X:\WXPE\STSTEM32下文件如下
没有HAL.DLL!但是有RICHED20.DLL


执行补丁后,X:\WXPE\STSTEM32下多了两个文件(忘记比较前后两个RICHED20.DLL的版本了)
hal.dll和Vista.reg(此REG我已经加多了一行要删的Minint)


再次启动Vista安装程序,OK了


[ 本帖最后由 ryvius 于 2007-8-3 02:04 AM 编辑 ]
回复

使用道具 举报

2#
发表于 2007-8-3 12:49:43 | 显示全部楼层
补丁代号        发布        需要SP        修复级别        文件名称        详细板本

KB889673        pub        SP2        sp2qfe        hal.dll        5.1.2600.2562 (xpsp.040919-1030)
KB889673        pub        SP2        sp2qfe        halaacpi.dll        5.1.2600.2562 (xpsp.040919-1030)
KB889673        pub        SP2        sp2qfe        halacpi.dll        5.1.2600.2562 (xpsp.040919-1030)
KB889673        pub        SP2        sp2qfe        halapic.dll        5.1.2600.2562 (xpsp.040919-1030)
KB889673        pub        SP2        sp2qfe        halmacpi.dll        5.1.2600.2562 (xpsp.040919-1030)
KB889673        pub        SP2        sp2qfe        halmps.dll        5.1.2600.2562 (xpsp.040919-1030)
KB889673        pub        SP2        sp2qfe        halsp.dll        5.1.2600.2562 (xpsp.040919-1030)

KB896256        pub        SP2        sp2gdr        halmacpi.dll        5.1.2600.3023 (xpsp_sp2_gdr.061030-0016)

*pub表示可以在MS网站挖到直接下载,否则就是MS提供给整机厂家用于修补特定问题,不对外提供


http://support.microsoft.com/kb/889673
硬件 DEP - 启用计算机可能停止响应恢复从待机或休眠在 Windows XP Service Pack 2 时
http://www.microsoft.com/downloa ... 9-96e2-f0d05651fd6a
Windows XP 更新程序 (KB889673)
http://download.microsoft.com/do ... B889673-x86-CHS.exe

http://support.microsoft.com/kb/896256
如果运行 Windows XP Service Pack 2 的计算机上装有多个支持处理器电源管理功能的处理器,则可能出现性能下降的情况
http://www.microsoft.com/downloa ... 4-BBD8-34FB8A0FCE3B
Windows XP 更新程序 (KB896256)
http://download.microsoft.com/do ... 6256-v4-x86-CHS.exe


XPSP2原版本身的那7个hal*.dlld的版本肯定是5.1.2600.2180 (xpsp_sp2_rtm.040803-2158)
可见5.1.2600.2562出现的原因,应该是当前的系统打了补丁


------


正常的WINXP安装程序,在完整的安装过程完成后
会根据之前的对机器的ACPI判断(或者用户按F5键强制选择)
安装对应的HAL.DLL文件
此时,无论是hal.dll还是其它的halaacpi.dll、halacpi.dll、halapic.dll、halmacpi.dll、halmps.dll、halsp.dll
都会统一命名为hal.dll,放在\Windows\system32\之下
有用超线程或者双核或者SMP平台的兄弟可以看看你现在用的Windows 2000/xp/2003里的hal.dll文件,看看它的原始文件名

我的机器是875P+P4E 3.0 HT

C:\WINDOWS\system32\hal.dll
原来的文件名是halmacpi.dll

楼主提供的hal.dll原文件名是halaacpi.dll,版本5.1.2600.2180 (xpsp_sp2_rtm.040803-2158)
我觉得关键还是在版本上,而不是hal.dll本身是来自何方
大概Vista安装程序认为基于WINXP的WINPE,都是依据XPSP2制作的,文件版本都是xpsp_sp2_rtm.040803-2158
说不定将来的基于XPSP3的WINPE,也是要弄个版本号有rtm的HAL.dll,才能装Vista呢

------------


http://support.microsoft.com/kb/237556/zh-cn
如何解决 Windows 2000 硬件抽象层问题

概要
在 Windows 2000 中,有几种方法可以解决与“硬件抽象层”(HAL) 相关的问题,出现这些问题可能是因为检测错误、高级配置和电源接口 (ACPI) 基本输入/输出系统 (BIOS) 过

时或不兼容,或者是错误安装或手动安装了某种计算机类型。本文介绍了一些方法,可用来解决与 HAL 相关的问题。

注意:在本文中,“计算机类型”和“HAL”这两个术语的含义是相同的,可以互换。

更多信息
确定计算机类型
要确定所使用的计算机类型,请按照下列步骤操作:
1. 单击开始,指向设置,单击控制面板,然后双击系统。
2. 单击硬件选项卡,然后单击设备管理器,查看计算机分支下列出的内容。下面是支持的计算机类型的列表。

“标准”计算机下 HAL 的值可能包括:
ACPI Multiprocessor PC
ACPI Uniprocessor PC
Advanced Configuration and Power Interface (ACPI) PC
MPS Multiprocessor PC
MPS Uniprocessor PC
Standard PC
“Compaq”下 HAL 的值可能包括:
Compaq SystemPro Multiprocessor or 100% Compatible
“SGI”下 HAL 的值可能包括:
Silicon Graphics Visual Workstation

查看或更改已安装的计算机类型
要查看或更改已安装的计算机类型,请按照下列步骤操作:

警告:请注意,在任何情况下,都不应尝试从 ACPI HAL 更改为标准 HAL,或从标准 HAL 更改为 ACPI HAL。否则会导致计算机无法正常启动或根本无法启动。这是因为当前要加

载的“即插即用”设备树是用于 ACPI 的,它不会重建或还原为标准的 HAL“即插即用”设备树。由于设备树结构差异太大,因此在计算机重新启动后,系统无法得知硬件变化,

也就无法提供启动设备的位置。Microsoft 不建议也不支持此过程,原因是它会导致数据丢失。
1. 单击开始,指向设置,单击控制面板,然后双击系统。
2. 单击硬件选项卡,然后单击设备管理器,查看计算机分支下列出的内容。例如,可能会列出“Standard PC”(检测到的 Windows 2000 在计算机上安装的计算机类型)或

“Advanced Configuration Power Interface (ACPI) PC”这样的项。
3. 要更改已安装的计算机类型,请单击驱动程序选项卡,然后单击更新驱动程序。

注意:在从“Standard PC”HAL 更改为“Standard Multiprocessor PC”HAL 时,仅能从“设备管理器”的计算机类型下更改或更新 HAL,原因是从 ACPI HAL 更改为标准 HAL

会导致无法启动计算机。

如果无法正常启动计算机,可能是因为安装 Windows 2000 后安装了错误的计算机类型 (HAL),在此情况下请执行以下紧急修复过程:
1. 使用 Windows 2000 安装软盘或 Windows 2000 光盘(如果您的计算机支持从光盘启动),启动计算机。
2. 在“欢迎使用安装程序”屏幕上,按 R 键进行修复。
3. 在 Windows 2000 修复选项屏幕上,按 R 键,以使用紧急修复过程进行修复。
4. 按 M 键可手动选择修复选项,并且一定要选中“验证 Windows 2000 系统文件”和“检查启动环境”功能,也可按 F 键运行所有修复选项。
5. 完成上述过程后,应该能够恢复最初安装的 HAL 和关联文件。取出光盘或软盘,然后重新启动计算机。

注意:在“设备管理器”中仍然可以看到错误安装的计算机类型。
6. 要确保在设备管理器中看到正确的计算机类型,请在重新启动计算机时,按 F8 键,选择最后一次正确的配置,然后按 Enter 键。
7. 单击相应的硬件配置文件(如果存在多个配置文件)。在硬件配置文件上,单击配置恢复,按 Enter 键,然后 Windows 2000 即可启动。

从 ACPI HAL 更改为标准 HAL 的最佳方法是:将 Windows 2000 重新安装为升级版:
1. 以升级版启动 Windows 2000 安装程序。
2. 要自动禁用 ACPI 支持,并允许 Windows 2000 自动检测(或手动更改和安装)计算机支持的正确的(标准 HAL)计算机类型,请使用以下方法之一:

要自动检测计算机类型,请按照下列步骤操作:

在安装程序生成以下信息性消息时,按 F7 键:
如果需要安装第三方 SCSI 或 RAID 驱动程序,请按 F6 键。
注意:按 F7 键时,您看不到指示正在执行自动检测的可视指示器;请继续按正常方式安装,直至完成。

要手动选择计算机类型,请按照下列步骤操作:

按 F5 键,然后使用以下列表手动选择正确的“标准”计算机类型:
i386 源文件 计算机类型
*hal.dll Compaq SystemPro Multiprocessor or 100% Compatible
*halapic.dll MPS Uniprocessor PC
*halapic.dll MPS Multiprocessor PC
*hal.dll Standard PC
*halborg.dll SGI mp


注意:不必使用重新安装的方法来从“Standard PC”HAL 更新为“MPS Multiprocessor PC”HAL,而可以使用“设备管理器”中的“更新驱动程序”功能来执行此操作。但是,在

将使用“标准”计算机类型的计算机改为使用 ACPI HAL 计算机类型时,必须重新安装 Windows 2000,并允许 Windows 2000 自动检测正确的计算机类型。

如果紧急修复过程找不到修复信息或者修复信息无效,请启动“故障恢复控制台”来恢复 Windows 2000 安装:
1. 使用 Windows 2000 安装软盘或 Windows 2000 光盘(如果计

算机支持从光盘启动),启动计算机。在“欢迎使用安装程序”屏幕上,按 R 键修复安装,然后按 C 键启动“故障恢复控制台”。

注意:有关使用“故障恢复控制台”的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
229716 (http://support.microsoft.com/kb/229716/) Windows 2000 故障恢复控制台说明

2. 在登录到计算机之后,从原始 Windows 2000 安装的 %SystemRoot%\System32 文件夹中,使用命令控制台复制并重命名以下列表中列出的文件。首先使用受支持计算机类型的

以下列表来确定您的计算机需要哪些 HAL 和内核文件:

注意:标记有星号字符的是“标准”计算机类型(非 ACPI)。

i386 源文件:i386\driver.cab\halmacpi.dll
计算机类型:ACPI Multiprocessor PC
复制到此文件夹:winnt\System32
重命名为此文件名:hal.dll

i386 源文件:i386\driver.cab\halaacpi.dll
计算机类型:ACPI Uniprocessor PC
复制到此文件夹:winnt\System32
重命名为此文件名:hal.dll

i386 源文件:i386\driver.cab\halacpi.dll
计算机类型:Advanced Configuration and Power Interface (ACPI) PC
复制到此文件夹:winnt\System32
重命名为此文件名:hal.dll

i386 源文件:*i386\driver.cab\halsp.dll
计算机类型:Compaq SystemPro Multiprocessor or 100% Compatible
复制到此文件夹:winnt\System32
重命名为此文件名:hal.dll

i386 源文件:*i386\driver.cab\halapic.dll
计算机类型:MPS Uniprocessor PC
复制到此文件夹:winnt\System32
重命名为此文件名:hal.dll

i386 源文件:*i386\driver.cab\halmps.dll
计算机类型:MPS Multiprocessor PC
复制到此文件夹:winnt\System32
重命名为此文件名:hal.dll

i386 源文件:*i386\driver.cab\hal.dll
计算机类型:Standard PC
复制到此文件夹:winnt\System32
重命名为此文件名:hal.dll

i386 源文件:*i386\driver.cab\halborg.dll
计算机类型:SGI mp
复制到此文件夹:winnt\System32
重命名为此文件名:hal.dll
回复

使用道具 举报

3#
发表于 2007-8-3 23:41:05 | 显示全部楼层
HAL就是硬件抽象层啊...
针对不同的CPU体系...
MS老巢有堆资料的

http://bbs.deepin.org/read.php?tid=15781
释放双核平台的能量!Windows NT5 ACPI入门

XP/2000/2003安装盘启动计算机后
出现
Press F6 if you need to install a third-party SCSI or RAID driver.

此时能自选用那个HAL了
不过装出来的系统会不会蓝屏,得看你有没选对了










我在178楼发的,LZ看看先


正常的WINXP安装程序,在完整的安装过程中
会根据txtmode阶段对机器的ACPI判断(或者用户按F5键强制选择)
安装对应的HAL.DLL文件
此时,无论是hal.dll还是其它的halaacpi.dll、halacpi.dll、halapic.dll、halmacpi.dll、halmps.dll、halsp.dll
都会统一命名为hal.dll,放在\Windows\system32\之下
有用超线程或者双核或者SMP平台的兄弟可以看看你现在用的Windows 2000/xp/2003里的hal.dll文件,看看它的原始文件名

------

http://support.microsoft.com/kb/237556/zh-cn
如何解决 Windows 2000 硬件抽象层问题

.....

i386 源文件:i386\driver.cab\halmacpi.dll
计算机类型:ACPI Multiprocessor PC
复制到此文件夹:winnt\System32
重命名为此文件名:hal.dll

i386 源文件:i386\driver.cab\halaacpi.dll
计算机类型:ACPI Uniprocessor PC
复制到此文件夹:winnt\System32
重命名为此文件名:hal.dll

i386 源文件:i386\driver.cab\halacpi.dll
计算机类型:Advanced Configuration and Power Interface (ACPI) PC
复制到此文件夹:winnt\System32
重命名为此文件名:hal.dll

i386 源文件:*i386\driver.cab\halsp.dll
计算机类型:Compaq SystemPro Multiprocessor or 100% Compatible
复制到此文件夹:winnt\System32
重命名为此文件名:hal.dll

i386 源文件:*i386\driver.cab\halapic.dll
计算机类型:MPS Uniprocessor PC
复制到此文件夹:winnt\System32
重命名为此文件名:hal.dll

i386 源文件:*i386\driver.cab\halmps.dll
计算机类型:MPS Multiprocessor PC
复制到此文件夹:winnt\System32
重命名为此文件名:hal.dll

i386 源文件:*i386\driver.cab\hal.dll
计算机类型:Standard PC
复制到此文件夹:winnt\System32
重命名为此文件名:hal.dll

i386 源文件:*i386\driver.cab\halborg.dll
计算机类型:SGI mp
复制到此文件夹:winnt\System32
重命名为此文件名:hal.dll



如果源文件名称就是hal.dll,那就对应Standard PC,无ACPI
看来是Vista安装程序拒绝在不支持ACPI的机器上进行安装!

[ 本帖最后由 ryvius 于 2007-8-3 11:42 PM 编辑 ]
回复

使用道具 举报

4#
发表于 2007-8-4 00:13:42 | 显示全部楼层
从我自己身边的机器看来
头三个HAL**.dll用得最多了

一台Celeron 3 Tulatin的老机器,Abit 815EP-B Stepping主板
HAL文件名是halacpi.dll


而我之前提到的我自己的机器的HAL.DLL本体是halmacpi.dll
CPU是P4E 3.0 HT开启

halmacpi.dll是针对SMP、超线程、双核/多核或者多核+超线程的CPU等平台的了(IA X86 32bit)

而更多的AMD的Athlon XP、Athlon64、Sempron等单核处理器,是用halaacpi.dll(记忆中这些CPU的机器都是显示ACPI Uniprocessor PC,有用这些CPU的兄弟麻烦确认一下)

各位兄弟可以报一下自家CPU以及ACPI,看看HAL.DLL的本体是啥
让基于WINXP的WINPE中启动Vista安装的解决方案更完美

另外突发奇想,64bit的WINXP不如也弄成PE吧,哈哈...说不定这才是PE区新的最后难题哦:lol ;P
回复

使用道具 举报

5#
发表于 2007-8-4 11:02:39 | 显示全部楼层
3、支持HT并安装HT功能CPU、安装 了双CPU的机子一般支持ACPI Multiprocessor PC(halmps.dll),相当于ACPI+APIC+多处理器

应该是halmacpi.dll
此HAL文件装在用单核IA32 X86 CPU的WINXP上就蓝屏了...

而1、2装在3上,还可以凑合用用,但是只能看到一个核心/线程


具体例子就是早期的Ghost版XP/2000/2003
那时还不能用第三方程序来判断ACPI
基于单核平台的GhostXP,装在开了HT的机器上(即使主板一样),也只能看到一个CPU...
除非主动换ACPI

而从双核平台上运行OK的WINXP,如果不改ACPI,把CPU换成单核(比如P4 531换成CD 331),那就蓝屏没商量了
回复

使用道具 举报

6#
发表于 2007-8-4 19:55:00 | 显示全部楼层
Vista安装的时候当然是拷贝自家的HAL了
它内核是WINNT 6.0啊
回复

使用道具 举报

7#
发表于 2007-8-5 22:55:25 | 显示全部楼层
WINPE启动过程
提示按F6加载驱动时,按F5
有如下画面...
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-10 06:03

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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