用u盘装系统进pe蓝屏后重启电脑出现蓝屏怎么办

win7系统插入U盘开机出现蓝屏的问题及解决方法
随着U盘的越来越广泛,很多用户都选用U盘存储一些重要资料文件,有时会使用U盘安装系统,但是,最近有一些用户反映在插入U盘后出现开机蓝屏的现象,其蓝屏错误代码为0X0000007B,在拔下U盘后开机正常,这种是什么原因造成的呢?下面系统盘之家小编为大家详细介绍下出现此状况的原因,及解决方法! 1、计算机遭到了病毒、木马、流氓软件等恶意程序的攻击;解决方案:执行安全防护类软件对计算机进行全面检查,看看计算机是否遭到了病毒、木马、流氓软件等恶意程序的攻击。2、主板的sata或ide控制器驱动程序受到了损坏或安装不正确;解决方案:重新安装主板驱动程序提供的sata或ide控制器驱动。3、系统分区存在磁盘错误或文件错误;解决方案:执行磁盘扫描程序对所有的磁盘驱动器进行全面检测,看看磁盘驱动器是否存在磁盘错误或文件错误。4、u盘中毒;解决方案:使用u盘pe工具来修复u盘。 上面的四种方法就是插入u盘开机出现蓝屏原因及解决方法,如果你遇上这种情况的话,看看这篇文章找找原因,去解决问题的技巧吧。
教程分类栏目
热门教程总排行榜
热门下载排行
最新系统下载后使用快捷导航没有帐号?
查看: 4923|回复: 23
安装完U盘过滤驱动,重启蓝屏怎么解决?
在线时间89 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
照着张帆的《Windows驱动开发技术详解》第22章的例子,做了一个U盘过滤驱动,将U盘禁用。
安装好之后重启,刚刚出现XP的横向滚动条就蓝屏了。
然后我先不安装驱动,进入系统后将驱动程序放到system32/drivers下面,在注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentConrolSet\Control\Class\{4D36E967-E325-11CE-BFC1-0}里面添加一项LowerFilters,内容是我的驱动名,在控制台输入net start myfilter,系统也是马上蓝屏了。
最后我重启系统,用WinDBG调试,也是先不安装,进入系统后,设置好注册表然后在控制台输入net start myfilter,在WinDBG里调试了一下没有蓝屏,驱动可以使用,达到了预期的效果。
所以请问大家,重启蓝屏是怎么回事?
在线时间0 小时
TA的帖子TA的资源
调USB蓝屏真是件头疼的事啊!
在线时间0 小时
TA的帖子TA的资源
根据蓝屏信息,查看错误类型及引起错误的代码。
在线时间0 小时
TA的帖子TA的资源
蓝屏信息如下:
Technical information:
*** STOP:0x0000007B (0xF8AC000000)
在线时间0 小时
TA的帖子TA的资源
看看你的内存申请释放是不是在同一层进行的?
在线时间0 小时
TA的帖子TA的资源
蓝屏的时候会生成Dump文件,先分析一下Dump文件试试。
在线时间0 小时
TA的帖子TA的资源
Dump文件内容如下:
Microsoft (R) Windows Debugger&&Version 6.6.0007.5
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [D:\Documents and Settings\Administrator\桌面\Mini.dmp]
Mini Kernel Dump File: Only registers and stack trace are available
Symbol search path is: D:\Documents and Settings\Administrator\桌面\sys(海军)\SSR01A_Checked
Executable search path is:
Unable to load image ntoskrnl.exe, Win32 error 2
*** WARNING: Unable to verify timestamp for ntoskrnl.exe
*** ERROR: Module load completed but symbols could not be loaded for ntoskrnl.exe
Windows XP Kernel Version 2600 (Service Pack 2) UP Free x86 compatible
Product: WinNt, suite: TerminalServer SingleUserTS
Kernel base = 0x804d8000 PsLoadedModuleList = 0x
Debug session time: Wed Sep&&9 10:10:31.734 2009 (GMT+8)
System Uptime: 0 days 0:05:27.343
Unable to load image ntoskrnl.exe, Win32 error 2
*** 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
Loading unloaded module list
Unable to load image MyFilter.sys, Win32 error 2
*** WARNING: Unable to verify timestamp for MyFilter.sys
*** ERROR: Module load completed but symbols could not be loaded for MyFilter.sys
在线时间0 小时
TA的帖子TA的资源
上面的有问题,我重新安装一下驱动,重启蓝屏,得到的dump文件如下:
Microsoft (R) Windows Debugger&&Version 6.6.0007.5
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [D:\Documents and Settings\Administrator\桌面\Mini.dmp]
Mini Kernel Dump File: Only registers and stack trace are available
Symbol search path is: D:\Documents and Settings\Administrator\桌面\FileFilter\MyFilter_Check
Executable search path is:
Unable to load image ntoskrnl.exe, Win32 error 2
*** WARNING: Unable to verify timestamp for ntoskrnl.exe
*** ERROR: Module load completed but symbols could not be loaded for ntoskrnl.exe
Windows XP Kernel Version 2600 (Service Pack 2) UP Free x86 compatible
Product: WinNt, suite: TerminalServer SingleUserTS
Kernel base = 0x804d8000 PsLoadedModuleList = 0x
Debug session time: Wed Sep&&9 15:44:35.046 2009 (GMT+8)
System Uptime: 0 days 0:09:42.671
Unable to load image ntoskrnl.exe, Win32 error 2
*** 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
Loading unloaded module list
在线时间0 小时
TA的帖子TA的资源
7B错误是系统不能访问启动分区,说明你的驱动程序挂到硬盘上了,你应该判断只挂U盘。
在线时间0 小时
TA的帖子TA的资源
如何让驱动只挂U盘?
注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentConrolSet\Control\Class\{4D36E967-E325-11CE-BFC1-0},这个位置是磁盘驱动器,但是没有U盘驱动器啊。
另外,我在驱动程序的AddDevice函数里判断如果是硬盘的话,直接return STATUS_SUCCESS。
代码如下:
NTSTATUS AddDevice(IN PDRIVER_OBJECT DriverObject, IN PDEVICE_OBJECT pdo)
& & & & _asm int 3;
& & & & // AddDevice
& & KdPrint((DRIVERNAME & - Entering AddDevice: DriverObject %8.8lX\n&, DriverObject));
& & & & //确保当前函数运行在分页内存中
& & & & PAGED_CODE();
& & & & NTSTATUS
& & & & PDEVICE_OBJECT
& & & & ULONG DeviceType = 0;
& & & & DeviceType = GetDeviceTypeToUse(pdo);
& & & & if (DeviceType == FILE_DEVICE_DISK)
& & & & & & & & KdPrint((&IDE disk!&));
& & & & & & & & return STATUS_SUCCESS;
& & & & else if (DeviceType == FILE_DEVICE_MASS_STORAGE)
& & & & & & & & KdPrint((&usb disk!&));
& & & & //创建设备对象
& & & & status = IoCreateDevice(DriverObject, sizeof(DEVICE_EXTENSION), NULL,
& & & & & & & & DeviceType, 0, FALSE, &fido);
& & & & //判断是否成功创建设备对象
& & & & if (!NT_SUCCESS(status))
& & & & {& & & & & & & & & & & & & & & & & & & & & & & & // can't create device object
& & & & & & & & KdPrint((DRIVERNAME & - IoCreateDevice failed - %X\n&, status));
& & & & & & & & //如果不能成功创建设备对象就返回
& & & & & & & &
& & & & }& & & & & & & & & & & & & & & & & & & & & & & & // can't create device object
& & & & //获得设备扩展
& & & & PDEVICE_EXTENSION pdx = (PDEVICE_EXTENSION) fido-&DeviceE
& & & & do
& & & & {& & & & & & & & & & & & & & & & & & & & & & & & // finish initialization
& & & & & & & & //初始化自旋锁
& & & & & & & & IoInitializeRemoveLock(&pdx-&RemoveLock, 0, 0, 0);
& & & & & & & & pdx-&DeviceObject =
& & & & & & & & pdx-&Pdo =
& & & & & & & & //将过滤驱动附加在底层驱动之上
& & & & & & & & PDEVICE_OBJECT fdo = IoAttachDeviceToDeviceStack(fido, pdo);
& & & & & & & & if (!fdo)
& & & & & & & & {& & & & & & & & & & & & & & & & & & & & // can't attach& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &&&
& & & & & & & & & & & & KdPrint((DRIVERNAME & - IoAttachDeviceToDeviceStack failed\n&));
& & & & & & & & & & & & status = STATUS_DEVICE_REMOVED;
& & & & & & & & & & & &
& & & & & & & & }& & & & & & & & & & & & & & & & & & & & // can't attach
& & & & & & & & //记录底层驱动
& & & & & & & & pdx-&LowerDeviceObject =
& & & & & & & & //由于不知道底层驱动是直接IO还是BufferIO,因此将标志都置上
& & & & & & & & fido-&Flags |= fdo-&Flags & (DO_DIRECT_IO | DO_BUFFERED_IO | DO_POWER_PAGABLE);
& & & & & & & & // Clear the &initializing& flag so that we can get IRPs
& & & & & & & & fido-&Flags &= ~DO_DEVICE_INITIALIZING;
& & & & }& & & & while (FALSE);& & & & & & & & & & & & & & & & & & & & // finish initialization
& & & & if (!NT_SUCCESS(status))
& & & & {& & & & & & & & & & & & & & & & & & & & // need to cleanup
& & & & & & & & //如果没有成功,则从设备堆栈中删除设备
& & & & & & & & if (pdx-&LowerDeviceObject)
& & & & & & & & & & & & IoDetachDevice(pdx-&LowerDeviceObject);
& & & & & & & & IoDeleteDevice(fido);
& & & & }& & & & & & & & & & & & & & & & & & & & // need to cleanup
}& & & & & & & & & & & & & & & & & & & & & & & & & & & & // AddDevice
在线时间0 小时
TA的帖子TA的资源
下午在网上google了一下,找到另一种禁用U盘的方法,
“IRP_MJ_INTERNAL_DEVICE_CONTROL的分发例程中,比较驱动的名称是否为usbstor,如果是的话即为
存储设备,将IRP返回即可”
& &if (_wcsnicmp(DeviceObject-&AttachedDevice-&DriverObject-&DriverName.Buffer,L&\Driver\USBSTOR&,15)==0)
& && && & DbgPrint(&Find USB StorIRP_MJ_DEVICE_INTERL_CONTROL::Cmp Result is %d &,
& && &&&_wcsnicmp(DeviceObject-&AttachedDevice-&DriverObject-&DriverName.Buffer,L&\Driver\USBSTOR&,15));
& && &&&Irp-&IoStatus.Status = STATUS_ACCESS_DENIED;
& && &&&Irp-&rmation = 0;
& && &&&IoCompleteRequest( Irp, IO_NO_INCREMENT );
& && &&&return STATUS_ACCESS_DENIED;
& && &...{
& && && && && &&&Irp-&IoStatus.Status = STATUS_SUCCESS;
& && && &&&return FilterPass(DeviceObject, Irp);
然后在注册表的键值
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{36FC9E60-C465-11CF-40000}
下面增加子项:
LowerFilters =&&&MyFilter.sys&.
奇怪的是,安装好驱动后,重启依然蓝屏。
但是我用WinDBG调试的时候,没有蓝屏,顺利进入系统,没有一行代码导致系统崩溃,然后我插入U盘,可以禁用U盘。 这个可就难住我了,完全不知道是怎么回事。
系统蓝屏时的信息如下:
0xxxFxF8AFAF9460)
大家帮帮忙,看看是怎么回事?
在线时间0 小时
TA的帖子TA的资源
你先试一下AddDevice直接返回看会不会出问题,如果没有问题,在逐步增加代码,确定是哪里引起的问题。
在线时间0 小时
TA的帖子TA的资源
试过了,AddDevice直接返回,蓝屏。
加载在注册表的这个位置,
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{36FC9E60-C465-11CF-40000} ,
蓝屏信息是:
0xxxFxF8AFAF9460)
加载在注册表的这个位置,
HKEY_LOCAL_MACHINE\SYSTEM\CurrentConrolSet\Control\Class\{4D36E967-E325-11CE-BFC1-0},
蓝屏信息是:
0x0000007B (0xF8AC000000)
在线时间0 小时
TA的帖子TA的资源
驱动程序本身的注册表是怎么写的?DriverEntry中执行了哪些操作?把DriverEntry中的代码也简化一下看看。
在线时间0 小时
TA的帖子TA的资源
DriverEntry代码如下:
#pragma INITCODE
extern &C& NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,
& & & & IN PUNICODE_STRING RegistryPath)
{& & & & & & & & & & & & & & & & & & & & & & & & & & & & // DriverEntry
& & & & _asm int 3;
& & & & KdPrint((DRIVERNAME & - Entering DriverEntry: DriverObject %8.8lX\n&, DriverObject));
& & & & // Initialize function pointers
& & & & DriverObject-&DriverUnload = DriverU
& & & & DriverObject-&DriverExtension-&AddDevice = AddD
& & & & for (int i = 0; i & arraysize(DriverObject-&MajorFunction); ++i)
& & & & & & & & DriverObject-&MajorFunction = DispatchA
& & & & DriverObject-&MajorFunction[IRP_MJ_POWER] = DispatchP
& & & & DriverObject-&MajorFunction[IRP_MJ_PNP] = DispatchP
& & & & DriverObject-&MajorFunction[IRP_MJ_SCSI] = DispatchForSCSI;
& & & & return STATUS_SUCCESS;
}& & & & & & & & & & & & & & & & & & & & & & & & & & & & // DriverEntry
在线时间0 小时
TA的帖子TA的资源
驱动程序的inf文件如下:
Signature=$CHICAGO$
Provider=%MFGNAME%
[DestinationDirs]
DefaultDestDir=10,system32\drivers
FiltJectCopyFiles=11
[SourceDisksFiles]
MyFilter.sys=1
[SourceDisksNames]
1=%INSTDISK%,,,MyFilter_Check
;------------------------------------------------------------------------------
;&&Windows 2000 Sections
;------------------------------------------------------------------------------
[DefaultInstall.ntx86]
CopyFiles=DriverCopyFiles,FiltJectCopyFiles
[DriverCopyFiles]
MyFilter.sys,,,0x60& & & & & & & & ; replace newer, suppress dialog
[DefaultInstall.ntx86.services]
AddService=MyFilter,,FilterService
[FilterService]
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%10%\system32\drivers\MyFilter.sys
;------------------------------------------------------------------------------
;&&String Definitions
;------------------------------------------------------------------------------
MFGNAME=&Zhangfan Software&
INSTDISK=&Zhangfan Disc&
DESCRIPTION=&Sample File Filter Driver&
在线时间0 小时
TA的帖子TA的资源
把_asm int 3;注释掉试试。
在线时间0 小时
TA的帖子TA的资源
把_asm int 3;注释掉后重启仍然蓝屏。
但是,进入系统用net start 启动不蓝屏。
在线时间86 小时
TA的帖子TA的资源
感谢cnzdgs
将驱动挂载在注册表的这个位置,
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{36FC9E60-C465-11CF-40000} ,
注释掉_asm int 3就不蓝屏了。重启没有问题,禁用可以实现。
只是小弟一事不明,为什么挂载在注册表的这个位置HKEY_LOCAL_MACHINE\SYSTEM\CurrentConrolSet\Control\Class\{4D36E967-E325-11CE-BFC1-0}, 挂载这个位置重启就会蓝屏呢。
用WinDBG调试的时候,根本不进入驱动的代码,DriverEntry都没进,系统就蓝屏挂掉了。
但是如果先不安装驱动,进入系统之后再用net start启动驱动就没有问题。
系统启动的时候,系统做了些什么与驱动冲突呢?
在线时间0 小时
TA的帖子TA的资源
{36FC9E60-C465-11CF-40000}是USB控制器;
{4D36E967-E325-11CE-BFC1-0}是磁盘驱动器。
对于磁盘驱动程序,需要设置Start=0,系统在刚刚启动时就加载驱动程序,在加载各种磁盘时调用AddDevice,如果驱动程序没有加载或者程序导致系统不能正常访问硬盘,就会蓝屏。
用WinDbg调试时,对于Start=0的驱动程序,在XP系统中无法调试DriverEntry函数,因为此时系统还未完成调试的初始化,更高版本的Windows系统可以调试。
Powered by
逛了这许久,何不进去瞧瞧?电脑开机蓝屏怎么用 u盘怎么重装系统_百度知道
电脑开机蓝屏怎么用 u盘怎么重装系统
提问者采纳
upanok,选择U盘引导启动://www。希望以上回答对您有所帮助。插入U盘重新启动时按F10键或ESC键进入快捷引导设置.com/" target="_blank">http,将快速启动fast boot功能关闭:<a href="http://www.upanok!一键U盘装系统,找到Advanced选项下,祝您生活愉快,按F10键保存退出您好请您开机时按F2键进入BIOS设置
其他类似问题
电脑开机蓝屏的相关知识
按默认排序
其他1条回答
ku6如何用U盘装系统 视频教程
下载知道APP
随时随地咨询
出门在外也不愁插入U盘电脑开机蓝屏怎么办_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
喜欢此文档的还喜欢
插入U盘电脑开机蓝屏怎么办
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢}

我要回帖

更多关于 重装系统重启后蓝屏 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信