首页 > IT > win7下0x124蓝屏的一种解决办法

win7下0x124蓝屏的一种解决办法

2010年3月17日 发表评论 阅读评论 9,065 views

寒假换电脑以及重装系统后,经常时不时的出现蓝屏,代码为0x00000124,有时候一天之内连续蓝两三次,非常恼火。
后来装了win debug进行分析蓝屏dump文件,发现每次都是由ntkrnlpa.exe这个文件引起。
百科了一把,这个文件是跟双核有关的一个系统程序,传送门ntkrnlpa.exe,于是就认为是自己的ES版CPU所引起。

后来到了学校之后还是蓝屏不断,去网上搜索类似解决124蓝屏的方法,没有一种奏效。
终于有一天,又是蓝屏之后,我想既然是这个文件引起蓝屏,那不妨去看看这文件到底有什么异样。

于是我打开C盘,搜索ntkrnlpa.exe,出现很多个结果,我发现在system32下的ntkrnlpa.exe的日期跟其他的都不一样,进入目录后,发现唯独它的日期被修改过而且比其他文件晚很多,所以问题所在就知道了:这个文件被修改或者替换过,从而造成不稳定。

我查看其详细信息,发现它的版本号为6.1.7600.20591,而其他文件的版本号都是6.1.7600.16385,这时我才想起来,当初装了鲁大师后给系统升级了漏洞补丁,之后就不停的蓝屏了,原来是那个时候打的某个“补丁”把这个文件给替换了。

于是找了一个原版的6.1.7600.16385的ntkrnlpa.exe,替换掉这个新版本的,然后重启。果然,到目前为止都没有再蓝屏了。

以上只是解决0x124蓝屏的一种办法,查过微软对于124蓝屏的解释,貌似说引发问题的原因很多,所以本文仅供参考,具体问题还得具体分析。

5.9更新:
如果你在替换文件时碰到权限不足的问题,可以参考Win7下替换系统文件提示权限不足的解决办法

Win7下替换系统文件提示权限不足的解决办法

分类: IT 标签: , ,
  1. zjsoho
    2010年3月24日21:44 | #1

    顶一个,虽然用着vista。。。

    timmy Reply:

    该换了,win7很优秀

  2. 2010年4月23日12:56 | #2

    我也是常常蓝屏,搜索后发现有6个ntkrnlpa.exe文件,而且版本都不相同,请问该怎么办呢?

    timmy Reply:

    @jason, 全都替换为版本号为6.1.7600.16385的,我是这样替换之后才解决的。
    6.1.7600.16385是win7刚安装好时的版本号。

  3. 2010年4月23日22:12 | #3

    哦 多谢,我去试试。

  4. 2010年4月23日22:17 | #4

    但是我遇到一个问题,那就是权限不足,不能复制替换,怎么办啊?

    timmy Reply:

    @jason, 把要替换的文件的所有者改为你当前的系统用户,然后赋予所有权限,这样应该就可以替换了

  5. RAve
    2010年5月6日18:30 | #5

    我和你情况一样,也是0X000000124原因 蓝屏,我 找到那几个ntkrnlpa ,版本号也是不一样,但是 ,是所有的都不一样

  6. RAve
    2010年5月6日18:34 | #6

    我邮箱是bobo_gerry@sina.com 。能给我联系下吗。蓝屏 20次以上了,搞的 我这两天 心情也不好

    timmy Reply:

    @RAve, 如我文章中所说,把ntkrnlpa替换为原来的版本的就好了。这个一般是装了360或者鲁大师或者其他修复漏洞程序给打了某个补丁而替换这些文件所导致的。
    如果还有问题可以再交流。

  7. Jeff
    2010年5月9日20:20 | #7

    我最近也常蓝屏,0x000000c2,2次athr.sys,11次ntkrnlpa.exe。跟2楼Jason一样,有5个版本6个ntkrnlpa.exe文件,我照楼主说的“把要替换的文件的所有者改为你当前的系统用户,然后赋予所有权限”,不知道为什么替换不了,说我没权限…求楼主帮忙,我的邮箱是zjfzjcn@foxmail.com

    timmy Reply:

    @Jeff, 关于文件替换你可以参考一下我刚发的这篇博文
    http://imtimmy.com/win7-replace-system-files-with-authority/
    希望能对你有帮助

  8. 乌卡卡
    2010年5月10日10:28 | #8

    @jason
    我的也是都不同

    timmy Reply:

    @乌卡卡, 以原版的为准吧

  9. 2010年5月29日00:57 | #9

    已经使用了你的方法,不知道对我的蓝屏是否有效,不管怎样,谢谢!!!

    timmy Reply:

    @Zhu8, 不客气,能帮到你最好。

  10. oldestsky
    2010年7月18日12:40 | #10

    等等….
    我也碰到了这个问题…
    我今天进系统时蓝屏了,就在安全模式下windbg了一下,发现是ntkrnlpa.exe的问题,后来就在linux PE下改了名
    (我对这个系统文件不熟悉..),改了后,发现系统启动不了
    后来让它自己修复(startup fix),它自己复制了一个进去吧.
    还是蓝屏,忙了一个早上也没有收获,不经意间,进了另外一个标准用户,(我的电脑有两个账户,另外一个几乎没用过),却可以进入系统..
    搜索却只发现只有一个,pe下可以搜得到两个…
    问题是,两个账户不是共用一个ntkrnlpa.exe的吗?
    怎么那个管理员账号反而会蓝屏进不了系统的呢?
    (前一天关机时曾经升级过360安全卫士,不过今天我已经在安全模式下卸载了…,可还是不行..
    应该不会是冲突吧??)
    可不可以告诉一下我??
    感激不尽~

    timmy Reply:

    @oldestsky, 检查一下system32目录下的ntkrnlpa.exe文件的版本号是否为6.1.7600.16385

  11. oldestsky
    2010年8月1日09:15 | #11

    @oldestsky
    嗯,不过我的是RC版本的..
    所以为6.1.7100.0
    之前一直都没问题的..
    还有我用另外一个账号上可以啊???

    timmy Reply:

    @oldestsky, 那你的蓝屏可能是其他原因引起了,具体我也不清楚。

  12. oldestsky
    2010年8月8日01:36 | #12

    哦,可能是内核吧??
    cmd也有很多命令执行不了..
    哎要重装了,还是谢谢你提供了一个思路..

  13. bigniu
    2010年8月20日08:13 | #13

    楼主,我顶你,终于找到和我情况一样的了,都两个月了,快愁死我了

    timmy Reply:

    @bigniu, 能帮到你就好 :wink:

  14. chy007
    2010年8月27日02:08 | #14

    博主,是不是必须将system32下的这个文件更换掉?
    这个文件没有搜到在这个文件夹下面。
    我的系统是win7-64的,系统都安装不上的。
    只能拿人家安装好的ghost下。
    32位下面就不会出现这个问题。

    timmy Reply:

    @chy007, 64位系统没用过,不清楚额。。。经供参考吧

  15. zhengshao
    2010年10月10日18:09 | #15

    你好,不知道我的是不是这个原因,我没用windbg测试,我也不会用
    不过我搜索ntkrnlpa.exe文件,也有五个,发现只有三个是版本一样的
    其他两个不一样, 我替换了一下 两天没蓝屏 以前是几乎一天两次蓝屏
    刚才又蓝了 我郁闷 可以和我联系一下吗 我的邮箱是122673970@qq.com
    感激不尽

    timmy Reply:

    @zhengshao, 偶尔的蓝屏是正常的,如果经常性就不正常了。我建议你用windbg分析一下dump文件。
    如果还有问题可以在这里留言或者发邮件给我i(AT)imtimmy.com

  16. zhengcaiyi
    2011年2月12日22:19 | #16

    十分感谢,我按照你的办法,问题暂时没有再出现,是否已经解决有待观察。一开始我还以为处理器有问题呢。你的cpu是什么型号的,蓝屏是不是因为运行暴风影音,火狐浏览器,google浏览器等软件造成的?我每次运行这些软件不出两分钟,就蓝屏,代码就是0x124,查看事件管理器,一般报两个错误,一个是缓存层级架构错误,一个是总线错误。。。。

    timmy Reply:

    @zhengcaiyi, 我的是T8300工程版。有几次124蓝屏是由firefox、chrome引起,我初步估计是多核心多线程的问题

  17. ssica
    2011年6月8日22:24 | #17

    为什么我的WIN7搜索ntkrnlpa,会有好多个呢,而且差不多有4 5个不同的版本

    timmy Reply:

    @ssica, 说明打过4、5个与这个文件相关的补丁

  18. asper
    2011年6月29日20:35 | #18

    楼主你好,我最近因为加了一根内存条之后出现0x00000124蓝屏,之后我把内存条拔掉之后蓝屏还有,今天分析内存转储文件发现有可能为athr.sys,hal.dll,ntoskrnl.exe的问题。楼主你说的ntkrnlpa版本有三个不同,且现在用的是win7 SP1。求楼主帮忙分析下

    timmy Reply:

    @asper, 我推荐你把这三个文件都恢复到最早的版本,也就是系统刚刚安装时的版本试试。
    另外,我估计你是用360打补丁吧?360现在有个蓝屏恢复的功能,你可以研究一下。
    good luck.

  19. rainzhu
    2011年8月15日17:01 | #19

    楼主您好,我也是碰到了和你一样的问题,我用的是华硕本本F8sr,自己升级了CPU,T8300加针版的,也升级了显卡9650m gt,经常在浏览网页时出现蓝屏,代码也是124,但是我玩魔兽的时候不会出现!不知道楼主的问题现在还出现了没有?这个问题整整困扰了我3个多月了~重装了系统还是一样出现,网上找了些帖子,说是可能和CPU关系比较大~有种说法是CPU在轻载的时候待机电压过低导致的~和淘宝卖家联系,卖家坚决说CPU是没问题的,让我从别的地方入手~郁闷啊~到底是不是CPU的问题哦,楼主你觉得呢~

    timmy Reply:

    用windebug先分析一下看看是哪个进程或者文件引起的蓝屏

  20. rainzhu
    2011年8月15日22:06 | #20

    @rainzhu
    貌似也是这个吗?ntoskrnl.exe???
    Microsoft (R) Windows Debugger Version 6.7.0005.1
    Copyright (c) Microsoft Corporation. All rights reserved.

    Loading Dump File [C:\Users\Rain\Desktop81511-16130-01.dmp]
    Mini Kernel Dump File: Only registers and stack trace are available

    Symbol search path is: *** Invalid ***
    ****************************************************************************
    * Symbol loading may be unreliable without a symbol search path. *
    * Use .symfix to have the debugger choose a symbol path. *
    * After setting your symbol path, use .reload to refresh symbol locations. *
    ****************************************************************************
    Executable search path is:
    *********************************************************************
    * Symbols can not be loaded because symbol path is not initialized. *
    * *
    * The Symbol Path can be set by: *
    * using the _NT_SYMBOL_PATH environment variable. *
    * using the -y argument when starting the debugger. *
    * using .sympath and .sympath+ *
    *********************************************************************
    Unable to load image ntoskrnl.exe, Win32 error 0n2
    *** WARNING: Unable to verify timestamp for ntoskrnl.exe
    *** ERROR: Module load completed but symbols could not be loaded for ntoskrnl.exe
    Windows Kernel Version 7600 MP (2 procs) Free x86 compatible
    Product: WinNt, suite: TerminalServer SingleUserTS
    Kernel base = 0x84014000 PsLoadedModuleList = 0x8415c830
    Debug session time: Mon Aug 15 14:35:50.975 2011 (GMT+8)
    System Uptime: 0 days 0:00:06.817
    *********************************************************************
    * Symbols can not be loaded because symbol path is not initialized. *
    * *
    * The Symbol Path can be set by: *
    * using the _NT_SYMBOL_PATH environment variable. *
    * using the -y argument when starting the debugger. *
    * using .sympath and .sympath+ *
    *********************************************************************
    Unable to load image ntoskrnl.exe, Win32 error 0n2
    *** WARNING: Unable to verify timestamp for ntoskrnl.exe
    *** ERROR: Module load completed but symbols could not be loaded for ntoskrnl.exe
    Loading Kernel Symbols
    ……………………………………………..
    Loading User Symbols
    Mini Kernel Dump does not contain unloaded driver list
    *******************************************************************************
    * *
    * Bugcheck Analysis *
    * *
    *******************************************************************************

    Use !analyze -v to get detailed debugging information.

    BugCheck 124, {0, 895d7024, 0, 0}

    ***** Kernel symbols are WRONG. Please fix symbols to do analysis.

    *********************************************************************
    * Symbols can not be loaded because symbol path is not initialized. *
    * *
    * The Symbol Path can be set by: *
    * using the _NT_SYMBOL_PATH environment variable. *
    * using the -y argument when starting the debugger. *
    * using .sympath and .sympath+ *
    *********************************************************************
    *************************************************************************
    *** ***
    *** ***
    *** Your debugger is not using the correct symbols ***
    *** ***
    *** In order for this command to work properly, your symbol path ***
    *** must point to .pdb files that have full type information. ***
    *** ***
    *** Certain .pdb files (such as the public OS symbols) do not ***
    *** contain the required information. Contact the group that ***
    *** provided you with these symbols if you need this command to ***
    *** work. ***
    *** ***
    *** Type referenced: nt!_KPRCB ***
    *** ***
    *************************************************************************
    Probably caused by : hardware

    Followup: MachineOwner

    timmy Reply:

    那你按我的描述,看看自己的ntoskrnl.exe文件版本是不是有点不对劲,用原始版本替换一下试试。

  21. rainzhu
    2011年8月15日22:09 | #21

    0: kd> !analyze -v
    *******************************************************************************
    * *
    * Bugcheck Analysis *
    * *
    *******************************************************************************

    WHEA_UNCORRECTABLE_ERROR (124)
    A fatal hardware error has occurred. Parameter 1 identifies the type of error
    source that reported the error. Parameter 2 holds the address of the
    WHEA_ERROR_RECORD structure that describes the error conditon.
    Arguments:
    Arg1: 00000000, MCA_ASSERT
    Arg2: 895de79c, Address of WHEA_ERROR_RECORD structure
    Arg3: 00000000, High 32 bits of MCi_STATUS MSR for the MCA bank that had
    the error
    Arg4: 00000000, Low 32 bits of MCi_STATUS MSR for the MCA bank that had
    the error

    Debugging Details:
    ——————

    ***** Kernel symbols are WRONG. Please fix symbols to do analysis.

    *********************************************************************
    * Symbols can not be loaded because symbol path is not initialized. *
    * *
    * The Symbol Path can be set by: *
    * using the _NT_SYMBOL_PATH environment variable. *
    * using the -y argument when starting the debugger. *
    * using .sympath and .sympath+ *
    *********************************************************************
    *************************************************************************
    *** ***
    *** ***
    *** Your debugger is not using the correct symbols ***
    *** ***
    *** In order for this command to work properly, your symbol path ***
    *** must point to .pdb files that have full type information. ***
    *** ***
    *** Certain .pdb files (such as the public OS symbols) do not ***
    *** contain the required information. Contact the group that ***
    *** provided you with these symbols if you need this command to ***
    *** work. ***
    *** ***
    *** Type referenced: nt!_KPRCB ***
    *** ***
    *************************************************************************

    FAULTING_MODULE: 8403c000 nt

    DEBUG_FLR_IMAGE_TIMESTAMP: 0

    WHEA_ERROR_RECORD: !errrec ffffffff895de79c

    BUGCHECK_STR: 0x124_GenuineIntel

    CUSTOMER_CRASH_COUNT: 1

    DEFAULT_BUCKET_ID: WRONG_SYMBOLS

    STACK_TEXT:
    WARNING: Stack unwind information not available. Following frames may be wrong.
    8dd13cc4 8410b0c5 895de780 841a3c28 841a3c20 nt+0x322493
    8dd13ce4 8410beef 841a3c20 895de780 841a3c50 nt+0xcf0c5
    8dd13d00 840aa03b 841a3c20 00000000 868e5640 nt+0xcfeef
    8dd13d50 8424a9df 00000001 afb6bb65 00000000 nt+0x6e03b
    8dd13d90 840fc1d9 840a9f2e 00000001 00000000 nt+0x20e9df
    00000000 00000000 00000000 00000000 00000000 nt+0xc01d9

    STACK_COMMAND: kb

    FOLLOWUP_NAME: MachineOwner

    MODULE_NAME: hardware

    IMAGE_NAME: hardware

    BUCKET_ID: WRONG_SYMBOLS

    Followup: MachineOwner
    ———

  22. rainzhu
    2011年8月16日13:54 | #22

    谢谢啊,不过昨天晚上我用setfsb软件,降频到2.2gHz,貌似没蓝屏了,继续观察。。。

  23. rainzhu
    2011年8月17日01:18 | #23

    郁闷,刚才又蓝屏了,又是在浏览网页的时候,玩了一晚上的魔兽都没蓝屏过。。。看来降频的方法无效,怀疑是不是软件兼容性问题。
    我按照您的方法,把所有的ntoskrnl.exe文件和ntkrnlpa.exe文件都替换成原始版本了,明天继续观察吧~~~

  1. 2010年5月9日21:18 | #1

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :cool: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O