이벤트 ID 41에 대한 고급 문제 해결: "시스템을 먼저 완전히 종료하지 않고 다시 부팅했습니다."

참고

개인 사용자: 이 문서는 지원 상담원과 IT 전문가를 위한 것입니다. 파란색 화면 오류 메시지에 대한 자세한 내용은 블루 스크린 오류 문제 해결을 참조하세요.

Windows를 종료하는 기본 방법은 시작을 선택한 다음 컴퓨터를 끄거나 종료하는 옵션을 선택하는 것입니다. 이 표준 메서드를 사용하는 경우 운영 체제는 모든 파일을 닫고 디스크에 저장되지 않은 데이터를 작성하고 활성 캐시를 플러시할 수 있도록 실행 중인 서비스 및 애플리케이션에 알 줍니다.

컴퓨터가 예기치 않게 종료되면 Windows는 다음에 컴퓨터를 시작할 때 이벤트 ID 41을 기록합니다. 이벤트 텍스트는 다음 정보와 유사합니다.

Event ID: 41  
Description: The system has rebooted without cleanly shutting down first.

이 이벤트는 일부 예기치 않은 작업으로 인해 Windows가 올바르게 종료되지 못했음을 나타냅니다. 이러한 종료는 전원 공급 장치 중단 또는 중지 오류로 인해 발생할 수 있습니다. 가능한 경우 Windows는 종료할 때 오류 코드를 기록합니다. 다음 Windows 시작의 커널 단계에서 Windows는 이러한 코드를 확인하고 이벤트 ID 41의 이벤트 데이터에 기존 코드를 포함합니다.

EventData  
BugcheckCode 159  
BugcheckParameter1 0x3  
BugcheckParameter2 0xfffffa80029c5060  
BugcheckParameter3 0xfffff8000403d518  
BugcheckParameter4 0xfffffa800208c010  
SleepInProgress false  
PowerButtonTimestamp 0Converts to 0x9f (0x3, 0xfffffa80029c5060, 0xfffff8000403d518, 0xfffffa800208c010)  

예기치 않은 종료 또는 다시 시작 문제를 해결할 때 이벤트 ID 41을 사용하는 방법

이벤트 ID 41 자체에는 발생한 작업을 명시적으로 정의하기에 충분한 정보가 포함되지 않을 수 있습니다. 일반적으로 예기치 않은 종료 시 발생한 작업(예: 전원 공급 장치 실패)도 고려해야 합니다. 이 문서의 정보를 사용하여 상황에 적합한 문제 해결 방법을 식별합니다.

  • 시나리오 1: 중지 오류로 인해 컴퓨터가 다시 시작되고 이벤트 ID 41에 중지 오류(버그 검사) 코드가 포함되어 있습니다.
  • 시나리오 2: 전원 단추를 누르고 있기 때문에 컴퓨터가 다시 시작됩니다.
  • 시나리오 3: 컴퓨터가 응답하지 않거나 임의로 다시 시작되고 이벤트 ID 41이 기록되지 않거나 이벤트 ID 41 항목에 오류 코드 값이 0으로 나열됩니다.

시나리오 1: 중지 오류로 인해 컴퓨터가 다시 시작되고 이벤트 ID 41에 중지 오류(버그 검사) 코드가 포함되어 있습니다.

중지 오류로 인해 컴퓨터가 종료되거나 다시 시작되면 Windows에는 이벤트 ID 41의 중지 오류 데이터가 더 많은 이벤트 데이터의 일부로 포함됩니다. 이 정보에는 다음 예제와 같이 오류 중지 코드(버그 검사 코드라고도 함)가 포함됩니다.

EventData  
BugcheckCode 159  
BugcheckParameter1 0x3  
BugcheckParameter2 0xfffffa80029c5060  
BugcheckParameter3 0xfffff8000403d518  
BugcheckParameter4 0xfffffa800208c010  

참고

이벤트 ID 41에는 버그 검사 코드가 10진수 형식으로 포함되어 있습니다. 버그 검사 코드를 설명하는 대부분의 설명서는 10진수 값 대신 16진수 값으로 코드를 참조합니다. 10진수를 16진수로 변환하려면 다음 단계를 수행합니다.

  1. 시작을 선택하고 Search 상자에 계산기를 입력한 다음 계산기를 선택합니다.
  2. 계산기 창에서프로그래머 보기를> 선택합니다.
  3. 계산기의 왼쪽에서 12월 이 강조 표시되어 있는지 확인합니다.
  4. 키보드를 사용하여 버그 검사 코드의 10진수 값을 입력합니다.
  5. 계산기의 왼쪽에서 Hex를 선택합니다.
    계산기가 표시하는 값은 이제 16진수 코드입니다.

버그 검사 코드를 16진수 형식으로 변환하는 경우 "0x" 지정 뒤에 8자리 숫자가 표시되는지 확인합니다(즉, "x" 뒤에 있는 코드 부분에는 8자리를 채우기에 충분한 0이 포함됨). 예를 들어 0x9F 일반적으로 0x0000009f 문서화되고 0xA 0x0000000A 문서화됩니다. 이 문서의 예제 이벤트 데이터의 경우 "159"는 0x0000009f 변환됩니다.

16진수 값을 식별한 후 다음 참조를 사용하여 문제 해결을 계속합니다.

시나리오 2: 전원 단추를 누르고 있기 때문에 컴퓨터가 다시 시작됩니다.

컴퓨터를 다시 시작하는 이 방법은 Windows 종료 작업을 방해하므로 대안이 없는 경우에만 이 메서드를 사용하는 것이 좋습니다. 예를 들어 컴퓨터가 응답하지 않는 경우 이 방법을 사용해야 할 수 있습니다. 전원 단추를 길게 눌러 컴퓨터를 다시 시작하면 컴퓨터는 PowerButtonTimestamp 항목에 대해 0이 아닌 값이 포함된 이벤트 ID 41을 기록합니다.

<EventData>
<Data Name="BugcheckCode">0</Data>
<Data Name="BugcheckParameter1">0x0</Data>
<Data Name="BugcheckParameter2">0x0</Data>
<Data Name="BugcheckParameter3">0x0</Data>
<Data Name="BugcheckParameter4">0x0</Data>
<Data Name="SleepInProgress">0</Data>
<Data Name="PowerButtonTimestamp">131728546170882432</Data>
<Data Name="BootAppStatus">0</Data>
</EventData>

응답하지 않는 컴퓨터의 문제 해결에 대한 도움말은 Windows 도움말을 참조하세요. "중단", "응답" 또는 "빈 화면"과 같은 키워드를 사용하여 지원을 검색하는 것이 좋습니다.

시나리오 3: 컴퓨터가 응답하지 않거나 임의로 다시 시작되고 이벤트 ID 41이 기록되지 않거나 이벤트 ID 41 항목 또는 오류 코드 값이 0으로 나열됩니다.

이 시나리오에는 다음과 같은 상황이 포함됩니다.

  • 응답하지 않는 컴퓨터에 대한 전원을 차단한 다음 컴퓨터를 다시 시작합니다.
    컴퓨터가 응답하지 않는지 확인하려면 키보드에서 Caps 잠금 키를 누릅니다. Caps 잠금 키를 누를 때 키보드의 Caps 잠금 표시등이 변경되지 않으면 컴퓨터가 응답하지 않을 수 있습니다(하드 중단이라고도 함).
  • 컴퓨터가 다시 시작되지만 이벤트 ID 41은 생성되지 않습니다.
  • 컴퓨터가 다시 시작되고 이벤트 ID 41이 생성되지만 BugcheckCodePowerButtonTimestamp 값은 0입니다.

이러한 경우 Windows에서 오류 코드를 생성하거나 디스크에 오류 코드를 작성할 수 없습니다. 응답하지 않는 컴퓨터의 경우처럼 디스크에 대한 쓰기 액세스를 차단하거나 컴퓨터가 너무 빨리 종료되어 오류 코드를 작성하거나 오류를 감지할 수 있습니다.

이벤트 ID 41의 정보는 문제 확인을 시작할 위치를 나타냅니다.

  • 이벤트 ID 41이 기록되지 않았거나 버그 검사 코드가 0입니다. 이 동작은 전원 공급 장치 문제를 나타낼 수 있습니다. 컴퓨터 전원이 중단되면 중지 오류가 발생하지 않고 컴퓨터가 종료될 수 있습니다. 중지 오류가 발생하는 경우 디스크에 오류 코드 작성이 완료되지 않을 수 있습니다. 다음에 컴퓨터가 시작될 때 이벤트 ID 41을 기록하지 않을 수 있습니다. 또는 이 경우 버그 검사 코드는 0입니다. 원인은 다음과 같습니다.

    • 휴대용 컴퓨터의 경우 배터리가 제거되거나 드레이닝되었습니다.
    • 데스크톱 컴퓨터의 경우 컴퓨터가 분리되었거나 정전이 발생했습니다.
    • 전원 공급 장치가 부족하거나 결함이 있습니다.
  • PowerButtonTimestamp 값은 0입니다. 이 동작은 입력에 응답하지 않는 컴퓨터의 전원 연결을 끊은 경우에 발생할 수 있습니다. 원인은 다음과 같습니다.

    • Windows 프로세스에서 디스크에 대한 쓰기 액세스를 차단하고 전원 단추를 4초 이상 길게 눌러 컴퓨터를 종료합니다.
    • 응답하지 않는 컴퓨터의 전원 연결을 끊었습니다.
  • 덤프 파일을 작성하지 못하며 모든 값이 0입니다. 예를 들면

    <EventData>
    <Data Name="BugcheckCode">0</Data>
    <Data Name="BugcheckParameter1">0x0</Data>
    <Data Name="BugcheckParameter2">0x0</Data>
    <Data Name="BugcheckParameter3">0x0</Data>
    <Data Name="BugcheckParameter4">0x0</Data>
    <Data Name="SleepInProgress">0</Data>
    <Data Name="PowerButtonTimestamp">0</Data>
    <Data Name="BootAppStatus">0</Data>
    </EventData>
    

    그러나 volmgr: 크래시 덤프 초기화 실패!에 의해 기록된 이벤트 ID 46이 있습니다. 이 이벤트는 구성된 덤프 파일 없이 컴퓨터가 시작된 경우에 발생할 수 있습니다. 기본 덤프 파일은 페이지 파일입니다.

    이벤트 로그의 스크린샷

    따라서 예기치 않은 다시 시작이 있고 이벤트 ID가 41인 경우 모든 값이 0인 경우 검사 volmgr에 의한 이벤트 ID 46이 있는 경우 입니다. 그렇다면 페이지 파일 구성을 검사. 버그 검사로 인해 예기치 않은 재부팅이 계속 발생할 수 있지만 시스템은 이벤트 ID 41에서 버그 검사 유형을 작성할 수 없으며 메모리 덤프도 생성할 수 없습니다. 컴퓨터를 시작할 때 이벤트 ID 46을 참조하세요.

일반적으로 이 시나리오에 설명된 증상은 하드웨어 문제를 나타냅니다. 문제를 격리하려면 다음 단계를 수행합니다.

  • 오버클럭을 사용하지 않도록 설정합니다. 컴퓨터에서 오버클럭을 사용하도록 설정한 경우 사용하지 않도록 설정합니다. 시스템이 올바른 속도로 실행되면 문제가 발생하는지 확인합니다.
  • 메모리를 확인합니다. 메모리 검사기를 사용하여 메모리 상태 및 구성을 확인합니다. 모든 메모리 칩이 동일한 속도로 실행되고 모든 칩이 시스템에서 올바르게 구성되었는지 확인합니다.
  • 전원 공급 장치를 확인합니다. 전원 공급 장치에 설치된 디바이스를 적절하게 처리하기에 충분한 와트가 있는지 확인합니다. 메모리를 추가하거나, 최신 프로세서를 설치하거나, 더 많은 드라이브를 설치하거나, 외부 디바이스를 추가한 경우, 이러한 디바이스는 현재 전원 공급 장치가 일관되게 제공할 수 있는 것보다 더 많은 에너지가 필요할 수 있습니다. 컴퓨터의 전원이 중단되어 컴퓨터에서 이벤트 ID 41을 기록한 경우 배터리 백업 전원 공급 장치와 같은 UPS(무정전 전원 공급 장치)를 가져오는 것이 좋습니다.
  • 과열을 확인합니다. 하드웨어의 내부 온도를 검사하고 과열된 구성 요소에 대해 검사.
  • 컴퓨터가 물리적 컴퓨터인 경우 컴퓨터가 응답하지 않음을 감지한 ASR(자동 서버 복구) 소프트웨어에 의해 컴퓨터가 다시 시작되었을 수 있습니다.
  • 시스템이 Hyper-V VM(가상 머신)에서 실행 중이고 클러스터형 환경의 일부가 아닌 경우 Hyper-V 하트비트 기능으로 시스템을 다시 시작할 수 있습니다. 이 기능이 사용하도록 설정되어 있고 호스트가 VM에서 하트비트를 감지하지 못하는 경우(응답하지 않았기 때문일 수 있음) Hyper-V가 VM을 다시 시작합니다.
  • Hyper-V 클러스터형 환경에서 문제가 발생하는 경우 문제는 가상 머신에 하트비트 모니터링 사용 옵션과 관련이 있을 수 있습니다. 클러스터 환경에서 실행 중인 가상 머신에서 전체 메모리 덤프 파일을 가져오려고 할 때 손상된 메모리 덤프 파일을 참조하세요.
  • VMWare VM에서 문제가 발생하는 경우 VMWare의 하트비트 기능과 관련이 있거나 VM이 일부 타사 클러스터의 일부일 수 있습니다.
  • 애플리케이션 및 시스템 로그 모두에서 종료 시간(이벤트 ID 6008에서 가져온) 전에 의심스러운 이벤트를 확인합니다.

이러한 검사를 수행하고 여전히 문제를 격리할 수 없는 경우 시스템을 기본 구성으로 설정하고 문제가 여전히 발생하는지 확인합니다.

참고

버그 검사 코드가 포함되어 있지만 이벤트 ID 41에 해당 코드가 포함되지 않은 중지 오류 메시지가 표시되면 컴퓨터의 다시 시작 동작을 변경합니다. 이렇게 하려면 다음과 같이 하십시오.

  1. 내 컴퓨터를 마우스 오른쪽 단추로 클릭한 다음 속성>고급 시스템 설정>고급을 선택합니다.
  2. 시작 및 복구 섹션에서 설정을 선택합니다.
  3. 자동으로 다시 시작 검사 상자를 선택 취소합니다.

추가 정보

이벤트 ID 41에 대한 세부 정보

커널 전원 이벤트 ID 41 오류는 컴퓨터가 예기치 않게 종료되거나 다시 시작될 때 발생합니다. Windows 기반 컴퓨터가 시작되면 컴퓨터가 완전히 종료되었는지 여부를 확인하기 위해 검사 수행됩니다. 그렇지 않은 경우 커널 전원 이벤트 ID 41 메시지가 생성됩니다.

이벤트 ID 41은 Windows가 올바르게 종료되지 않도록 하는 예기치 않은 일이 발생했음을 보고하는 데 사용됩니다. 발생한 작업을 명시적으로 정의할 정보가 부족할 수 있습니다. 자세한 내용은 커널 전원 이벤트 ID 41 을 참조하세요.

  • 로그 이름: 시스템
  • 제품: Windows 운영 체제
  • ID: 41
  • 출처: Microsoft-Windows-Kernel-Power
  • 수준: 중요
  • 버전: 6.1
  • 메시지: 시스템이 먼저 완전히 종료하지 않고 다시 부팅되었습니다. 이 오류는 시스템이 예기치 않게 응답하지 않거나, 작동이 중단되거나, 전원이 손실될 경우 발생할 수 있습니다.

참고

.evtx 파일에 표시된 시간은 시스템 시간으로 조정됩니다. 서버의 표준 시간대를 확인합니다.

  • 이벤트 ID 41: 이 이벤트는 Windows가 완전히 종료되지 않고 다시 시작되었음을 나타냅니다.
  • 이벤트 ID 1074: 애플리케이션이 시스템 종료 또는 다시 시작을 담당할 때 이 이벤트가 기록됩니다. 또한 사용자가 시작 메뉴를 사용하거나 Ctrl+Alt+Del을 눌러 시스템을 다시 시작하거나 종료한 시점을 나타냅니다.
  • 이벤트 ID 6006: 이 이벤트는 Windows가 적절하게 꺼져 있음을 나타냅니다.
  • 이벤트 ID 6008: 이 이벤트는 부적절하거나 더티 종료를 나타냅니다. 가장 최근의 종료가 예기치 않은 경우 기록됩니다.

컴퓨터가 종료되기 직전에 는 shutdown.exe 사용자 지정 메시지 & 이유 코드와 함께 Source=User32 및 이벤트 ID 1074를 사용하여 Windows 시스템 로그에 종료 이벤트를 기록합니다.

에서 트리거된 shutdown.exe 다시 부팅이 보류 중임을 알리는 유일한 방법은 이벤트 로그입니다. 또한 이벤트는 사용자 이름과 명령이 실행된 날짜 및 시간을 shutdown 기록합니다.

를 사용하여 shutdown.exe 서버를 다시 시작할 때 종료 프로세스는 일반적으로 30초 동안 실행 중인 각 서비스를 중지할 시간이 있는지 확인합니다. 서비스는 사전순으로 종료됩니다. 또는 SC 를 사용하여 특정 순서 NET STOP 로 서비스를 수동으로 중지하는 것이 약간 더 빠를 수 있습니다.

부팅 상태 파일(windows 내부 6번째에서)

Windows는 부팅 상태 파일(%SystemRoot%\Bootstat.dat)을 사용하여 시작 및 종료를 포함하여 시스템 수명 주기의 다양한 단계를 진행했다는 사실을 기록합니다.

이를 통해 부팅 관리자, Windows 로더 및 시작 복구 도구는 사용자 복구 및 진단 부팅 옵션(예: 마지막으로 알려진 양선 및 안전 모드)을 제공하기 위해 비정상적인 종료 또는 종료 실패를 완전히 감지할 수 있습니다. 이 이진 파일에는 시스템이 시스템 수명 주기의 다음 단계의 성공을 보고하는 정보가 포함되어 있습니다.

  • 부팅(성공적인 부팅의 정의는 앞에서 설명한 마지막 알려진 상태 결정하는 데 사용된 것과 동일합니다.)
  • 종료
  • 최대 절전 모드 또는 일시 중단에서 다시 시작

또한 부팅 상태 파일은 사용자가 운영 체제를 마지막으로 부팅하려고 할 때 문제가 검색되었는지 여부와 표시된 복구 옵션을 나타내며, 이는 사용자가 문제를 인식하고 조치를 취했음을 나타냅니다. ntdll.dll Rtl(런타임 라이브러리 API)에는 Windows가 파일에서 읽고 쓰는 데 사용하는 프라이빗 인터페이스가 포함되어 있습니다. BCD와 마찬가지로 사용자가 편집할 수 없습니다.

종료 정보

종료가 시작되면 Windows는 UI(사용자 인터페이스) 스레드가 있는 실행 중인 모든 애플리케이션에 WM_QUERYENDSESSION 메시지를 보냅니다. 이 메시지는 저장되지 않은 데이터를 저장하고 정상적으로 종료하도록 애플리케이션에 요청합니다. 애플리케이션이 특정 시간 제한 내에서 메시지에 응답하지 않으면 Windows는 애플리케이션에 WM_ENDSESSION 메시지를 보내 애플리케이션을 즉시 종료합니다.

모든 애플리케이션이 WM_QUERYENDSESSION 메시지에 응답하고 정상적으로 종료되는 경우 Windows는 시스템 이벤트 로그에 클린 종료 이벤트를 기록합니다. 애플리케이션이 메시지에 응답하지 않거나 비정상적으로 종료되는 경우 Windows는 시스템 이벤트 로그에 더티 종료 이벤트를 기록합니다.

예기치 않은 종료는 대부분 운영 체제 외부의 구성 요소에 의해 발생합니다.

더티 종료는 컴퓨터 시스템이 적절한 종료 프로세스를 거치지 않고 종료되는 경우입니다. 이 문제는 전원이 갑자기 꺼지거나 전원 단추를 눌러 컴퓨터를 강제로 종료할 때 발생할 수 있습니다. 더티 종료하면 데이터 손실 또는 손상이 발생할 수 있으며 부팅 문제가 발생할 수도 있습니다.

더티 종료 수 레지스트리는 적절한 종료 프로세스를 거치지 않고 컴퓨터 시스템이 종료된 횟수를 추적하는 데 사용되는 Windows 레지스트리의 레지스트리 키입니다. 이 키는 부팅 문제를 해결하여 시스템이 잘못 꺼졌는지 여부를 식별하는 데 유용할 수 있습니다.

다음 레지스트리 키 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Reliability에서 모든 값(예: DirtyShutdown, LastAliveStamp, TimeStampInterval)을 지울 수도 있습니다. 이렇게 하면 예기치 않은 종료 후 종료 이벤트 추적기가 나타나지 않도록 방지할 수 있습니다.