V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
accae
V2EX  ›  Windows

C-00000291.sys 为什么会让 Windows 蓝屏

  •  1
     
  •   accae · 162 天前 · 2740 次点击
    这是一个创建于 162 天前的主题,其中的信息可能已经有所发展或是发生改变。
    各个网站都找不到答案,大佬猜一下也行,真的好奇
    6 条回复    2024-07-21 13:21:07 +08:00
    moudy
        2
    moudy  
       162 天前 via iPhone
    .sys 是内核模块,会被内核调用。模块崩掉就意味着内核崩了。win 内核崩的表现就是蓝屏
    lambdaq
        3
    lambdaq  
       162 天前
    驱动文件。等于承重墙。
    mioktiar56
        4
    mioktiar56  
       161 天前   ❤️ 1
    通常只有 Ring0 层的程序才会导致系统蓝屏,比如驱动(.sys );而我们通常的应用程序都是在 Ring3 层,导致不了系统蓝屏的
    busier
        5
    busier  
       161 天前 via iPhone   ❤️ 2
    蓝屏是 windows 保护设备措施

    简单的说就是 windows 自己通过蓝屏主动终止计算机运行 以保护设备

    内核模块可以直接操作硬件,如果内核代码模块,例如驱动程序出错,写坏了磁盘驱动或文件系统或缓存所在的内存地址,那么就会造成整个磁盘存储结构损坏

    又比如工厂操作工业设备的计算机 错误数据写入设备操控的内存区域 严重时会导致大型设备误动作造成严重后果

    所以 windows 要通过蓝屏主动终止系统运行。负责蓝屏的代码,首先操作就是屏蔽设备中断,防止再操作硬件。并且要校验文件系统驱动,才会进行内存转储。

    客观的说 windows 的蓝屏功能设计很优秀
    accae
        6
    accae  
    OP
       160 天前
    @busier 最后一句才是重点啊!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   952 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 22:52 · PVG 06:52 · LAX 14:52 · JFK 17:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.