IT한 것/WINDOWS

블루스크린(BSOD) DRIVER_POWER_STATE_FAILURE 오류 해결 절차

lovian 2021. 3. 17. 09:49

Windows 의 대명사 중에 하나인 블루 스크린.
Windows 7 이후로 잘 못 보던 것인데 다시 나에게 돌아왔다.

보통 블루 스크린은 따로 해결한 적이 없어서 새로 설치하는 방법으로 잘 살아왔는데, 새로 설치해도 같은 상황이 발생하는 터라 직접 해결하게되어 그 절차를 기록해본다.

※ 원래는 진짜 (light) blue screen인데 Windows 10 Insider Preview 버전을 사용해서 색상이 조금 다르다.

나의 증상은 컴퓨터를 사용하다가 간헐적으로 이렇게 시스템이 중단되는 상황이므로 부팅해서 일부 시간동안에는 내부 정보를 확인 할 수 있다.

내가 확인 한 절차는 아래와 같다.

  1. 이벤트 뷰어를 확인 (Windows Log -> system)
  2. DRIVER_POWER_STATE_FAILURE와 bug check 9f 로 검색
    1. https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check-0x9f--driver-power-state-failure 가 검색됨.
    2. 이 페이지 아래의 내용을 그대로 따라하면 됨.

 

아쉽게도 ms 사이트의 가이드? 그대로 진행하는것은 불가능 했다. 그래서 또 나만의 절차..

symbol search path를 설정
CTRL+s 를 눌러
SRV*c:\symbols*http://msdl.microsoft.com/download/symbols
를 입력 후  reload

 

이벤트 뷰어에서 확인한 memory.dmp를  Open Crash dump 메뉴를 통해 열기

!analyze -v

6: 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: ffffb7013d878060, Physical Device Object of the stack
Arg3: ffffec860287f7d0, nt!TRIAGE_9F_POWER on Win7 and higher, otherwise the Functional Device Object of the stack
Arg4: ffffb70141561aa0, The blocked IRP

dt nt!TRIAGE_9F_POWER <---- 이게 동작 안함 symbol not found

!irp ffffb70141561aa0 <---- 도움되는 정보가 별로 없음

!devstack ffffb7013d878060 <---- 이거닷!

6: kd> !devstack ffffb7013d878060
!DevObj !DrvObj !DevExt ObjectName
ffffb70141617030 \Driver\igfx ffffb70141617180
ffffb7013c9636d0 \Driver\ACPI ffffb7013c9b08b0
> ffffb7013d878060 \Driver\pci ffffb7013d8781b0 NTPNP_PCI0002
!DevNode ffffb7013d8789a0 :
DeviceInst is "PCI\VEN_8086&DEV_3E92&SUBSYS_3E921849&REV_00\3&11583659&0&10"
ServiceName is "igfx"

이제 PCI 장치 정보를 바탕으로 실제 어떤 장치 인지를 탐색

레지스트리에서 3E921849를 검색
결과가 몇개 나오는데 그 중에 상위 요소로 properties 키가 있는 값이 있는데, 그 값을 열어보면
해당 장치의 이름이 써 있다. 내 경우 intel UHD 630..  내장 그래픽 카드.

어차피 외장 그래픽 카드를 사용하고 있어 해당 장치를 BIOS에서 사용 안함으로 변경

그래도 장치는 인식되는 것 으로 보여서 윈도우즈의 장치관리자 메뉴에 들어가 해당 장치를 사용 안함으로 변경

매일 5번 이상 발생하던 BSOD는 일주일 째 더이상 나타나지 않고 있다.

 

※ 윈도우즈 드라이버 호환 모드 같은게 있어서 Window 7, 8 로 개발된 드라이버를 잘 돌아가도록 만들어주는 녀석이 있다고 한다 그게 igfx 라서 레지스트리에서 직접 탐색해야 하는 삽집이 있었다.