修正 H33Y 准系统 intel HM55 芯片组安装 Windows 10 的问题

博主分享了解决神舟A360-i3D1笔记本(H33Y准系统)无法安装Win10的问题。问题源于ACPI驱动在EC_REG模块未调用前访问EC寄存器导致的系统认为超过临界温度而自动关机。通过windbg调试发现_THRM._CRT模块在EC0._REG之前被调用,导致错误。解决方案是创建引导程序修正ECFL初值,从而正常安装Win10。博客提供了源代码下载链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

嘿,五一快到了大家好。

        很久很久没有逛csdn了。这次来分享一个修正 H33Y 准系统不能安装 Win10 的问题。

        有台神舟 A360-i3 D1 笔记本,准系统 H33Y(UMA) / intel HM55 芯片组。曾经陪着度过帝都的漂泊生活,一直运行 Win8.0。上网,看视频,刷网站一直正常。在 Win8 结束支持后打算升级到Win 10,无论下载哪个版本的 Win10 安装镜像都无法成功安装 Win10 不是蓝屏,就是自动关机 :) 一直等待修复这个问题,然鹅没有结果。

        今年初翻出它来,Win8 用起来各种老旧。还是升级到 Win10,再战到 Win10 2025 结束支持前。

        好,不多说。

        解决这个问题之前先来看原因。

        准备工具 windbg 。使用 bcdedit 配置 Win10 安装盘为 debug 模式。当 windbg 连接到安装环境,可以看到发生如下输出后关机

        "Above critical temperature(_TMP 3232, _CRT 2732). Shutdown initiated"
        从字面可以看到,windows 认为当前系统温度已经超过临界紧急温度,因此ACPI 驱动发出了紧急关机事件,所以无法进行到安装界面。
        然后是 balabalabala 的 debug,出问题部分贴见下图。

        Windows 开发文档中有规定,EC 的 _REG 模块未被正确调用前,禁止访问 EC 寄存器。这里可以看到 _REG 模块中只是简单将 ECFL 设定一个值,表示是否能访问 EC 寄存器。
        从 windbg 中观察到 THRM._CRT 模块在 EC0._REG 之前被调用,由于此时 EC0._REG 未调用而不满足访问条件,_SB.TCRT 未被赋值,直接返回到 ACPI 驱动中为 0 值。导致关机发生。

        这里假定 _CRT _TMP 并不需要由 EC 访问保护,看起来也是如此。

        有尝试修改 BIOS 文件来修正它,但 BIOS 中 ACPI 部分,看起来是压缩过的,没能成功处理。嘿嘿,但作为一只图吧垃圾佬整个 MBR 神马的,还是很轻松嘛,所以做一个小的引导程序来修正它。这里简单的将 ECFL 初值设置为 1,即可正常的安装 Windows 10

        

        注意: 没有充分的测试环境,这台 A360 BIOS 为 205 版本,内存为 8G ,另修改引导磁盘的 MBR,可能会引起反病毒软件提示。这里 windows 防火墙没有任何警告。

        如何找到 DSDT 表可以参考

        https://wiki.osdev.org/Category:ACPI       

        如果对你有所帮助,资源中可以下载到源代码

        

        没有分的同学可以去 github.com/Treeyan/h33yfix

                                        4/24/2022 于重庆

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值