自从我升级了老款笔记本电脑(富士通 E8310,很喜欢它的 4:3 屏幕!)后,从睡眠/挂起状态唤醒后,我遇到了 BSOD DRIVER_POWER_STATE_FAILURE。所以我决定一劳永逸地解决这个问题,但我却束手无策。
我查看了 minidump,在我看来,它似乎是 atapi.sys。现在我记得我以前在使用 Windows 7 x64 时遇到过问题,从睡眠状态恢复后,DVD 驱动器不再工作,甚至无法打开驱动器托架,并从“我的电脑”中消失。重新启动后,一切恢复正常。我不记得从安装 Windows 7 开始是否就是这样。这似乎与驱动器在 IRP 上等待时间过长有关。根据我的发现,此错误不会在 Windows 7 中引发 BSOD,但从 Windows 8 开始,在这种情况下将引发 BSOD。因此,虽然它只是让我在 Win7 上有一个无法工作的 DVD 驱动器,但它会使 Win10 上的计算机崩溃。
我已将所有驱动程序更新为我能找到的最新版本(甚至是经过修改的 Intel RST 驱动程序),但它们从未包含 atapi.sys。由于此驱动器仍在使用 IDE 总线,因此更新 RST 驱动程序显然不会产生任何效果。此外,驱动器和 BIOS 也已更新为最新固件版本。
目前我有两个解决方法:1)永不休眠 2)在 BIOS 中禁用 IDE,并在我需要驱动器时激活(需要重新启动)。
有没有办法停用 DRIVER_POWER_STATE_FAILURE 上的 BSOD 条件?或者某处是否有更新的 atapi.sys?Win10 中的那个是 2006 年的。或者可能与驱动器有关,换成另一个可能会有帮助(如果我还能在某处找到 IDE 驱动器!)?
感谢大家的意见!
编辑:笔记本电脑使用 ICH8M 芯片组。HDD 处于原生 AHCI 模式(无旧版)。
EDIT2:它也是全新安装,已完全更新。顺便说一下,这是崩溃转储:https://www.sendspace.com/file/lsl3b6
答案1
好的,我检查了 dmp 并发现 CD/DVD 驱动器("IDE\CdRomMATSHITA_DVD-RAM_UJ-850S________________1.40____\5&243ced04&0&0.0.0"
)导致了该问题:
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
DRIVER_POWER_STATE_FAILURE (9f)
A driver has failed to complete a power IRP within a specific time.
Arguments:
Arg1: 0000000000000003, A device object has been blocking an Irp for too long a time
Arg2: ffffe001d54a81f0, Physical Device Object of the stack
Arg3: fffff801ec447ad0, nt!TRIAGE_9F_POWER on Win7 and higher, otherwise the Functional Device Object of the stack
Arg4: ffffe001d76aac10, The blocked IRP
Debugging Details:
------------------
DUMP_CLASS: 1
DUMP_QUALIFIER: 400
BUILD_VERSION_STRING: 10586.103.amd64fre.th2_release.160126-1819
SYSTEM_MANUFACTURER: FUJITSU SIEMENS
SYSTEM_PRODUCT_NAME: LIFEBOOK E8310
BIOS_VENDOR: FUJITSU // Phoenix Technologies Ltd.
BIOS_VERSION: Version 1.16
BIOS_DATE: 05/31/2010
BASEBOARD_MANUFACTURER: FUJITSU
BASEBOARD_PRODUCT: FJNB1CE
IMAGE_NAME: atapi.sys
DEFAULT_BUCKET_ID: WIN8_DRIVER_FAULT
BUGCHECK_STR: 0x9F
PROCESS_NAME: System
CURRENT_IRQL: 2
ANALYSIS_VERSION: 10.0.10586.567 amd64fre
STACK_TEXT:
00 nt!KeBugCheckEx
01 nt!PopIrpWatchdogBugcheck
02 nt!PopIrpWatchdog
03 nt!KiRetireDpcList
04 nt!KiIdleLoop
BUILDLAB_STR: th2_release
BUILDOSVER_STR: 10.0.10586.103.amd64fre.th2_release.160126-1819
FAILURE_ID_HASH_STRING: km:0x9f_3_image_atapi.sys
0: kd> !irp ffffe001d76aac10
Irp is active with 6 stacks 4 is current (= 0xffffe001d76aadb8)
No Mdl: No System Buffer: Thread 00000000: Irp stack trace.
cmd flg cl Device File Completion-Context
Args: 00000000 00000000 00000000 00000000
>[IRP_MJ_POWER(16), IRP_MN_SET_POWER(2)]
0 e1 ffffe001d54a81f0 00000000 00000000-00000000 pending
\Driver\atapi
Args: 00000000 00000001 00000001 00000000
[IRP_MJ_POWER(16), IRP_MN_SET_POWER(2)]
0 e1 ffffe001d55cfba0 00000000 fffff801ea590dc8-ffffe001d53e7400 Success Error Cancel pending
\Driver\cdrom nt!PopRequestCompletion
Args: 00000000 00000001 00000001 00000000
0: kd> !podev ffffe001d54a81f0
Device object is for:
DriverObject d5c3cc30
Current Irp 00000000 RefCount 0 Type 00000002 AttachedDev ffffe001d5479830 DevFlags 00005050 DO_POWER_INRUSH
Device queue is not busy.
Device Object Extension: ffffe001d54a8b80:
PowerFlags: 00000041 =>SystemState=1 DeviceState=4
Dope: d5f03780:
0: kd> !devstack ffffe001d5479830
!DevObj !DrvObj !DevExt ObjectName
ffffe001d55cfba0 \Driver\cdrom ffffe001d55d4b60 InfoMask field not found for _OBJECT_HEADER at ffffe001d55cfb70
!DevNode ffffe001d5c59d30 :
DeviceInst is "IDE\CdRomMATSHITA_DVD-RAM_UJ-850S________________1.40____\5&243ced04&0&0.0.0"
ServiceName is "cdrom"
因此,请查看 DVD 驱动器是否在 IDE 模式下运行(如果驱动器是 SATA),并将其配置为 SATA 模式(在 BIOS 中)。