Sdílet prostřednictvím


Řešení potíží s hibernací na virtuálních počítačích s Windows

Hibernace virtuálního počítače umožňuje zachovat stav virtuálního počítače na disk s operačním systémem. Tento článek popisuje, jak řešit problémy s funkcí hibernace ve Windows, problémy s vytvářením virtuálních počítačů s Windows s podporou hibernace a problémy s hibernací virtuálního počítače s Windows.

Pokud chcete zobrazit obecného průvodce odstraňováním potíží pro hibernaci, projděte si řešení potíží s hibernací v Azure.

Nejde hibernace virtuálního počítače s Windows

Pokud nemůžete hibernaci virtuálního počítače hibernace, nejprve zkontrolujte, jestli je na virtuálním počítači povolená možnost hibernace.

Pokud je na virtuálním počítači povolená možnost hibernace, zkontrolujte, jestli je v hostovaném operačním systému úspěšně povolená hibernace. Můžete zkontrolovat stav rozšíření Hibernace a zjistit, jestli rozšíření bylo možné úspěšně nakonfigurovat hostovaný operační systém pro hibernaci.

Snímek obrazovky se zprávou o stavu a zprávě o stavu, které zřizování pro virtuální počítač s Windows proběhlo úspěšně

Zobrazení instance virtuálního počítače by měl konečný výstup rozšíření:

"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"
        }
      ]
    },

Dále ověřte, že je režim hibernace povolený jako stav spánku uvnitř hosta. Očekávaný výstup hosta by měl vypadat takto.

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.


Pokud není režim hibernace uvedený jako podporovaný stav spánku, měl by existovat důvod, který by měl pomoct určit, proč se režim hibernace nepodporuje. K tomu dochází v případě, že není pro virtuální počítač nakonfigurovaný režim hibernace hosta.

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.

Pokud rozšíření nebo stav režimu spánku hosta hlásí chybu, budete muset aktualizovat konfigurace hosta podle popisu chyby, aby se problém vyřešil. Po vyřešení všech problémů můžete ověřit, že bylo v hostu úspěšně povolené hibernace, spuštěním příkazu powercfg /a, který by měl vrátit režim Hibernate jako jeden ze stavů spánku. Ověřte také, že se AzureHibernateExtension vrátí do stavu Úspěch. Pokud je rozšíření stále ve stavu selhání, aktualizujte stav rozšíření aktivací rozhraní API pro opětovné použití virtuálního počítače.

Poznámka:

Pokud rozšíření zůstane ve stavu selhání, nemůžete virtuální počítač hibernace hibernace.

Běžně se zobrazují problémy, kdy rozšíření selže.

Problém Akce
Stránkovat soubor je na dočasném disku. Přesuňte ho na disk s operačním systémem a povolte hibernaci. Přesunutí stránkového souboru na jednotku C: a opětovné spuštění rozšíření aktivujte na virtuálním počítači znovu.
Windows se nepodařilo nakonfigurovat hibernaci kvůli nedostatku místa pro hiberfile Ujistěte se, že jednotka C: má dostatek místa. Pokud chcete tento problém vyřešit, můžete zkusit rozšířit disk s operačním systémem, velikost oddílu C: Jakmile budete mít dostatek místa, spusťte operaci Znovu použít, aby rozšíření mohlo zkusit znovu povolit hibernaci v hostu a úspěšně proběhnout.
Chybová zpráva rozšíření: Zařízení připojené k systému nefunguje Ujistěte se, že jednotka C: má dostatek místa. Pokud chcete tento problém vyřešit, můžete zkusit rozšířit disk s operačním systémem, velikost oddílu C: Jakmile budete mít dostatek místa, spusťte operaci Znovu použít, aby rozšíření mohlo zkusit znovu povolit hibernaci v hostu a úspěšně proběhnout.
Po povolení zabezpečení VBS (Virtualization Based Security) v hostu se už nepodporuje hibernace. Povolte virtualizaci hosta, abyste získali funkce VBS spolu s možností hibernace hosta. Povolte virtualizaci v hostovaném operačním systému.
Povolení hibernace se nezdařilo. Odpověď z příkazu powercfg Ukončovací kód: 1. Chybová zpráva: Hibernace selhala s následující chybou: Požadavek není podporován. Následující položky brání hibernaci v tomto systému. Aktuální konfigurace Device Guard zakáže hibernaci. Vnitřní systémová komponenta zakázala hibernaci. Hypervisor Povolte virtualizaci hosta, abyste získali funkce VBS spolu s možností hibernace hosta. Informace o povolení virtualizace v hostu najdete v tomto dokumentu.

Hostovaný virtuální počítač s Windows nemůže hibernaci

Pokud operace hibernace proběhne úspěšně, v hostu se zobrazí následující události:

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

Pokud se hostu nepodaří hibernaci, chybí všechny nebo některé z těchto událostí. Běžně se zobrazují problémy:

Problém Akce
Host nemůže hibernaci provést, protože je zakázaná služba vypnutí hosta Hyper-V. Můžete to zkontrolovat spuštěním příkazu sc query vmicshutdown. Ujistěte se, že není zakázaná služba vypnutí hosta Hyper-V. Povolení této služby by mělo tento problém vyřešit.
Host se nezdaří hibernace, protože služba Power Service je zakázaná. Můžete to zkontrolovat spuštěním výkonu sc query. Ujistěte se, že služba Power Service není zakázaná. Povolení této služby by mělo tento problém vyřešit.
Host nemůže hibernaci hibernace, protože je povolená integrita paměti (HVCI). Pokud je v hostovi povolená integrita paměti a pokoušíte se virtuální počítač hibernace hibernace, ujistěte se, že host používá minimální build operačního systému potřebný k podpoře hibernace s integritou paměti.

Win 11 22H2 – Minimální build operačního systému – 22621.2134
Win 11 21H1 – Minimální build operačního systému – 22000.2295
Win 10 22H2 – Minimální build operačního systému – 19045.3324

Protokoly potřebné k řešení potíží:

Pokud narazíte na problém mimo tyto známé scénáře, můžou vám s řešením tohoto problému pomoct následující protokoly:

  • Relevantní protokoly událostí hosta: Microsoft-Windows-Kernel-Power, Microsoft-Windows-Kernel-General, Microsoft-Windows-Kernel-Boot.
  • Během kontroly chyb je užitečný výpis stavu systému hosta.

Nejde obnovit virtuální počítač s Windows

Když spustíte virtuální počítač ze stavu hibernace, můžete pomocí zobrazení instance virtuálního počítače získat další podrobnosti o tom, jestli se host úspěšně obnovil z předchozího stavu hibernace nebo jestli se nepovedlo obnovit a místo toho provedl studené spuštění.

Výstup zobrazení instance virtuálního počítače při úspěšném obnovení hosta:

{
  "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"
    }
  ]
}


Pokud se hostu Windows nepodaří obnovit z předchozího stavu a studeného spuštění, bude odpověď zobrazení instance virtuálního počítače následující:

  "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"
    }
  ]
}

Události hosta Windows při obnovení

Pokud se host úspěšně obnoví, jsou k dispozici následující události hosta:

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

Pokud se hostu nepodaří obnovit, všechny nebo některé z těchto událostí chybí. Při řešení potíží s tím, proč se host nepodařilo obnovit, jsou potřeba následující protokoly:

  • Protokoly událostí hosta: Microsoft-Windows-Kernel-Power, Microsoft-Windows-Kernel-General, Microsoft-Windows-Kernel-Boot.
  • Při kontrole chyb je potřeba výpis stavu systému hosta.