다음을 통해 공유


Windows VM의 최대 절전 모드 문제 해결

가상 머신을 최대 절전 모드로 전환하면 VM 상태를 OS 디스크에 유지할 수 있습니다. 이 문서에서는 Windows의 최대 절전 모드 기능 관련 문제, 최대 절전 모드 지원 Windows VM 만들기 문제, Windows VM 최대 절전 모드 관련 문제를 해결하는 방법을 설명합니다.

최대 절전 모드에 대한 일반적인 문제 해결 가이드를 보려면 Azure에서 최대 절전 모드 문제 해결을 확인합니다.

Windows VM을 최대 절전 모드로 전환할 수 없음

VM을 최대 절전 모드로 전환할 수 없는 경우 먼저 VM에서 최대 절전 모드를 사용할 수 있는지 확인합니다.

VM에서 최대 절전 모드를 사용하도록 설정한 경우 게스트 OS에서 최대 절전 모드가 사용하도록 설정되었는지 확인합니다. 최대 절전 모드 확장의 상태를 확인하여 확장이 게스트 OS를 최대 절전 모드로 성공적으로 구성할 수 있는지 확인할 수 있습니다.

Windows VM에 대한 프로비전이 성공했음을 보고하는 상태 및 상태 메시지의 스크린샷.

VM 인스턴스 뷰에는 확장의 최종 출력이 있습니다.

"extensions": [
    {
      "name": "AzureHibernateExtension",
      "type": "Microsoft.CPlat.Core.WindowsHibernateExtension",
      "typeHandlerVersion": "1.0.2",
      "statuses": [
        {
          "code": "ProvisioningState/succeeded",
          "level": "Info",
          "displayStatus": "Provisioning succeeded",
          "message": "Enabling hibernate succeeded. Response from the powercfg command: \tThe hiberfile size has been set to: 17178693632 bytes.\r\n"
        }
      ]
    },

또한 최대 절전 모드가 게스트 내에서 절전 모드 상태로 설정되어 있는지 확인합니다. 게스트에 대한 예상 출력은 다음과 같습니다.

C:\Users\vmadmin>powercfg /a
    The following sleep states are available on this system:
        Hibernate
        Fast Startup

    The following sleep states are not available on this system:
        Standby (S1)
            The system firmware does not support this standby state.

        Standby (S2)
            The system firmware does not support this standby state.

        Standby (S3)
            The system firmware does not support this standby state.

        Standby (S0 Low Power Idle)
            The system firmware does not support this standby state.

        Hybrid Sleep
            Standby (S3) isn't available.


최대 절전 모드가 지원되는 절전 모드 상태로 나열되지 않으면 연결된 이유가 있어야 합니다. 이는 최대 절전 모드가 지원되지 않는 이유를 결정하는 데 도움이 됩니다. 이는 VM에 대해 게스트 최대 절전 모드가 구성되지 않은 경우 발생합니다.

C:\Users\vmadmin>powercfg /a
    The following sleep states are not available on this system:
        Standby (S1)
            The system firmware does not support this standby state.

        Standby (S2)
            The system firmware does not support this standby state.

        Standby (S3)
            The system firmware does not support this standby state.

        Hibernate
            Hibernation hasn't been enabled.

        Standby (S0 Low Power Idle)
            The system firmware does not support this standby state.

        Hybrid Sleep
        Standby (S3) is not available.
            Hibernation is not available.

        Fast Startup
            Hibernation is not available.

확장 또는 게스트 절전 상태가 오류를 보고하는 경우 문제를 해결하려면 오류 설명에 따라 게스트 구성을 업데이트해야 합니다. 모든 문제를 해결한 후 절전 상태 중 하나로 최대 절전 모드를 반환해야 하는 'powercfg /a' 명령을 실행하여 게스트 내에서 최대 절전 모드가 성공적으로 활성화되었는지 확인할 수 있습니다. 또한 AzureHibernateExtension이 성공 상태로 반환되는지 확인합니다. 확장이 여전히 실패 상태인 경우 VM API 다시 적용을 트리거하여 확장 상태를 업데이트합니다.

참고 항목

확장이 실패한 상태로 유지되면 VM을 최대 절전 모드로 전환할 수 없습니다.

일반적으로 표시되는 확장 실패 문제.

문제 작업
페이지 파일이 임시 디스크에 있습니다. 최대 절전 모드를 사용하도록 설정하려면 OS 디스크로 이동합니다. 페이지 파일을 C: 드라이브로 이동하고 VM에서 다시 적용을 트리거하여 확장을 다시 실행합니다.
최대 절전 모드에 대한 공간이 부족하여 Windows에서 최대 절전 모드를 구성하지 못함 C: 드라이브에 충분한 공간이 있는지 확인합니다. 이 문제를 해결하기 위해 OS 디스크, C: 파티션 크기를 확장해 볼 수 있습니다. 충분한 공간이 있으면 확장이 게스트에서 최대 절전 모드를 사용하도록 다시 시도하고 성공할 수 있도록 다시 적용 작업을 트리거합니다.
확장 오류 메시지: "시스템에 연결된 디바이스가 작동하지 않습니다." C: 드라이브에 충분한 공간이 있는지 확인합니다. 이 문제를 해결하기 위해 OS 디스크, C: 파티션 크기를 확장해 볼 수 있습니다. 충분한 공간이 있으면 확장이 게스트에서 최대 절전 모드를 사용하도록 다시 시도하고 성공할 수 있도록 다시 적용 작업을 트리거합니다.
게스트 내에서 VBS(가상화 기반 보안)를 사용하도록 설정한 후에는 최대 절전 모드가 더 이상 지원되지 않습니다. 게스트에서 가상화를 사용하도록 설정하여 게스트를 최대 절전 모드로 전환할 수 있는 기능과 함께 VBS 기능을 가져옵니다. 게스트 OS에서 가상화를 사용하도록 설정합니다.
최대 절전 모드를 사용하도록 설정하지 못했습니다. powercfg 명령의 응답입니다. 종료 코드: 1. 오류 메시지: 다음 오류로 최대 절전 모드가 실패했습니다. 요청이 지원되지 않습니다. 다음 항목은 이 시스템의 최대 절전 모드를 방지합니다. 현재 Device Guard 구성은 최대 절전 모드를 사용하지 않도록 설정합니다. 내부 시스템 구성 요소가 최대 절전 모드를 사용하지 않도록 설정했습니다. 하이퍼바이저 게스트에서 가상화를 사용하도록 설정하여 게스트를 최대 절전 모드로 전환할 수 있는 기능과 함께 VBS 기능을 가져옵니다. 게스트에서 가상화를 사용하도록 설정하려면 이 문서를 참조하세요.

게스트 Windows VM을 최대 절전 모드로 전환할 수 없음

최대 절전 모드 작업이 성공하면 게스트에서 다음 이벤트가 표시됩니다.

Guest responds to the hibernate operation (note that the following event is logged on the guest on resume)

    Log Name:      System
    Source:        Kernel-Power
    Event ID:      42
    Level:         Information
    Description:
    The system is entering sleep

게스트가 최대 절전 모드로 전환하지 못하면 이러한 이벤트의 전부 또는 일부가 누락됩니다. 일반적으로 표시되는 문제:

문제 작업
Hyper-V 게스트 종료 서비스를 사용할 수 없으므로 게스트가 최대 절전 모드로 전환되지 않습니다. sc query vmicshutdown을 실행하여 이를 확인할 수 있습니다. Hyper-V 게스트 종료 서비스를 사용하지 않도록 설정하지 않았는지 확인합니다. 이 서비스를 사용하도록 설정하면 문제가 해결됩니다.
전원 서비스가 사용하지 않도록 설정되어 게스트가 최대 절전 모드에 실패합니다. sc query power를 실행하여 이를 확인할 수 있습니다. 전원 서비스가 사용하지 않도록 설정되지 않았는지 확인합니다. 이 서비스를 사용하도록 설정하면 문제가 해결됩니다.
HVCI(메모리 무결성)가 사용하도록 설정되어 있으므로 게스트가 최대 절전 모드에 실패합니다. 게스트에서 메모리 무결성을 사용하도록 설정하고 VM을 최대 절전 모드로 전환하려는 경우 게스트가 메모리 무결성을 사용하여 최대 절전 모드를 지원하는 데 필요한 최소 OS 빌드를 실행하고 있는지 확인합니다.

Win 11 22H2 – 최소 OS 빌드 - 22621.2134
Win 11 21H1 - 최소 OS 빌드 - 22000.2295
Win 10 22H2 - 최소 OS 빌드 - 19045.3324

문제 해결에 필요한 로그:

이러한 알려진 시나리오 외부에서 문제가 발생하는 경우 다음 로그를 통해 Azure에서 문제를 해결할 수 있습니다.

  • 게스트 관련 이벤트 로그: Microsoft-Windows-Kernel-Power, Microsoft-Windows-Kernel-General, Microsoft-Windows-Kernel-Boot.
  • 버그 검사 중에는 게스트 크래시 덤프가 도움이 됩니다.

Windows VM을 다시 시작할 수 없음

최대 절전 모드 상태에서 VM을 시작할 때 VM 인스턴스 뷰를 사용하여 게스트가 이전 최대 절전 모드에서 성공적으로 다시 시작했는지 또는 재개하지 못하고 콜드 부팅을 수행했는지에 대한 자세한 정보를 얻을 수 있습니다.

게스트가 성공적으로 재개될 때 VM 인스턴스 출력:

{
  "computerName": "myVM",
  "osName": "Windows 11 Enterprise",
  "osVersion": "10.0.22000.1817",
  "vmAgent": {
    "vmAgentVersion": "2.7.41491.1083",
    "statuses": [
      {
        "code": "ProvisioningState/succeeded",
        "level": "Info",
        "displayStatus": "Ready",
        "message": "GuestAgent is running and processing the extensions.",
        "time": "2023-04-25T04:41:17.296+00:00"
      }
    ],
    "extensionHandlers": [
      {
        "type": "Microsoft.CPlat.Core.RunCommandWindows",
        "typeHandlerVersion": "1.1.15",
        "status": {
          "code": "ProvisioningState/succeeded",
          "level": "Info",
          "displayStatus": "Ready"
        }
      },
      {
        "type": "Microsoft.CPlat.Core.WindowsHibernateExtension",
        "typeHandlerVersion": "1.0.3",
        "status": {
          "code": "ProvisioningState/succeeded",
          "level": "Info",
          "displayStatus": "Ready"
        }
      }
    ]
  },  
  "extensions": [
    {
      "name": "AzureHibernateExtension",
      "type": "Microsoft.CPlat.Core.WindowsHibernateExtension",
      "typeHandlerVersion": "1.0.3",
      "substatuses": [
        {
          "code": "ComponentStatus/VMBootState/Resume/succeeded",
          "level": "Info",
          "displayStatus": "Provisioning succeeded",
          "message": "Last guest resume was successful."
        }
      ],
      "statuses": [
        {
          "code": "ProvisioningState/succeeded",
          "level": "Info",
          "displayStatus": "Provisioning succeeded",
          "message": "Enabling hibernate succeeded. Response from the powercfg command: \tThe hiberfile size has been set to: XX bytes.\r\n"
        }
      ]
    }
  ],
  "statuses": [
    {
      "code": "ProvisioningState/succeeded",
      "level": "Info",
      "displayStatus": "Provisioning succeeded",
      "time": "2023-04-25T04:41:17.8996086+00:00"
    },
    {
      "code": "PowerState/running",
      "level": "Info",
      "displayStatus": "VM running"
    }
  ]
}


Windows 게스트가 이전 상태 및 콜드 부팅에서 재개하지 못한 경우 VM 인스턴스 뷰 응답은 다음과 같습니다.

  "extensions": [
    {
      "name": "AzureHibernateExtension",
      "type": "Microsoft.CPlat.Core.WindowsHibernateExtension",
      "typeHandlerVersion": "1.0.3",
      "substatuses": [
        {
          "code": "ComponentStatus/VMBootState/Start/succeeded",
          "level": "Info",
          "displayStatus": "Provisioning succeeded",
          "message": "VM booted."
        }
      ],
      "statuses": [
        {
          "code": "ProvisioningState/succeeded",
          "level": "Info",
          "displayStatus": "Provisioning succeeded",
          "message": "Enabling hibernate succeeded. Response from the powercfg command: \tThe hiberfile size has been set to: XX bytes.\r\n"
        }
      ]
    }
  ],
  "statuses": [
    {
      "code": "ProvisioningState/succeeded",
      "level": "Info",
      "displayStatus": "Provisioning succeeded",
      "time": "2023-04-19T17:18:18.7774088+00:00"
    },
    {
      "code": "PowerState/running",
      "level": "Info",
      "displayStatus": "VM running"
    }
  ]
}

재개하는 동안 Windows 게스트 이벤트

게스트가 성공적으로 재개되면 다음 게스트 이벤트를 사용할 수 있습니다.

Log Name:      System
    Source:        Kernel-Power
    Event ID:      107
    Level:         Information
    Description:
    The system has resumed from sleep. 

게스트가 재개되지 못하면 이러한 이벤트의 전부 또는 일부가 누락됩니다. 게스트를 재개하지 못한 이유를 해결하려면 다음 로그가 필요합니다.

  • 게스트에 대한 이벤트 로그: Microsoft-Windows-Kernel-Power, Microsoft-Windows-Kernel-General, Microsoft-Windows-Kernel-Boot.
  • 버그 확인 시 게스트 크래시 덤프가 필요합니다.