打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
为什么电脑出蓝屏重启后又变成绿色的?

首先说说07e这个代码,根据网络信息很可能是病毒感染或者内存不稳定。

然后蓝屏变绿屏是有两个原因的系统相关文件被修改(下面我会转一篇修改这方面的文章),另外一个是显示屏连接故障,一般是数据线故障或者接口故障(这个可以通过重启,看看有没有变化,看看有没有屏幕现实是否有不稳定的情况)

说说我的分析:

如果确认现实连接没问题,其他界面颜色正常的情况下

检查拆除内存进行清理,重新安装

用杀毒软件扫描病毒确认是否中毒。

希望你能解决。

下面转载一篇更改蓝屏颜色的文章,我没操作过。

准备工作

我们要修改内核代码,首先就是要打开修改内存中的内核代码的功能。Windows在小于2GB内存的系统上用4KB的内存页来存储内核代码,这样比较方便设置合适的页保护属性。比如内核数据页应该允许读取和写入访问,而内核代码页就只应该允许读取和执行访问。为了提高虚拟地址翻译的速 度,Windows在资源充足的系统上使用大内存页(4 MB)。这就是说如果有代码和数据同时存储在一个内存页里,这个内存页就必须允许读取、写入和执行访问。所以为了确保你可以编辑内存页,你可以建议 Windows使用大内存页。如果你的系统是Windows XP或者Server 2003,并且内存小于256 MB,或者是Windows Vista或更高版本且内存小于2 GB,在HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management下建立一个名为LargePageMinimum,类型为REG_DWORD,数据为1的注册表值:

为了让你不必在Windows自动重启前手忙脚乱地冲到朋友面前炫耀你的成果,你可以关闭自动重启。在Windows XP和Server 2003系统中,右键单击“我的电脑”,选择“高级”选项卡,单击“启动和故障恢复”中的“设置”按钮。在Windows Vista及更高版本中,右键单击开始菜单中的“计算机”选择“属性”,单击“高级系统设置”,选择“高级”选项卡,单击“启动和故障恢复”中的“设置” 按钮。最后,取消选择“自动重新启动”复选框:

如果你在用64位 Windows Vista或更高版本,你需要用调试模式启动系统,这样才可以用内核调试器的“本地调试”模式。你可以在开机的时候按F8然后选择“调试模式启动”或者在“系统配置”工具中选择“调试”复选框:

下面重启并以管理员身份运行调试器(如果开了UAC,以管理员身份运行)。在File菜单中打开“Symbol Search Path”对话框,输入这个字符串:srv*c:\symbols*http://msdl.microsoft.com/download /symbols(c:\symbols 可以是任意本地目录,用于给调试器存放缓存的符号),这样就可以将调试器符号路径指向微软符号服务器。下面在File菜单中打开“Kernel Debugging”对话框,单击“Local”选项卡,按“确定”按钮:

接下来的步骤会因你的系统版本而有所不同。

32位Windows XP和Windows Server 2003

这些系统上显示蓝屏的函数是KeBugCheck2。你要找的是这个函数把颜色值传递给填充屏幕背景的函数InbvSolidColorFill的地方。输入“u kebugcheck2”命令来显示函数开头,然后继续输入“u”命令显示更多的内存页,直到你看到对InbvSolidColorFill的调用为止。 (在输入一次“u”之后,你只要一直按回车就可以重复这个命令了)。你大概要显示30-40个内存页才能看到这个调用:

在这个调用之前,你会看到一个带有参数4的指令(“push 4”),如上图。选择地址行并按下Ctrl+C以复制这个指令的地址。接下来在调试器命令窗口中输入“eb ”,然后按Ctrl+V粘贴这个地址,然后输入“+1”,然后按回车。调试器会进入内存编辑模式,并从那个颜色代码的地址开始编辑。现在你可以选颜色了,1是红色,2是绿色,你还可以试试别的颜色。只要输入数字然后按两次回车就可以保存修改并退出编辑模式。退出后你的屏幕应该是这个样子:

64位Windows以及32位Windows Vista及更高版本

在这些版本的Windows里,画蓝屏的函数叫KiDisplayBlueScreen。输入“u kidisplaybluescreen”然后一直输入“u”命令显示函数的内存页,直到你找到对InbvSolidColorFill函数的调用为止。 在32位Windows上,你可以按上一节给出的方法来编辑颜色值。在64位系统上,InvbSolidColorFill前的那个指令是传递颜色的指 令,所以复制它的地址并输入“eb <地址>+4”进行编辑。调试器会进入内存编辑模式,然后你就可以修改它的值(比如1是红色,2是绿色):

查看结果

你现在可以准备让系统蓝屏了。如果你用的是64位系统,那可能已经蓝屏了。这是因为Kernel Patch Protection会发现这些修改,然后使系统蓝屏。这样做可以避免一些第三方软件厂商考虑用修改内核代码的方式实现某些功能。不过,系统最多可能会延迟7分钟才蓝屏。要想随时蓝屏,可以运行Notmyfault工具(你可以从《Windows Internals》的相关页面中下载到),然后按下“Do Bug”按钮(为避免数据丢失,请确保你保存了所有文件并关闭了其它程序):

然后你就会得到一个自选颜色的蓝屏了,比如我选的红屏:

节日蓝屏

为了增添节日气氛,我还要生成一个节日主题的蓝屏:不仅要修改背景色,还要修改文字颜色。在64位Windows Vista及更高版本下,找到紧跟InvbSolidColorFill函数调用的InvbSetTextColor,并找到将文字颜色传给该函数的指令 “move ecx, 0Fh”:

0Fh参数表示白色,但你可以用同样的方法改成别的颜色。使用“eb”命令,传入该指令的地址加1。在下图中我设置成了红色(也就是1):

这就是我弄出的很有喜庆气氛的蓝屏:

原文链接:http://www.ipc.me/change-bluescreen-to-other-color.html

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
UndocumentedWindowsNT中文资源
嵌入式系统关键技术分析与开发应用
wdm驱动开发之路(5)
神秘!申请内存时底层发生了什么?
一个小小指针,竟把Linux内核攻陷了!
干货:如何一分钟解决Windows 10崩溃问题
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服