Trigger a BSOD on Windows IoT Core device
我正在寻找一种在运行Windows 10 IoT核心版的IoT设备上触发蓝屏死机(BSOD)的方法。
我尝试进行一些谷歌搜索,但是任何指南要么不适用于Windows 10 IoT核心版(例如,通过Ctrl 2x Scroll Lock组合键强制它),要么根本不起作用(例如杀死csrss.exe进程) ,它返回"访问被拒绝"错误-不管是从IoT Core内置Shell还是远程PowerShell会话中将其杀死都没有关系。
我也知道Microsoft的工具,不是我的错,但这是一个.exe文件,而不是我可以轻松在Windows 10 IoT核心版系统上运行的UWP .appx程序包。
我能想到的最好的事情是某种远程PowerShell命令或创建可以某种方式触发以产生BSOD的应用程序。
免责声明:这仅用于学术目的,我不希望采用" hacky"解决方案。我打算触发BSOD的设备属于我,我不打算使用提供的方法对其他任何人造成混乱。
编辑:如@Sunius在评论中所建议,也有可能编写我自己的kernel mode driver。如果我要采用此解决方案,那么如何使用此类驱动程序按需触发BSOD?我以前没有编写Windows驱动程序的经验,因此实现此目的的任何一般提示都可能有用。
我了解有关解除引用空指针的知识,但是据我所知,这通常会在驱动程序安装/加载时发生,我宁愿需要一种先安装/加载驱动程序的方法,然后在必要时触发使用我提供的驱动程序读取BSOD。与驱动程序通信的选项有哪些?驱动程序是否允许从C#UWP应用程序触发任何操作(因为我无法在IoT核心版OS上运行其他应用程序)?
有没有我可以阅读的指南和参考资料?关于此主题的Microsoft文档非常稀缺,并且不适合初学者使用(我想编写驱动程序不应由初学者完成,但仍然可以)。
- 编写内核模式驱动程序并取消引用空指针?
-
@Bart GSOD仅适用于Windows Insiders。由于GSOD只是为了轻松地区分Insider和生产版本,因此生产版本仍然会抛出良好的BSOD。
-
@Sunius我也考虑过编写一个可以触发BSOD的驱动程序的可能性,但是我对此没有任何经验。用kernel mode driver表示KMDF吗?我是通过这个abbreviaton来阅读MS文档的,但是我从未做过驱动程序编程,而且我很确定它不像开发应用程序那样简单。另外-我怎样才能按需触发BSOD?
-
@MarianDolinsk那么,GSOD和BSOD之间的唯一区别是Insider版本吗?我认为我正在Raspberry上运行Insider预览,这是否会改变有关触发BSOD的内容?
-
@Asunez是的,那应该是唯一的区别。你可以在这里阅读更多。
-
这取决于可以停止的可用服务。我总是可以通过按以下顺序取消进程来获得BSOD。 RPCSS LOCALSERVICE NETWORKSERVICE DLLHOST.exe NETSVCS 给出0xc000021a
-
@VGSandz我应该在我的问题中澄清这一点-杀死crsss.exe不起作用,因为我遇到了"访问被拒绝"错误。每当我尝试杀死任何系统进程时,都会发生这种情况。我将对此进行编辑。
-
我没有要测试的IoT Core安装,但是当以管理员身份运行时,您也许可以使用PowerShell命令Get-Process | Stop-Process -Force触发BSoD。
-
@ Persistent13请将此作为答案-实际上起作用了:)使用远程Power Shell,我能够在IoT设备上触发BSOD。我会将这个答案标记为已接受。我唯一奇怪的是,在尝试杀死csrss.exe时,我自己尝试使用-Force参数,但是它拒绝了-因此,我从未尝试杀死任何其他进程,因为我认为关键进程即使在这种情况下也可以得到保护范围。
-
@Asunez很高兴听到它起作用了!
-
我的Win10 PC仅有一次蓝屏死机,我试图弄清楚为什么我PC上的google驱动器无法与网络版本同步,并且意外地尝试从本地Google Drive文件夹而不是桌面上载文件到Google Drive网站。我没有尝试重新创建它,因为我不再只是为了个人娱乐而在BSOD上处理我的个人设备了,但是也许它会一直为您工作。
您可以使用命令Get-Process | Stop-Process -Force触发BSoD。