【背景】
台湾系微股份有限公司出品的 InsydeH2O UEFI BIOS 占了笔记本BIOS市场的不少份额,宏碁、神舟、惠普、华硕等都是它的用户。
系微是UEFI论坛的核心成员,因此其 InsydeH2O BIOS 对 UEFI 的支持是很完整的。但是,该 BIOS 由于内部设计的某些缺陷,偶然情况下会触发笔记本变砖,永久卡死在开机画面或者完全黑屏。
【故障原因】
百度贴吧的帖子介绍了其中一些可能的变砖触发方式:http://tieba.baidu.com/p/4186127001
【故障现象】
触发变砖后,机器的状态分为以下两种:
1、在纯UEFI启动模式下,开机后完全黑屏,没有任何内容显示,按Esc无法进入BIOS设置。
2、在Legacy(传统)或Dual(混合)启动模式下,你可以看到带厂商Logo的开机画面,并且按Esc后还会显示 “Esc is pressed, go to boot options.”但是,无论你等待多久,BIOS设置都无法进入,因为它已经卡在Bug里了。
这两种情形其实实质是一样的,都是 BIOS 由于 Bug 而卡死,系统无法继续启动。由于 UEFI 模式开机不显示主板启动画面,所以是黑屏,而其他两种模式会显示主板画面,所以有内容。
并且,你按 Ctrl + Alt + Delete 组合键也是有反应的,机器会重启,即使是黑屏状态你也能感觉到它重启了。但是重启后,机器依然卡在原来的位置。无论重试多少次,都不会成功进入BIOS设置或正常开机。
【尝试:不刷BIOS解决问题】
把所有硬盘拿出来。把所有硬盘拿出来,无论是机械、固态,还是别的什么U盘、存储卡、等等,全部都拔出来。然后再开机看看还会不会卡在初始画面。
如果不卡了,那你不需要刷BIOS。先不装盘,进BIOS设置把UEFI启动关掉(Boot Mode 选出 Legacy,不要选 Dual 或者 UEFI),然后插盘开机。当然此时你的系统可能已经进不去了,你需要一个PE。如果你还想继续用 UEFI 安装系统,先去 PE 里把盘清空一下再重新分区。然后重启进BIOS,打开UEFI,安装系统。
如果你插盘后再次卡在初始画面,并且格盘也无法解决,可以考虑刷BIOS。或者如果你不想格盘,也可以直接刷BIOS。但是不格盘不保证下次你不继续触发同样的问题。因为这个Bug经常就是特殊的硬盘分区状态引起的。
【解决方案:盲刷BIOS】
此时,没有经验的用户可能已经考虑返厂维修了。其实在最终返厂之前,我们还可以尝试自行修复一下。只要我们有U盘,有可以利用的正常电脑,以及能在网上找到符合该机型的BIOS文件,就有很大的可能性自行修复该问题,从而避免返厂换主板!
修复 BIOS 的机会,在于 InsydeH2O BIOS 内置了一个应急模式。应急模式通过开机时的按键进入(不同厂商的按键不同,后面会介绍),会自动识别U盘下特定文件名的 BIOS 文件并自动刷入,以此恢复 BIOS 的正常功能。
我们把这个在应急模式下恢复BIOS的过程叫做盲刷,因为应急模式下是没有任何显示的(有些机器甚至屏幕背光灯都不会亮起来),只能靠指示灯和风扇的状态来判断是否成功。
盲刷可以解决上述 BIOS 因 Bug 而卡住的问题。同时,因为盲刷也会一并清除所有存储在 BIOS 存储空间的设置数据,因此由于 BIOS 设置不当导致的问题也可以通过盲刷恢复。(部分机器无法通过取下主板电池来清除 BIOS 设置)
【盲刷准备:寻找BIOS文件】
神舟笔记本BIOS下载地址:
链接:https://pan.baidu.com/s/1GrtCy5nUdcsuqpjJTlcoMQ
提取码:sfm7
要盲刷,首先需要可刷新的 BIOS 文件,我们有两种方式得到它:
1、从网上寻找其他人分享的 BIOS 文件。我们通常能够下载到一个压缩包,里面包含一个 BIOS 文件和与其配套的在 Dos 系统下刷 BIOS 的程序。只要把 BIOS 文件单独拿出来即可。通常 BIOS 文件是整个压缩包中最大的,一般大于 4MB,文件名是打包的人随意取的。
2、如果官方提供BIOS更新程序下载,我们可以通过该更新程序得到可刷新的 BIOS文件,具体步骤如下。
a. 首先找可以正常开机的电脑,打开下载好的 BIOS 更新程序。BIOS 更新程序会识别出电脑型号不符,拒绝更新 BIOS 并弹出一个警告框。此时,不要点确定或关闭 BIOS 更新程序。
b. 然后打开任务管理器,在“进程”中找到 BIOS 更新程序的进程,通常名为 InsydeFlash.exe 或 InsydeFlashX64.exe,Win7 及以上系统的,右击这个进程,选择“打开文件位置”,XP 用户,请安装第三方进程管理器再试。
c. 打开了文件位置之后,你就能在打开的文件夹里找到 BIOS 刷新文件。不同厂商取的名字不同,但是这个文件应该是文件夹中最大的,通常大于 4MB。
需要注意的是,很多笔记本的官网只在 Win7 里提供BIOS下载,如果它要你选操作系统,你选 Win10 就没有 BIOS 可以下载,这时应该选 Win7。就算你用的 Win10 也应该选 Win7,程序在 Win10 里确实能用,不过网站维护人员偷懒没有把 BIOS 文件放在 Win10 的下载列表里。
【盲刷准备:寻找BIOS恢复文件名】
你必须要把 BIOS 文件改成特定的名称,Insyde 的恢复程序才会识别。而每个厂商设置的名称都是不同的,因此需要找到你机器 BIOS 对应的名称。
一个简单的寻找方法是百度“xxx机型 盲刷文件名”,能直接得到结果就很好。可能你还能顺便找到你机器的盲刷教程,比如怎么按键。
如果你百度不到,就可以用工具来打开 BIOS 自动得出恢复文件名。方法如下:
a. 下载最新版本的 Phoenix Tool。我用的是 2.54 的,更新的 2.66 好像也出来了。可以选择汉化版。
b. 打开 Phoenix Tool(首次打开要安装.Net框架,等安装完成再次打开),用它打开你的 BIOS 文件,它会自动开始分析。(BIOS 所在文件夹会生成 Dump 目录,是 Phoenix Tool 解压出来的 BIOS 内部文件。)
c. 数分钟后,Phoenix Tool 分析完毕,弹出一个对话框:“恢复文件名是 xxxxx.f?”,这就是你的盲刷文件名。不过其实真实的盲刷文件名是“xxxxx.fd”,可能由于 Bug,Phoenix Tool 总是把结尾的 d 显示成问号。
【盲刷准备:U盘】
准备一个U盘,最好是USB2.0的,不要USB3.0的。如果你只有USB3.0的,那试试也行,如果没有成功,试着换成2.0的。
把U盘格式化成 FAT32 格式或者 FAT(FAT16)格式,盲刷只支持这两种格式(FAT16/32)。注意不能是 exFAT,不能是 NTFS,更不能是 ext2 等Linux专用格式。
然后把改好名的 BIOS 文件放在U盘根目录,一个可以盲刷 BIOS 的U盘就准备好了。
注意:U盘中有其他文件通常不影响盲刷,但是如果你刷不进去,试试用格式化来清空U盘。
【盲刷准备:寻找按键方法】
每个机器盲刷的步骤都是相似的:彻底关机,插U盘,按住特定键,开机,自动开始盲刷。
不过由于不同的机型按键不同,所以你得找合适你机型的按键。
常见的按键有:Win + b,以及 fn + Esc。
神舟 K660D 是 Win + b,宏碁 E1-572g 是 fn + Esc。
你可以百度一下“xxx机型 盲刷按键”来找到适合你机器的按键。
【盲刷开始】
关机。如果机器不能正常关机,就长按电源键关机。有条件的把电池拿出来。如果电池比较难拆,或者在机器内部,可以不拿出来。只要关机彻底,电池通常不影响盲刷。
连接电源,必须。没有电源的情况下无法开始盲刷。
把U盘插在电脑的 USB 2.0 接口上。亲测神舟 K660d 的 USB 3.0 接口无法开始盲刷。如果你的电脑全部都是 USB 3.0 接口,那就随便插一个,不行再换另一个接口。
按住盲刷的两个键不放,比如 k660d 是按 Win 和 b,宏碁是按 fn 和 Esc。
按开机键。电脑会开机,此时你会发现屏幕上没有任何显示,某些机型甚至屏幕背光灯都没有亮,这说明你进入了盲刷模式,此时你就可以放手了。(UEFI状态下卡BIOS也是黑屏,但是屏幕背光灯是亮的。不过某些机型盲刷的时候没有屏幕背光灯区别,还有一些机型卡BIOS的时候屏幕背光灯也是不亮的。)
盲刷模式一开始,硬盘灯会闪烁一会儿。然后硬盘灯长时间熄灭,但是风扇一直在匀速转动,此为正在进行盲刷。约5分钟后,电脑自行关机,此时盲刷就结束了。你可以再按开机键,如果一切顺利,电脑会正常启动。
【盲刷失败的反应】
症状1. 硬盘灯亮起,熄灭,过一会儿又亮起,再熄灭,再亮起,反复不断,超过十分钟也没有自行关机,说明虽然进入了盲刷模式,但是盲刷没有成功。这通常是没有找到盲刷文件造成的。问题的可能原因有:
a. 盲刷文件没有放在根目录。应该放在U盘的根目录里,不应该在任何文件夹内。
b. 盲刷文件名错误。应该改成 Phoenix Tool 指定的文件名。
c. U盘不是 FAT16/FAT32格式的。必须重新格式化U盘。
d. U盘内文件太多,格式化U盘试试。
e. USB 接口不能用于盲刷。换一个接口。尽量不插在USB3.0接口。不过如果所有的USB2.0接口都失败了,那么尝试一下USB3.0接口看看有没有效果。
f. U盘不被识别,换一个U盘。比如电脑可能无法识别某些带有加密功能的或者是USB3.0接口的U盘。
g. 如果上面的都被排除了,那么还有一个可能,你找到的 BIOS 文件不适合你的机器,换一个 BIOS 文件试试。特别是,有些BIOS在盲刷的时候也会进行签名校验,使用未签名的BIOS(修改版、自行备份版等)都无法刷入,必须是官方原版的才行。
症状2. 刷完了,也自行关机了,但是开机后还是卡在先前的位置。
原因分析:很多人 BIOS 卡住都是由于硬盘分区造成的,所以如果你的硬盘还在机器内,那么就很可能第二次又卡住。
所以暂时先把硬盘拿出来,开机,看看能不能进入BIOS设置。
【盲刷成功】
如果盲刷成功,此时开机之后应该就一切正常了。不过如果导致卡BIOS的因素依然存在,你重启后可能又会卡BIOS,又得盲刷一次。
如果你重启后确实再次卡住,可以考虑PE下完全重新分区然后重装系统来避免继续触发 Bug。
此外,切换成 Legecy(传统)模式和 MBR 分区表应该会永久避免触发此 Bug。如果此 Bug 频繁出现,你可以考虑转成传统引导。
希望系微公司早日发布 BIOS 更新修复该 Bug。
【全文结束】
参考资料:
http://bbs.pcbeta.com/viewthread-1658574-1-1.html
http://bbs.bios.net.cn/forum.php?mod=viewthread&tid=4527060
补充一个发现盲刷BIOS文件名的高级方法,在 Phoenix Tool 不显示盲刷文件名时可用:
1、在 Phoenix Tool 里点击“结构”。
2、浏览并找到PEI模块“FsRecovery”,并记下其UUID。
3、在BIOS文件所在位置的DUMP文件夹(由 Phoenix Tool 产生)里面,找到文件名为该UUID的最大的ROM文件,并用 IDA Pro 打开(IDA Pro 用默认配置既可,所有选项选OK)。
4、浏览反汇编后的代码,既可发现盲刷BIOS时用的文件名。
(点击查看大图)
补充一个发现盲刷BIOS文件名的高级方法,在 Phoenix Tool 不显示盲刷文件名时可用:
1、在 Phoenix Tool 里点击“结构”。
2、浏览并找到PEI模块“FsRecovery”,并记下其UUID。
3、在BIOS文件所在位置的DUMP文件夹(由 Phoenix Tool 产生)里面,找到文件名为该UUID的最大的ROM文件,并用 IDA Pro 打开(IDA Pro 用默认配置既可,所有选项选OK)。
4、浏览反汇编后的代码,既可发现盲刷BIOS时用的文件名。
(点击查看大图)
重要的是我也没那个技术和胆量了……😂😂
比如宏碁会提供“Wibdows 8 (UEFI)”这样的升级包。
(能很方便送修的都是幸福的孩子😏)
补充一个发现盲刷BIOS文件名的高级方法,在 Phoenix Tool 不显示盲刷文件名时可用:
1、在 Phoenix Tool 里点击“结构”。
2、浏览并找到PEI模块“FsRecovery”,并记下其UUID。
3、在BIOS文件所在位置的DUMP文件夹(由 Phoenix Tool 产生)里面,找到文件名为该UUID的最大的ROM文件,并用 IDA Pro 打开(IDA Pro 用默认配置既可,所有选项选OK)。
4、浏览反汇编后的代码,既可发现盲刷BIOS时用的文件名。
(点击查看大图)