Поделиться через


Устранение неполадок с гибернацией на виртуальных машинах Windows

Гибернация виртуальной машины позволяет сохранять состояние виртуальной машины на диске ОС. В этой статье описывается, как устранять проблемы с функцией гибернации в Windows, проблемами создания виртуальных машин Windows с поддержкой гибернации и проблемами с гибернацией виртуальной машины Windows.

Чтобы просмотреть общее руководство по устранению неполадок для гибернации, проверка устранить неполадки в режиме гибернации в Azure.

Не удается создать режим гибернации виртуальной машины Windows

Если не удается создать режим гибернации виртуальной машины, сначала проверка, включена ли гибернация на виртуальной машине.

Если на виртуальной машине включена гибернация, проверка, если гибернация успешно включена в гостевой ОС. Вы можете проверка состояние расширения Hibernation, чтобы узнать, удалось ли расширение успешно настроить гостевую ОС для гибернации.

Снимок экрана: отчеты о состоянии и состоянии о том, что подготовка выполнена успешно для виртуальной машины Windows.

Представление экземпляра виртуальной машины будет иметь окончательные выходные данные расширения:

"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.


Если Гибернат не указан в качестве поддерживаемого состояния сна, с ним должна быть причина, которая должна помочь определить, почему спящий режим не поддерживается. Это происходит, если гостевой гибернации не настроен для виртуальной машины.

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 возвращается в состояние "Успешно". Если расширение по-прежнему находится в состоянии сбоя, обновите состояние расширения путем активации API повторного приложения виртуальной машины

Примечание.

Если расширение остается в состоянии сбоя, вы не сможете переключить виртуальную машину.

Часто возникают проблемы, при которых расширение завершается сбоем.

Проблема Действие
Файл страницы находится на временном диске. Переместите его на диск ОС, чтобы включить гибернацию. Переместите файл страницы на диск C: и активируйте повторное применение на виртуальной машине для повторного запуска расширения.
Не удалось настроить гибернацию Windows из-за нехватки места для гиберфайла Убедитесь, что диск C: имеет достаточно места. Вы можете попробовать развернуть диск ОС, размер раздела C, чтобы устранить эту проблему. После того как у вас достаточно места, активируйте операцию повторного приложения, чтобы расширение могло повторить включение гибернации в гостевом приложении и успешно выполнено.
Сообщение об ошибке расширения: "Устройство, подключенное к системе, не работает" Убедитесь, что диск C: имеет достаточно места. Вы можете попробовать развернуть диск ОС, размер раздела C, чтобы устранить эту проблему. После того как у вас достаточно места, активируйте операцию повторного приложения, чтобы расширение могло повторить включение гибернации в гостевом приложении и успешно выполнено.
Гибернация больше не поддерживается после включения безопасности на основе виртуализации (VBS) внутри гостя Включите виртуализацию в гостевой среде, чтобы получить возможности VBS вместе с возможностью гибернации гостя. Включите виртуализацию в гостевой ОС.
Сбой включения гибернации. Ответ от команды Powercfg. Код выхода: 1. Сообщение об ошибке: сбой гибернации со следующей ошибкой: запрос не поддерживается. Следующие элементы препятствуют гибернации в этой системе. Текущая конфигурация Device Guard отключает гибернацию. Внутренняя системная компонент отключена гибернация. Низкоуровневая оболочка Включите виртуализацию в гостевой среде, чтобы получить возможности VBS вместе с возможностью гибернации гостя. Чтобы включить виртуализацию в гостевой среде, ознакомьтесь с этим документом .

Гостевые виртуальные машины Windows не могут гибернировать

Если операция гибернации выполнена успешно, в гостевой системе отображаются следующие события:

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 не отключена. Включение этой службы должно устранить проблему.
Гостевой не удается выполнить спящий режим, так как служба Power Service отключена. Это можно проверка, выполнив команду sc query power. Убедитесь, что служба Power Service не отключена. Включение этой службы должно устранить проблему.
Не удается выполнить гибернации, так как HVCI (целостность памяти) включена. Если целостность памяти включена в гостевом компьютере, и вы пытаетесь навести режим гибернации виртуальной машины, убедитесь, что ваш гость выполняет минимальную сборку ОС, необходимую для поддержки гибернации с целостностью памяти.

Win 11 22H2 — минимальная сборка ОС — 22621.2134
Win 11 21H1 — минимальная сборка ОС — 22000.2295
Win 10 22H2 — минимальная сборка ОС — 19045.3324

Журналы, необходимые для устранения неполадок:

Если вы столкнулись с проблемой за пределами этих известных сценариев, следующие журналы могут помочь Azure устранить эту проблему:

  • Соответствующие журналы событий на гостевом компьютере: Microsoft-Windows-Kernel-Power, Microsoft-Windows-Kernel-General, Microsoft-Windows-Kernel-Boot.
  • Во время проверка ошибки гостевой аварийный дампы полезно.

Не удалось возобновить виртуальную машину Windows

При запуске виртуальной машины из состояния гибернаации можно использовать представление экземпляра виртуальной машины, чтобы получить дополнительные сведения о том, успешно ли гость успешно возобновился из предыдущего состояния гибернаации или если не удалось возобновить работу и вместо этого выполнить холодную загрузку.

Выходные данные представления экземпляра виртуальной машины при успешном возобновлении работы гостя:

{
  "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 не сможет возобновить работу из предыдущего состояния и холодной загрузки, ответ представления экземпляра виртуальной машины будет следующим:

  "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.
  • При ошибке проверка требуется аварийный дамп гостевого аварийного сбоя.