Windows 10 不会进入睡眠状态

Windows 10 不会进入睡眠状态

最近,Windows 在进入睡眠状态时开始挂起,然后自动关闭。奇怪的是,这种情况并不总是发生。我刚启动时它可以正常睡眠,没有问题,但过了一段时间它就无法睡眠了。

显示器关闭,这似乎表明它通过了图形驱动程序,但随后有某种东西阻止它关闭。我连接的唯一外部连接设备是 USB、鼠标、耳机和 Logitech 游戏手柄。

这个问题似乎是在我对组件进行轻微返工(移动电源、更改风扇配置)后开始的,但如果是硬件问题(例如电缆松动或连接不良),它应该始终存在,所以即使我刚开机也无法入睡。

有没有什么方法可以记录 Windows 在睡眠时所做的事情?

编辑:

我对事件查看器进行了一些调查。当我让电脑进入睡眠状态时,Windows 开始干扰系统时间大约 3 次,然后似乎崩溃了。

第一个事件是这样的:

The system time has changed to ‎2023‎-‎05‎-‎11T16:11:27.500000000Z from ‎2023‎-‎05‎-‎11T16:11:25.934263600Z.

Change Reason: System time synchronized with the hardware clock.
Process: '' (PID 4).

下一个事件是这样的:

The time provider NtpClient is currently receiving valid time data from time.windows.com,0x9 (ntp.m|0x9|0.0.0.0:123->168.61.215.74:123).

下一个活动是:

The time zone information was refreshed with exit reason 0. Current time zone bias is 240.

时间再次改变,但只是这一次,有一个过程:

The system time has changed to ‎2023‎-‎05‎-‎11T16:11:39.467687100Z from ‎2023‎-‎05‎-‎11T16:11:41.258892800Z.

Change Reason: An application or system component changed the time.
Process: '\Device\HarddiskVolume4\Windows\System32\svchost.exe' (PID 20712).

时间已更改,与 Windows 服务器同步,崩溃前时区又刷新了 2 次。

跑步磁盘分区其次是列表卷生成以下卷列表:

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 0     D   Nexus        NTFS   Partition   1863 GB  Healthy    Pagefile
  Volume 1     C                NTFS   Partition    464 GB  Healthy    Boot
  Volume 2         Recovery     NTFS   Partition    529 MB  Healthy    Hidden
  Volume 3                      FAT32  Partition     99 MB  Healthy    System
  Volume 4                      NTFS   Partition    584 MB  Healthy    Hidden

D:/ 是通过 SATA 端口连接的 HDD,而 C:/ 是我的主启动驱动器。因此,根据事件查看器,一些隐藏的“卷 4”(从磁盘管理程序的角度来看,它是另一个恢复分区):

在此处输入图片描述

此次崩溃后,打开 PC 后会生成一个转储文件。WhoCrashed 给出了以下分析:

在此处输入图片描述

我不确定时间变化是否与我的问题有关,但我尝试在 PC 启动后再次将其置于睡眠状态,它不仅正常睡眠,而且唯一发生的时间变化是在我打开它之后(这是有道理的)。

编辑2:

幸运的是,在我让 Windows 进入睡眠状态后,它出现了蓝屏。这意味着我有一个可以分析的转储文件。

使用 WinDBG 分析转储文件后,我得到了以下信息(运行 !analyze -v 后):

0: kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        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: ffffd50f008a22f0, Physical Device Object of the stack
Arg3: fffff8076c6f4850, nt!TRIAGE_9F_POWER on Win7 and higher, otherwise the Functional Device Object of the stack
Arg4: ffffd50f076f7de0, The blocked IRP

Debugging Details:
------------------


KEY_VALUES_STRING: 1

    Key  : Analysis.CPU.Sec
    Value: 2

    Key  : Analysis.DebugAnalysisProvider.CPP
    Value: Create: 8007007e on Desktop

    Key  : Analysis.DebugData
    Value: CreateObject

    Key  : Analysis.DebugModel
    Value: CreateObject

    Key  : Analysis.Elapsed.Sec
    Value: 23

    Key  : Analysis.Memory.CommitPeak.Mb
    Value: 82

    Key  : Analysis.System
    Value: CreateObject

    Key  : Dump.Attributes.InsufficientDumpfileSize
    Value: 1


DUMP_FILE_ATTRIBUTES: 0xc
  Insufficient Dumpfile Size
  Kernel Generated Triage Dump

BUGCHECK_CODE:  9f

BUGCHECK_P1: 3

BUGCHECK_P2: ffffd50f008a22f0

BUGCHECK_P3: fffff8076c6f4850

BUGCHECK_P4: ffffd50f076f7de0

DRVPOWERSTATE_SUBCODE:  3

IMAGE_NAME:  pci.sys

MODULE_NAME: pci

FAULTING_MODULE: fffff8076b260000 pci

BLACKBOXBSD: 1 (!blackboxbsd)


BLACKBOXNTFS: 1 (!blackboxntfs)


BLACKBOXPNP: 1 (!blackboxpnp)


BLACKBOXWINLOGON: 1

CUSTOMER_CRASH_COUNT:  1

PROCESS_NAME:  System

STACK_TEXT:  
fffff807`6c6f4818 fffff807`665637a7 : 00000000`0000009f 00000000`00000003 ffffd50f`008a22f0 fffff807`6c6f4850 : nt!KeBugCheckEx
fffff807`6c6f4820 fffff807`665636c1 : ffffd50f`246a6d70 00000000`00000000 ffffd50f`1b4a41f0 00000000`00000000 : nt!PopIrpWatchdogBugcheck+0xdf
fffff807`6c6f4890 fffff807`6628bbd2 : ffffd50f`246a6da8 fffff807`641c9180 fffff807`641c9180 00000000`00000002 : nt!PopIrpWatchdog+0x31
fffff807`6c6f48e0 fffff807`6628ac4d : 00000000`00000000 fffff807`662d9485 00000000`00140001 00000000`000a5e26 : nt!KiProcessExpiredTimerList+0x172
fffff807`6c6f49d0 fffff807`6640059e : 00000000`00000000 fffff807`641c9180 fffff807`66d27a00 ffffd50f`2112e440 : nt!KiRetireDpcList+0x5dd
fffff807`6c6f4c60 00000000`00000000 : fffff807`6c6f5000 fffff807`6c6ef000 00000000`00000000 00000000`00000000 : nt!KiIdleLoop+0x9e


IMAGE_VERSION:  10.0.19041.2728

STACK_COMMAND:  .thread ; .cxr ; kb

FAILURE_BUCKET_ID:  0x9F_3_POWER_DOWN_rt640x64_IMAGE_pci.sys

OSPLATFORM_TYPE:  x64

OSNAME:  Windows 10

FAILURE_ID_HASH:  {2ce71122-4407-ac30-726e-512dc09f0103}

Followup:     MachineOwner

根据转储输出,错误代码为 9F。我在Microsoft 的错误代码列表按照那里写的说明,我可以使用命令找到有问题的驱动程序!devstack ffffd50f008a22f0,该命令给出以下输出:

0: kd> !devstack ffffd50f008a22f0
  !DevObj           !DrvObj            !DevExt           ObjectName
  ffffd50f050c8050  \Driver\rt640x64   ffffd50f050c81a0  InfoMask field not found for _OBJECT_HEADER at ffffd50f050c8020

> ffffd50f008a22f0  \Driver\pci        ffffd50f008a2440  Cannot read info offset from nt!ObpInfoMaskToOffset

!DevNode ffffd50f008a2c30 :
  DeviceInst is "PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_0C\01000000684CE00000"
  ServiceName is "rt640x64"

解码该DeviceInst值可得出供应商 ID 为 10EC 和设备 ID 为 8168。PCI查找告诉我有问题的设备是 Realtek PCIe 千兆以太网控制器。

所以现在的问题是为什么它阻止我的电脑进入睡眠状态。我目前将尝试以下操作:

  1. 禁用它。反正我也不使用该以太网端口,但我宁愿修复它,因为我确实打算在将来使用它。
  2. 更新 PCIe 驱动程序(也许已损坏?)

我将从控制面板中禁用它的简单选项开始,以查看它是否实际上是问题的原因,而不是症状。

编辑3:

似乎这是一种症状。我在控制面板中禁用了 Realtek PCIe 以太网适配器,但发生了同样的事情。唯一的区别是它完全拒绝崩溃。因此显示器关闭了,但所有风扇都在旋转。直到我将鼠标和键盘从后主板 IO 面板中拔出后,它才突然关闭。

WinDBG 仍然显示这是相同的错误(0x9F)和 0x3 参数,但现在问题出在我的 Nvidia GPU 上。

在我看来,这总体上是一个 PCIe 问题。PCIe以太网、后面板 USB 和 GPU 都通过 PCIe 以某种方式连接。我已将电源选项中的“PCIe 链路状态电源管理”设置设为关闭,但我将尝试将其设为“中等省电”,看看是否有效果。

如果您需要更多信息,请告诉我。

相关内容