盲刷BIOS,挽救无法开机的笔记本[Insyde BIOS]

@Ta 2016-10-05发布,2022-04-09修改 82637点击

【背景】

台湾系微股份有限公司出品的 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机型 盲刷按键”来找到适合你机器的按键。

【盲刷开始】

  1. 关机。如果机器不能正常关机,就长按电源键关机。有条件的把电池拿出来。如果电池比较难拆,或者在机器内部,可以不拿出来。只要关机彻底,电池通常不影响盲刷。

  2. 连接电源,必须。没有电源的情况下无法开始盲刷。

  3. 把U盘插在电脑的 USB 2.0 接口上。亲测神舟 K660d 的 USB 3.0 接口无法开始盲刷。如果你的电脑全部都是 USB 3.0 接口,那就随便插一个,不行再换另一个接口。

  4. 按住盲刷的两个键不放,比如 k660d 是按 Win 和 b,宏碁是按 fn 和 Esc。

  5. 按开机键。电脑会开机,此时你会发现屏幕上没有任何显示,某些机型甚至屏幕背光灯都没有亮,这说明你进入了盲刷模式,此时你就可以放手了。(UEFI状态下卡BIOS也是黑屏,但是屏幕背光灯是亮的。不过某些机型盲刷的时候没有屏幕背光灯区别,还有一些机型卡BIOS的时候屏幕背光灯也是不亮的。)

  6. 盲刷模式一开始,硬盘灯会闪烁一会儿。然后硬盘灯长时间熄灭,但是风扇一直在匀速转动,此为正在进行盲刷。约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时用的文件名。

(点击查看大图)

回复列表(22|隐藏机器人聊天)
  • @Ta / 2016-10-05 / /
    睡眠优先啦~
  • @Ta / 2018-04-07 / /
    (同19楼)
    补充一个发现盲刷BIOS文件名的高级方法,在 Phoenix Tool 不显示盲刷文件名时可用:
    1、在 Phoenix Tool 里点击“结构”。
    2、浏览并找到PEI模块“FsRecovery”,并记下其UUID。
    3、在BIOS文件所在位置的DUMP文件夹(由 Phoenix Tool 产生)里面,找到文件名为该UUID的最大的ROM文件,并用 IDA Pro 打开(IDA Pro 用默认配置既可,所有选项选OK)。
    4、浏览反汇编后的代码,既可发现盲刷BIOS时用的文件名。

    (点击查看大图)
    607ec4ab1fd4ae9e3d824eeb39b77b30369359.png
  • @Ta / 2016-10-05 / /
    看不懂(#-.-)
  • @Ta / 2016-10-05 / /
    我还想刷bios以支持uefi,看情况还是算了吧………😂

    重要的是我也没那个技术和胆量了……😂😂
  • @Ta / 2016-10-05 / /
    @tasy5kg@老虎会游泳@姜辰,按del键进入BIOS
  • @Ta / 2016-10-05 / /
    @姜辰,如果你有官方的BIOS升级包,直接升级就好。
    比如宏碁会提供“Wibdows 8 (UEFI)”这样的升级包。
  • @Ta / 2016-10-05 / /
    @罐子,我们讨论的不是同一种BIOS。
  • @Ta / 2016-10-05 / /
    @老虎会游泳,然而不敢是重点。,
  • @Ta / 2016-10-05 / /
    原创点赞
  • @Ta / 2016-10-05 / /
    @老虎会游泳,我遇到一次无法进入bios的情况,室友戴尔笔记本装ghost,pe下装好了,重启进不去bios,一直显示logo,由于机子没过保修,不敢乱拆,所以没拿出硬盘,返厂说的是硬盘烧坏了。不知道是不是你这个原因,
  • @Ta / 2016-10-05 / /
    被站长屏蔽
    被禁言
    用户被禁言,发言自动屏蔽。
  • @Ta / 2016-10-06 / /
    @20110,也有可能是单纯的硬盘问题,导致BIOS在枚举硬盘的时候无限等待。这种拿出硬盘就好。如果拿出硬盘还是不好,那可能是BIOS发生问题。
    (能很方便送修的都是幸福的孩子😏)
  • @Ta / 2016-10-06 / /
    @老虎会游泳@姜辰,bios可以这么玩吗?老虎不是说如果bios没有不好的,就不需要升级吗?虽然我有官方的bios升级包,可惜我不敢弄。弄的不好电脑就得挂。
  • @Ta / 2016-10-07 / /
    @5258,这个帖子是教你在你BIOS挂了的情况下怎么把它修好😄
  • @Ta / 2016-10-07 / /
    @老虎会游泳,bios挂了,就进不了系统,电脑就开不开机吗?
  • @Ta / 2016-10-07 / /
    @5258,是这样。
  • @Ta / 2016-10-08 / /
    都是电脑坏了才临时补习的,,,目前还没胆量折腾电脑。。一般都是,自行百度,型号,补救方法。。。老虎辛苦了。。。
  • @Ta / 2016-10-15 / /
    你把bios玩坏了
  • @Ta / 2018-04-07 / /
    (同2楼)
    补充一个发现盲刷BIOS文件名的高级方法,在 Phoenix Tool 不显示盲刷文件名时可用:
    1、在 Phoenix Tool 里点击“结构”。
    2、浏览并找到PEI模块“FsRecovery”,并记下其UUID。
    3、在BIOS文件所在位置的DUMP文件夹(由 Phoenix Tool 产生)里面,找到文件名为该UUID的最大的ROM文件,并用 IDA Pro 打开(IDA Pro 用默认配置既可,所有选项选OK)。
    4、浏览反汇编后的代码,既可发现盲刷BIOS时用的文件名。

    (点击查看大图)
    607ec4ab1fd4ae9e3d824eeb39b77b30369359.png
添加新回复
回复需要登录