Ce que le démarrage rapide fait vraiment — pourquoi « Arrêter » sous Windows n'est pas un redémarrage

· Mis à jour le: · · Windows, Démarrage rapide, Arrêt, Gestion de l'alimentation, Informatique, PC d'équipement, PowerShell, Développement Windows

Historique des révisions (première version, publiée le 4 Sep 2026)
Première publication

« J’ai arrêté et rallumé, mais l’imprimante n’est pas reconnue. Puis j’ai redémarré, et ça a marché. »

La clé pour comprendre cette différence est le démarrage rapide de Windows. Depuis Windows 8, sur un PC qui prend en charge la mise en veille prolongée et a cette fonctionnalité activée, « Arrêter » n’est pas une opération qui reconstruit tout l’état de Windows. Elle ferme les applications et la session utilisateur, mais enregistre l’état du noyau, des pilotes et des services et le restaure au démarrage suivant. C’est ce qu’on appelle un arrêt hybride.12

En revanche, « Redémarrer » exécute toujours un cycle de démarrage complet, indépendamment du paramètre de démarrage rapide. « Éteindre et rallumer » et « redémarrer » ne sont pas la même opération.1

Cet article montre d’abord comment choisir l’opération qui convient, puis passe aux raisons, à l’isolement symptôme par symptôme, à la façon de vérifier et à la façon de décider des changements de configuration. Les notes d’implémentation pour les API et les services Windows sont rassemblées au chapitre 7. Les lecteurs visés sont le personnel informatique qui gère Windows 10/11 et les développeurs d’applications Windows pour PC d’équipement et machines de test. PowerShell 5.1 ou ultérieur est utilisé pour vérifier et configurer.

1. D’abord la conclusion : choisir l’opération qui correspond à l’objectif

Avant de désactiver d’emblée le démarrage rapide, séparez ce que vous essayez de faire.

Objectif ou problème Opération ou réaction à essayer d’abord Détails
Isoler un problème, ou réinitialiser une fois l’état de Windows Redémarrer. Mais ne concluez pas la cause simplement parce que cela a corrigé les choses 3.1, 4.1
Terminer Windows complètement et aussi couper l’alimentation Exécuter shutdown /s /t 0 3.2
Terminer les mises à jour en attente Choisir « Mettre à jour et redémarrer » 4.3
Réveiller le PC pendant la nuit avec Wake on LAN Reconsidérer l’état d’alimentation en attente, pas le fait que le démarrage rapide soit activé ou non 4.4
Faire en sorte que chaque « Arrêter » initialise la machine Vérifier le rôle de la machine, puis envisager de désactiver le démarrage rapide Chapitre 6

La base de ce choix est les trois différences suivantes.134

Les trois opérations du menu d'alimentation et ce qui se passe réellementArrêter est par défaut un arrêt hybride et enregistre le noyau dans le fichier de mise en veille prolongée. Redémarrer exécute toujours un cycle de démarrage complet. Mise en veille prolongée enregistre aussi la session utilisateur dans le fichier de mise en veille prolongée.ArrêterArrêt hybride (défaut)Enregistrer le noyau dans le fichier de mise en veille prolongéeRedémarrerCycle de démarrage completReconstruire le noyau, les pilotes et les servicesMise en veille prolongéeMise en veille prolongée (S4)Enregistrer toute la mémoire

Figure 1 : « Arrêter » enregistre l’état ; « Redémarrer » reconstruit l’état côté Windows. Une mise en veille prolongée normale enregistre aussi la session utilisateur. Même un redémarrage ne coupe pas l’alimentation des périphériques connectés.

« Réinitialiser une fois » et « changer la façon dont vous arrêtez à chaque fois » sont des décisions séparées. Pour les ordinateurs portables professionnels ordinaires, le choix pratique est de le laisser activé et de redémarrer au besoin. Microsoft ne recommande pas non plus de désactiver le démarrage rapide de façon uniforme.1

Dans le diagramme, un trait continu marque une relation qui vaut toujours et un trait pointillé une relation conditionnelle (les conditions figurent dans l’explication de chaque relation sur la page de détail). La liste complète des relations (24 au total, avec preuve et niveau de certitude) et les définitions des concepts principaux sont rassemblées sur la page de détail de la carte des connaissances (en japonais). Données : JSON-LD / Turtle

2. Le mécanisme : Windows « restaure » son état au lieu de le reconstruire

2.1 Où cela diverge d’un arrêt complet

Windows a trois modes de démarrage : le démarrage à froid traditionnel, la reprise depuis la mise en veille prolongée, et le démarrage rapide, introduit dans Windows 8. Dans un démarrage à froid, le chargeur de démarrage charge le noyau en mémoire et le relie, et le noyau configure ses fonctions centrales, énumère les périphériques connectés et charge les pilotes. Le démarrage rapide lit à la place l’état déjà initialisé depuis le fichier de mise en veille prolongée.5

La préparation de cette relecture se fait à l’arrêt précédent. Jusqu’à fermer les applications et déconnecter tous les utilisateurs, c’est le même chemin qu’un arrêt complet. Ensuite, les chemins divergent.51

Étape Arrêt complet Arrêt hybride
Applications et sessions utilisateur Fermer les applications et déconnecter tous les utilisateurs Identique
Session noyau Fermée Non fermée ; mise en veille prolongée
Traitement avant la coupure d’alimentation Arrêter le système Envoyer aux pilotes l’IRP d’alimentation pour se préparer à la mise en veille prolongée, et enregistrer l’image mémoire, y compris les pilotes en mode noyau, dans hiberfil.sys
À la mise sous tension suivante Initialiser le noyau, les pilotes, et ainsi de suite Relire l’état enregistré et reprendre

Ce que les pilotes reçoivent, aussi, n’est pas une notification d’arrêt mais un IRP d’alimentation annonçant une transition vers la mise en veille prolongée. Bien que cela ressemble à une coupure d’alimentation pour l’utilisateur, le cœur de Windows ne se termine pas ; il est conservé jusqu’au démarrage suivant.5

2.2 Ce qui est enregistré et ce qui est fermé

La frontière se situe entre les sessions utilisateur (les sessions interactives, session 1 et suivantes) et la session noyau (session 0).62

Élément Traitement pendant un arrêt hybride
Applications ouvertes, état de connexion Terminés lorsque la session utilisateur se déconnecte
Services par utilisateur Arrêtés et supprimés à la déconnexion
Le noyau et les pilotes en mode noyau chargés État enregistré dans le fichier de mise en veille prolongée et restauré au démarrage suivant
Services système de la session 0 Non arrêtés et redémarrés ; mis en veille prolongée et restaurés avec leur état intact

Les services par utilisateur et les services de la session 0 sont tous deux des « services », mais ils sont traités différemment. Les premiers sont créés à la connexion et arrêtés et supprimés à la déconnexion, donc ils ne sont pas reportés.7

Du côté enregistré, en revanche, l’état interne des pilotes et les handles, la mémoire et les caches internes détenus par les services système restent. La documentation matérielle de Microsoft explique aussi que, parce que le noyau, les pilotes et les services sont enregistrés et restaurés plutôt que redémarrés, la durée d’activité entre les redémarrages du noyau peut être plus longue que sur les versions antérieures de Windows, et demande que les fuites de mémoire dans les pilotes et les services soient surveillées.2

2.3 En quoi cela diffère d’une mise en veille prolongée normale

Une mise en veille prolongée normale enregistre toute la mémoire, y compris les sessions utilisateur. Le démarrage rapide déconnecte d’abord les utilisateurs, puis enregistre. Cela rend le fichier de mise en veille prolongée plus petit et accélère à la fois l’écriture et la relecture.26

Dans la terminologie des états d’alimentation, un arrêt complet est S5 et la mise en veille prolongée est S4. Un arrêt hybride ressemble à S5 pour l’utilisateur mais passe en réalité par S4. Toutefois, la réponse aux alarmes de réveil des périphériques est traitée comme si le système était en S5. Même s’il s’agit du même S4, tout ne se comporte pas comme dans une mise en veille prolongée normale, et cette différence compte pour Wake on LAN en 4.4.6

2.4 Le démarrage suivant « reprend » au lieu d’« initialiser »

Un démarrage depuis le démarrage rapide se déroule dans cet ordre : initialisation du micrologiciel, lecture du fichier de mise en veille prolongée, reprise des périphériques, reprise de Winlogon et initialisation d’Explorer. Le fichier de mise en veille prolongée contient le contexte système qui a été écrit à l’arrêt.8

Ce qui compte ici, c’est que les périphériques sont repris, pas initialisés. Si un pilote détenait en interne un mauvais état, par exemple un périphérique non reconnu ou un périphérique USB qui ne répond pas après la reprise, cet état peut être reporté aussi.

« Redémarrer » n’utilise pas ce chemin d’enregistrement et de restauration ; il passe toujours par un démarrage complet. La raison pour laquelle un redémarrage est requis après l’installation d’un pilote, ou après la mise à jour de composants Windows qui ne peuvent pas être remplacés sans un redémarrage complet, est précisément de reconstruire l’état côté Windows.1

3. Réinitialiser ou arrêter complètement sans changer les paramètres

3.1 Pour réinitialiser et continuer à utiliser le PC : « Redémarrer »

Pour isoler un problème, ou pour ramener Windows une fois dans un état propre, choisissez « Redémarrer » dans le menu d’alimentation. Parce qu’il ne dépend pas du paramètre de démarrage rapide, c’est aussi l’opération fiable à inscrire dans les procédures.1

Notez toutefois qu’un redémarrage est un cycle de démarrage complet, pas une opération qui laisse le PC hors tension (S5). Lorsque Windows doit être terminé complètement et l’alimentation coupée, par exemple avant de manipuler le disque depuis un autre OS, utilisez la méthode suivante.

3.2 Pour couper aussi l’alimentation : shutdown /s /t 0

Enregistrez votre travail, puis exécutez la commande suivante.

shutdown /s /t 0

Le /s de Shutdown.exe est un arrêt complet par défaut. Combinez /hybrid avec /s seulement lorsque vous voulez un arrêt hybride. Le « Arrêter » du menu d’alimentation et le /s de la commande ont des comportements par défaut différents.19

Dans la séquence d’arrêt d’un PC d’équipement ou dans un fichier batch, cette commande rend l’intention « terminer complètement et couper l’alimentation » non ambiguë. Notez que /g arrête complètement puis redémarre, en reprenant les applications enregistrées si Automatic Restart Sign-On (ARSO) est activé ; ce n’est pas une option pour rester hors tension.9

3.3 La méthode de la touche Maj et l’appel depuis une application

Sélectionner « Arrêter » tout en maintenant la touche Maj effectue un arrêt complet pour cette seule fois. Toutefois, cette procédure est décrite dans une réponse de support sur Microsoft Q&A, pas dans une référence officielle. Si vous l’utilisez en exploitation, vérifiez le résultat avec la durée d’activité ou l’événement 27 décrits au chapitre 5 ; pour les procédures destinées aux utilisateurs, « Redémarrer » ou shutdown /s /t 0 est le choix le plus sûr en termes de fiabilité.10

Une application peut aussi effectuer un arrêt complet via l’API, par exemple en appelant InitiateSystemShutdownEx avec bRebootAfterShutdown à FALSE. Les drapeaux de chaque API, la différence entre coupure d’alimentation et redémarrage, et le privilège requis sont résumés au chapitre 7.11

4. Isoler la cause selon le symptôme

Le mécanisme décrit jusqu’ici explique la durée d’activité et les problèmes reportés. Mais ne supposez pas que le symptôme devant vous est causé par le démarrage rapide. Wake on LAN en particulier doit être isolé comme une contrainte distincte.

4.1 Un arrêt ne le corrige pas, un redémarrage si

La première chose à faire est de vérifier si le problème se reproduit après un redémarrage. S’il disparaît après un redémarrage, l’hypothèse que l’état reporté dans un pilote ou un service est la cause devient forte.

Elle n’est toutefois pas confirmée simplement parce qu’un redémarrage l’a corrigé. Un problème intermittent peut simplement ne pas être apparu, ou le redémarrage peut avoir terminé une mise à jour en attente. Avant de le traiter comme la cause, obtenez la corroboration suivante.

  1. Confirmez plusieurs fois que « cela se reproduit après un arrêt et ne se reproduit pas après un redémarrage ».
  2. Confirmez avec l’événement Kernel-Boot 27 décrit au chapitre 5 que le dernier démarrage était un démarrage rapide (0x1).
  3. Recoupez avec les enregistrements côté pilote dans le Gestionnaire de périphériques et le journal Système.

Même une fois corroboré, il n’est pas nécessaire de changer le paramètre sur chaque machine tout de suite. Dans la plupart des cas, corriger la procédure de « éteindre et rallumer » vers « redémarrer » suffit. Le fait qu’une machine ait besoin d’une initialisation garantie à chaque arrêt se décide au chapitre 6.

Lorsque l’arrêt lui-même échoue et revient à l’écran de verrouillage, une vérification différente est nécessaire. Un arrêt avec le démarrage rapide activé s’exécute comme une mise en veille prolongée, et en chemin il initialise la configuration du vidage mémoire. Si le pilote de filtre de vidage ne peut pas être chargé, la mise en veille prolongée échoue, l’identifiant d’événement 45 est consigné, et le système revient à l’écran de verrouillage. L’endroit que Microsoft indique est DumpFilters sous HKLM\SYSTEM\CurrentControlSet\Control\CrashControl. Traiter ce symptôme comme un « échec de mise en veille prolongée » plutôt qu’un « échec d’arrêt » clarifie où regarder.1

4.2 La durée d’activité ne se réinitialise pas malgré un arrêt chaque nuit

« Performances » > « Processeur » du Gestionnaire des tâches montre parfois une durée d’activité de plusieurs jours. Dans un arrêt hybride le noyau n’est que mis en veille prolongée et restauré, donc l’heure de démarrage du noyau n’est pas mise à jour.2

En WMI, la durée d’activité s’obtient à partir de Win32_OperatingSystem.LastBootUpTime en soustrayant l’heure de démarrage de l’heure actuelle. Un redémarrage, qui passe par un démarrage complet, et un démarrage après un arrêt complet mettent à jour cette heure de démarrage de référence.12

Get-Uptime dans PowerShell 6 et ultérieur utilise le nombre de ticks du minuteur haute résolution depuis le démarrage du système. Sa valeur peut donc différer légèrement de celle dérivée de WMI, mais elle prend de même le démarrage du noyau comme référence.13

Ne concluez ni à une panne ni au démarrage rapide à partir d’une longue durée d’activité seule. La durée d’activité est aussi conservée à travers la veille, une mise en veille prolongée explicite et un arrêt qui n’est pas allé au bout. Vérifiez l’événement 27 et les entrées de journal environnantes avant d’expliquer.

Aussi, une surveillance telle que « demander un redémarrage lorsque la durée d’activité dépasse 30 jours » avertira les utilisateurs qui arrêtent tous les jours. La surveillance n’est pas fausse. Formuler la notification « veuillez redémarrer » évite la confusion « mais j’ai arrêté hier soir ».

4.3 Les mises à jour ne se terminent pas même après « Mettre à jour et arrêter »

Pour terminer une mise à jour, choisissez « Mettre à jour et redémarrer ». L’article de support de Microsoft (KB4011287) explique que certaines mises à jour ne peuvent se terminer que dans un démarrage qui suit un arrêt complet, et peuvent être retenues lorsque le démarrage passe par la mise en veille prolongée du démarrage rapide. Ce comportement ne se produit pas avec un redémarrage.3

Lorsque « Mise à jour » réapparaît le lendemain matin après « Mettre à jour et arrêter », ce n’est généralement pas un échec de mise à jour ; le traitement qui attendait un démarrage complet se poursuit simplement dans ce démarrage. Si le démarrage rapide est désactivé, « Mettre à jour et arrêter » passe aussi par un démarrage complet, donc la prémisse change.

Le même article de support note aussi que le retard à terminer les mises à jour dans les environnements gérés par Configuration Manager a été traité dans Configuration Manager 2002 et Windows 10 21H1.3

4.4 Wake on LAN ne peut pas réveiller un PC arrêté

Désactiver seulement le démarrage rapide ne résout pas ce problème. Sous Windows 10/11, Wake on LAN (WOL), pour ce qui concerne Windows, n’est pris en charge ni depuis un arrêt hybride ni depuis un arrêt complet (S5).414

État d’attente Traitement de WOL pour ce qui concerne Windows
Veille traditionnelle (S3) Chemin pris en charge. Dépend toutefois de la carte réseau et des paramètres de réveil
Mise en veille prolongée (S4) explicitement choisie par l’utilisateur Chemin pris en charge. Dépend toutefois de la carte réseau et des paramètres de réveil
Arrêt hybride (en réalité S4) La carte réseau n’est pas armée pour le réveil ; non pris en charge
Arrêt complet (S5) Non pris en charge
Modern Standby (S0 low-power idle) Le réseau peut être une source de réveil, mais le modèle et les conditions d’alimentation doivent être vérifiés

Même si les deux sont S4, Windows traite « Mise en veille prolongée » et « Arrêter » différemment. Selon l’explication de Microsoft, un utilisateur qui ordonne un arrêt s’attend à une consommation nulle, donc Windows n’arme pas la carte réseau pour le réveil lors de la transition vers un arrêt hybride. Cette désactivation n’est pas effectuée lors de la transition vers une mise en veille prolongée explicite.4

Sous Windows 7 aussi, WOL depuis l’arrêt complet par défaut (S5) n’était pas officiellement pris en charge. Il y avait toutefois des modèles sur lesquels la carte réseau restait armée pour le réveil si une alimentation résiduelle était disponible. La différence avec l’arrêt hybride par défaut de Windows 10 est que Windows désactive explicitement le réveil.4

Les machines Modern Standby ne peuvent pas être généralisées comme « elles se réveillent toujours tant qu’elles sont en veille ». Un modèle qui affiche « S0 Low Power Idle » dans powercfg /a n’a pas de S3. En Modern Standby le système continue de tourner à basse consommation même avec l’écran éteint, et le Wi-Fi, l’Ethernet et le haut débit mobile maintiennent leurs connexions et peuvent être des sources de réveil. La documentation de Microsoft indique aussi que le Bureau à distance et le partage de fichiers peuvent réveiller le SoC sur une connexion Ethernet.15

La même documentation, toutefois, liste aussi les conditions suivantes.15

  • En veille déconnectée, les applications ne peuvent pas utiliser le réseau, et sur batterie la pile réseau peut commencer à se déconnecter.
  • Le réseau local filaire n’est pas considéré comme capable de Modern Standby s’il ne prend pas en charge le déchargement par correspondance de motifs.
  • Sous Windows 11 version 24H2 et ultérieure, de nombreuses sources de réveil sont désactivées lorsque une consommation excessive de la batterie est détectée.

Sur Surface, WOL pendant Modern Standby est indiqué comme fonctionnant par défaut depuis Windows 10 version 1607, mais ce n’est pas une garantie pour les ordinateurs portables d’autres fabricants. Le fait qu’un PC puisse réellement être réveillé est déterminé par la carte réseau, le micrologiciel, les conditions d’alimentation CA/CC et l’implémentation de l’OEM, donc vérifiez sur une machine réelle avant de l’intégrer à une exploitation sans surveillance telle que des tâches de nuit.16

Il y a aussi des modèles dont le micrologiciel et le matériel peuvent armer la carte réseau pour le réveil depuis S4/S5 d’eux-mêmes. Dans ce cas Windows n’est pas impliqué. « Certains modèles se réveillent bien depuis un arrêt » désigne cette exception.4

En exploitation, l’approche de base est de laisser la machine que vous voulez réveiller en attente en « Veille » ou « Mise en veille prolongée ». Même si « Wake on Magic Packet » et les paramètres similaires de la carte réseau sont configurés correctement, le PC ne se réveillera pas si la transition d’alimentation de l’OS a désactivé le réveil. Comment les pilotes distinguent les deux est expliqué en 7.5. Voir aussi « Veille, mise en veille prolongée, Modern Standby et applications longue durée » pour le comportement de Modern Standby et « Guide des paramètres avancés de la carte réseau (NIC) sous Windows » pour les paramètres de carte réseau.

4.5 Double amorçage, ou le même disque depuis un autre OS

Cette section est une mise en garde dérivée du mécanisme, fondée sur les sources primaires sur les états d’alimentation. Dans un arrêt hybride, l’image mémoire du noyau est enregistrée et restaurée au démarrage suivant.6

Les écritures en attente sont validées sur le disque au moment d’entrer en mise en veille prolongée, mais les caches du pilote de système de fichiers et ses hypothèses sur la structure du volume restent dans le fichier de mise en veille prolongée. Si un autre OS (Linux, Windows PE, et ainsi de suite) écrit sur le même volume NTFS entre-temps, la vue périmée que Windows restaure au démarrage suivant ne correspondra pas à ce qui est réellement sur le disque.

Le danger n’est pas la mise en veille prolongée elle-même mais Windows restaurant l’ancien état après qu’un autre OS a modifié le disque. Lorsque le pilote NTFS côté Linux refuse d’écrire sur un volume en mise en veille prolongée, ou le monte en lecture seule, c’est un comportement correct destiné à empêcher précisément cette incohérence.

Sur une machine qui manipule le même disque depuis plusieurs systèmes d’exploitation, ou une machine de test qui démarre un OS séparé pour réparation, intégrez l’un des éléments suivants à l’exploitation.

  • Désactiver le démarrage rapide et aussi désactiver la mise en veille prolongée explicite avec powercfg /h off.
  • Exiger l’arrêt complet de la section 3 avant de changer de système d’exploitation.

Désactiver seulement le démarrage rapide laisse la mise en veille prolongée explicite disponible. Sachez qu’écrire depuis un autre OS pendant que Windows est en mise en veille prolongée provoque la même incohérence.

4.6 Les changements de micrologiciel ou de configuration des périphériques ne prennent pas effet

Si vous avez changé des paramètres UEFI ou la configuration de périphériques, et que l’ancien état semble rester même après avoir éteint et rallumé, redémarrez pour passer par un démarrage complet. Avec le démarrage rapide, les pilotes prennent le chemin de reprise, pas le chemin d’initialisation du démarrage à froid.

Microsoft demande que les pilotes qui configurent un périphérique différemment lors d’un démarrage à froid et lors d’une reprise depuis la mise en veille prolongée le configurent comme pour un démarrage à froid après un démarrage rapide. Dans les pilotes non implémentés ainsi, le chemin de reprise devient le problème. Comment un pilote distingue les deux est résumé en 7.5.5

5. Vérifier séparément le « paramètre » et le « chemin de démarrage réel »

Même lorsque le démarrage rapide est activé dans les paramètres, le dernier démarrage n’a pas nécessairement pris ce chemin. Lisez séparément l’information qui vous dit le paramètre et l’information qui vous dit le résultat du démarrage.

5.1 Quatre endroits à vérifier

Où vérifier Ce que cela vous dit Mise en garde
Durée d’activité dans le Gestionnaire des tâches Si du temps s’est accumulé depuis le démarrage du noyau Le premier indice. Elle continue aussi à travers la veille, la mise en veille prolongée et un arrêt échoué, donc ne concluez pas à partir d’elle seule
Kernel-Boot, identifiant d’événement 27 dans le journal Système Le type du dernier démarrage Recoupez avec la durée d’activité pour confirmer le chemin réel
powercfg /a États d’alimentation disponibles ; si un fichier de mise en veille prolongée existe et son type Avec un fichier de mise en veille prolongée réduit, le démarrage rapide est disponible même si la mise en veille prolongée normale ne l’est pas
HiberbootEnabled local et de stratégie Le paramètre de démarrage rapide Une valeur de stratégie de 0 ne signifie pas « forcé à désactivé »

Comment penser la durée d’activité est couvert en 4.2, et la relation entre le fichier de mise en veille prolongée et le paramètre est aussi expliquée en 6.3 et 6.4.261718

5.2 Comment lire l’événement 27

L’événement Kernel-Boot 27 consigne au démarrage une valeur telle que « The boot type was 0x1 ». La signification de la valeur n’est pas documentée dans la référence officielle, mais la correspondance suivante est largement connue.

Valeur Type de démarrage
0x0 Démarrage complet
0x1 Démarrage rapide
0x2 Reprise depuis la mise en veille prolongée

Même si la durée d’activité continue, une dernière valeur de 0x2 signifie une reprise depuis une mise en veille prolongée normale, pas un démarrage rapide. N’expliquez pas à partir de la durée d’activité seule ; combinez-la avec l’événement 27.

5.3 Tout vérifier d’un coup avec PowerShell

Le script suivant affiche ensemble le paramètre, le fichier de mise en veille prolongée, la durée d’activité et le type des cinq derniers démarrages. La plupart des lectures du Registre et du journal d’événements fonctionnent sans privilèges d’administrateur, mais powercfg /a exige des privilèges d’administrateur dans certains environnements.

# Afficher ensemble le paramètre de démarrage rapide et le type des derniers démarrages
$powerKey  = 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Power'
$policyKey = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\System'

$local  = Get-ItemProperty -Path $powerKey  -Name HiberbootEnabled -ErrorAction SilentlyContinue
$policy = Get-ItemProperty -Path $policyKey -Name HiberbootEnabled -ErrorAction SilentlyContinue
$os     = Get-CimInstance -ClassName Win32_OperatingSystem
$hiberfil = Test-Path -LiteralPath "$env:SystemDrive\hiberfil.sys"

# Sans fichier de mise en veille prolongée (powercfg /h off), le démarrage rapide ne fonctionne pas, quelle que soit la valeur du Registre.
# La stratégie "Exiger l'utilisation du démarrage rapide" a priorité sur le paramètre local seulement lorsqu'elle est Activé (1).
# Si la valeur de stratégie est 0 ou non configurée, le paramètre local est utilisé (aucune valeur signifie activé par défaut)
$effective =
    if (-not $hiberfil) { 'Non disponible (pas de fichier de mise en veille prolongée : état powercfg /h off)' }
    elseif ($null -ne $policy -and $policy.HiberbootEnabled -eq 1) { 'Activé (forcé par la stratégie)' }
    elseif ($null -eq $local -or $local.HiberbootEnabled -eq 1) { 'Activé (paramètre local)' }
    else { 'Désactivé (paramètre local)' }

[pscustomobject]@{
    LocalHiberbootEnabled  = if ($null -eq $local)  { '(aucune valeur : activé par défaut)' } else { $local.HiberbootEnabled }
    PolicyHiberbootEnabled = if ($null -eq $policy) { '(non configuré)' } else { $policy.HiberbootEnabled }
    EffectiveSetting       = $effective
    HiberfilExists         = $hiberfil
    LastBootUpTime         = $os.LastBootUpTime
    Uptime                 = (Get-Date) - $os.LastBootUpTime
} | Format-List

# Type des cinq derniers démarrages (0x0 = démarrage complet, 0x1 = démarrage rapide, 0x2 = reprise depuis la mise en veille prolongée)
Get-WinEvent -FilterHashtable @{ LogName = 'System'; ProviderName = 'Microsoft-Windows-Kernel-Boot'; Id = 27 } -MaxEvents 5 |
    Select-Object TimeCreated, Message

# États de veille disponibles et type du fichier de mise en veille prolongée
powercfg /a

Le paramètre effectif montré ici est décidé dans cet ordre : si un fichier de mise en veille prolongée existe, si la stratégie le force, et quel est le paramètre local. Si la valeur de stratégie est 0 ou non configurée, le paramètre local est utilisé, et sans fichier de mise en veille prolongée, le démarrage rapide est indisponible quelles que soient les valeurs de paramètre.

5.4 « Qui a demandé l’arrêt » est dans un autre journal

L’identifiant d’événement 1074 (User32) dans le journal Système consigne le processus demandeur, l’utilisateur et le code de motif, et l’opération demandée (coupure d’alimentation, redémarrage, et ainsi de suite). Toutefois, parce qu’un arrêt hybride et un arrêt complet sont tous deux consignés comme une coupure d’alimentation, 1074 seul ne peut pas distinguer les deux. Confirmez le chemin réel avec l’événement 27 au démarrage suivant.

Les arrêts inattendus sont isolés de la séquence avec 41 (Kernel-Power) et 6008 (EventLog).19 La procédure pour retracer « le PC d’équipement s’était arrêté le matin » est couverte dans « L’arrêt de Windows vu depuis l’application ».

6. Décider s’il faut désactiver le démarrage rapide, et comment

6.1 Décider selon le rôle de la machine, pas de façon uniforme

Microsoft active le démarrage rapide par défaut et ne recommande pas de le désactiver. Il a un bénéfice de temps de démarrage, et la documentation matérielle traite la lecture et l’écriture du fichier de mise en veille prolongée comme un traitement assez important pour compter pour environ 50 % du temps de démarrage. Sur un ordinateur portable ordinaire, il n’y a pas de raison de le désactiver de façon uniforme.12

Les deux axes de la décision sont « l’exploitation suppose-t-elle que couper l’alimentation initialise la machine ? » et « un autre OS modifiera-t-il le même volume ? » Ces deux axes sont indépendants. Ne vous arrêtez pas à « nous l’avons désactivé parce que c’est un PC d’équipement » ; vérifiez aussi si un autre OS écrit sur le disque.

Rôle de la machine ou objectif Réaction recommandée Raison
PC d’équipement ou PC de mesure où l’initialisation par coupure d’alimentation est une hypothèse d’exploitation Le désactiver Là où la procédure ne peut pas être changée vers « Redémarrer », garantir l’initialisation par le paramètre
Machine de test, ou une machine qui manipule le même disque depuis plusieurs systèmes d’exploitation En plus de le désactiver, désactiver aussi la mise en veille prolongée, ou exiger un arrêt complet avant de changer d’OS Arrêter seulement le démarrage rapide laisse l’incohérence causée par la mise en veille prolongée explicite (4.5)
Machine à réveiller pendant la nuit par WOL Reconsidérer l’état d’attente, pas le paramètre Même désactivé, WOL depuis S5 n’est pas pris en charge. Les machines Modern Standby ont besoin d’une vérification sur une machine réelle (4.4)
Machine avec un stockage petit Envisager un fichier de mise en veille prolongée réduit Réduit le fichier de mise en veille prolongée tout en gardant le démarrage rapide (6.4)
Ordinateur portable professionnel ordinaire Le laisser activé et redémarrer au besoin Conserve le démarrage rapide, et l’isolement peut se faire avec un redémarrage
Machine toujours allumée, de type serveur, qui n’est jamais arrêtée Les deux conviennent Si elle n’est jamais arrêtée, le paramètre n’a aucun effet, et un redémarrage est toujours un démarrage complet

6.2 Changer une machine à la fois : Panneau de configuration

Sous Windows 10 comme sous Windows 11, l’endroit pour le changer est le Panneau de configuration, pas l’application Paramètres.4

  1. Ouvrez « Options d’alimentation » et sélectionnez « Choisir l’action des boutons d’alimentation ».
  2. Si les éléments sont grisés, cliquez sur « Modifier des paramètres actuellement non disponibles » (exige des privilèges d’administrateur).
  3. Décochez la case « Activer le démarrage rapide (recommandé) ».
  4. Enregistrez les modifications.

Si l’élément lui-même n’est pas affiché, la mise en veille prolongée est désactivée et il n’y a pas de fichier de mise en veille prolongée. Voir l’explication de powercfg /a et du fichier de mise en veille prolongée en 6.4.

6.3 Configurer beaucoup de machines : distinguer le Registre et la stratégie

Le paramètre local est HiberbootEnabled (DWORD) sous HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power. 0 désactive et 1 active, et la case du Panneau de configuration lit et écrit cette même valeur.17

# Exécuter dans une PowerShell ouverte en tant qu'administrateur. Désactive le démarrage rapide
$powerKey = 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Power'
Set-ItemProperty -Path $powerKey -Name HiberbootEnabled -Type DWord -Value 0

# Relire la valeur pour confirmer
(Get-ItemProperty -Path $powerKey -Name HiberbootEnabled).HiberbootEnabled

Toutefois, si la stratégie « Exiger l’utilisation du démarrage rapide » est Activé, la stratégie a priorité sur la valeur locale. Même si vous réglez la valeur locale à 0 et relisez 0, le démarrage rapide reste activé. Dans ce cas, remettez d’abord la stratégie à Désactivé ou Non configuré.18

État de la stratégie Résultat
Activé Exige le démarrage rapide et exige que la mise en veille prolongée soit activée. A priorité sur le paramètre local
Désactivé ou Non configuré Le HiberbootEnabled local est utilisé. Ne force pas le démarrage rapide à désactivé

Cette stratégie se trouve dans WinInit.admx sous « Configuration ordinateur > Modèles d’administration > Système > Arrêt ». Elle écrit dans HiberbootEnabled sous HKLM\SOFTWARE\Policies\Microsoft\Windows\System. Dans Intune elle peut être configurée comme le Policy CSP ADMX_WinInit/Hiberboot.18

Pour déployer désactivé de façon uniforme, distribuez le HiberbootEnabled = 0 local avec les Préférences de stratégie de groupe ou une configuration Intune. Activez cette stratégie lorsque vous voulez forcer l’activation pour que les utilisateurs ne puissent pas le désactiver.

Les trois couches du paramètre de démarrage rapideSi la stratégie Exiger l'utilisation du démarrage rapide est Activé, le démarrage rapide est activé avec priorité sur le paramètre local ; si elle n'est pas configurée, le HiberbootEnabled local est utilisé. Sur l'un ou l'autre chemin, le démarrage rapide est indisponible sans fichier de mise en veille prolongéeActivéDésactivé ou Non configuré1 (défaut)0Oui (complet ou réduit)Non (powercfg /h off)Stratégie : Exiger l'utilisation du démarrage rapideForcé à activé (paramètre local ignoré)Local : HiberbootEnabledActivéDésactivéLe fichier de mise en veille prolongée (hiberfil.sys) existe-t-il ?Le démarrage rapide fonctionneDémarrage rapide indisponible

Figure 2 : La stratégie est un paramètre qui force l’activation. La désactivation se distribue par la valeur locale du Registre, et sur l’un ou l’autre chemin le démarrage rapide est indisponible sans fichier de mise en veille prolongée.

Le changement prend effet à partir de l’arrêt suivant. Pour vérifier, effectuez un « Arrêter » normal, allumez, et vérifiez que l’événement 27 est 0x0. Un redémarrage est un démarrage complet indépendamment du paramètre, donc il ne peut pas servir à vérifier la désactivation. Relire le Registre confirme la valeur du paramètre ; l’événement 27 confirme le chemin réel.

6.4 powercfg /h off n’est pas la même chose que « désactiver seulement le démarrage rapide »

Le démarrage rapide s’appuie sur le fichier de mise en veille prolongée, hiberfil.sys. powercfg /hibernate off (powercfg /h off) est l’opération qui supprime ce fichier de mise en veille prolongée. Non seulement le démarrage rapide mais aussi la mise en veille prolongée normale et la veille hybride deviennent indisponibles.206

Régler HiberbootEnabled = 0, en revanche, laisse le fichier de mise en veille prolongée en place. Changez la bonne cible pour chaque objectif.

Objectif Paramètre ou commande Ce qui reste et ce qui est perdu
Arrêter seulement le démarrage rapide HiberbootEnabled = 0 Le fichier de mise en veille prolongée reste. S’il est du type complet, la mise en veille prolongée normale reste aussi
Réduire le fichier mais garder le démarrage rapide powercfg /h /type reduced Fichier de mise en veille prolongée réduit (20 % de la mémoire physique par défaut). La mise en veille prolongée normale et la veille hybride sont indisponibles
Revenir à un type qui permet aussi la mise en veille prolongée normale powercfg /h /type full Fichier de mise en veille prolongée complet (40 % de la mémoire physique par défaut). Non recommandé sur les machines avec moins de 32 Go de stockage
Se passer entièrement de la mise en veille prolongée powercfg /h off Supprime le fichier de mise en veille prolongée. Le démarrage rapide, la mise en veille prolongée et la veille hybride deviennent tous indisponibles

Un fichier de mise en veille prolongée complet prend en charge la mise en veille prolongée, la veille hybride et le démarrage rapide. La veille hybride exige toutefois S3, donc sur une machine Modern Standby sans S3 elle ne peut pas être utilisée même avec un fichier de mise en veille prolongée complet. Un fichier de mise en veille prolongée réduit ne prend en charge que le démarrage rapide. Sur un PC qui était déjà du type réduit, désactiver seulement le démarrage rapide ne rend pas disponibles la mise en veille prolongée normale ni la veille hybride.6

Lisez la sortie de powercfg /a avec cette distinction également à l’esprit.

Fichier de mise en veille prolongée Ce qui est affiché sur la mise en veille prolongée normale Démarrage rapide
Complet Disponible Disponible
Réduit « La mise en veille prolongée n’est pas prise en charge » Disponible
Aucun « La mise en veille prolongée n’a pas été activée » Non disponible

Si /type reduced échoue avec « Le paramètre est incorrect », c’est parce que la taille du fichier de mise en veille prolongée a été réglée manuellement à plus de 40 %. Exécutez d’abord powercfg /h /size 0 pour ramener la taille à la gestion de l’OS, puis exécutez-le à nouveau.621

Sur une machine où un autre OS modifie le même volume, la mise en veille prolongée normale restante provoque la même incohérence qu’en 4.5. Ne vous arrêtez pas à désactiver le démarrage rapide ; désactivez aussi la mise en veille prolongée, ou exigez un arrêt complet avant de changer d’OS.

7. Pour les développeurs : API d’arrêt et précautions pour les services

7.1 L’API spécifie « quelle opération », pas seulement « hybride ou non »

Les API d’arrêt appelées depuis une application ont des comportements par défaut différents du menu d’alimentation. Selon la documentation de Microsoft, InitiateSystemShutdownEx et InitiateSystemShutdown ne deviennent jamais hybrides, tandis que InitiateShutdown et ExitWindowsEx demandent l’hybride avec un drapeau explicite.26

API Arrêt complet qui coupe l’alimentation Arrêt pour le démarrage rapide
InitiateSystemShutdownEx / InitiateSystemShutdown bRebootAfterShutdown = FALSE Jamais hybride
InitiateShutdown Spécifier SHUTDOWN_POWEROFF sans SHUTDOWN_HYBRID Combiner SHUTDOWN_POWEROFF avec SHUTDOWN_HYBRID
ExitWindowsEx Spécifier EWX_POWEROFF sans EWX_HYBRID_SHUTDOWN Combiner EWX_SHUTDOWN avec EWX_HYBRID_SHUTDOWN

SHUTDOWN_HYBRID n’est pas spécifié seul ; il est combiné avec un ou plusieurs drapeaux de la même table. Parmi ceux-ci, la combinaison qui donne une coupure d’alimentation pour le démarrage rapide est celle avec SHUTDOWN_POWEROFF. EWX_HYBRID_SHUTDOWN n’est de même pas utilisé seul mais combiné avec EWX_SHUTDOWN.2223

Retirer le drapeau hybride seul ne détermine pas l’opération. Les distinctions suivantes sont aussi nécessaires.112223

Argument ou drapeau Opération effectuée
bRebootAfterShutdown = TRUE, SHUTDOWN_RESTART, EWX_REBOOT Redémarrage
SHUTDOWN_NOREBOOT Arrête le système mais ne coupe pas l’alimentation
EWX_SHUTDOWN Arrête le système jusqu’à un point où l’alimentation peut être coupée en toute sécurité, mais ne coupe pas l’alimentation
ExitWindowsEx avec uFlags = 0 EWX_LOGOFF, c’est-à-dire déconnexion

Si vous implémentez un bouton « couper l’alimentation » sur un terminal kiosque ou un PC d’équipement, appelez InitiateSystemShutdownEx avec bRebootAfterShutdown = FALSE, ou appelez ExitWindowsEx avec EWX_POWEROFF, et n’ajoutez pas le drapeau hybride. Ce qui compte est de conserver la spécification de coupure d’alimentation requise, pas « aucun drapeau ».

7.2 Activer le privilège sur le bon jeton avant d’appeler

Avec n’importe laquelle de ces API, arrêter le PC local exige que le privilège SE_SHUTDOWN_NAME soit activé au préalable avec AdjustTokenPrivileges. Par défaut, un utilisateur connecté peut activer ce privilège, mais si vous appelez alors qu’il est encore désactivé, l’API échoue et aucun arrêt ne commence.1123

Le jeton sur lequel l’activer diffère selon l’API.

API Jeton sur lequel activer le privilège
ExitWindowsEx Le jeton du processus appelant. Ouvrez-le avec OpenProcessToken
InitiateSystemShutdown(Ex) / InitiateShutdown Le jeton effectif du thread appelant. Le jeton de thread en cas d’emprunt d’identité ; sinon le jeton de processus

Une application de bureau ou de kiosque ordinaire qui n’emprunte pas d’identité n’a pas de jeton de thread. OpenThreadToken échoue avec ERROR_NO_TOKEN, donc veillez à ce que le code ne passe pas à l’appel avec le privilège encore désactivé.

7.3 Pour se comporter comme le menu d’alimentation, lire le paramètre effectif

EWX_HYBRID_SHUTDOWN est un drapeau qui « demande le démarrage rapide », pas un qui « suit le paramètre de ce PC ».23

Si le démarrage rapide est désactivé mais que le fichier de mise en veille prolongée reste sur le PC, demander avec ce drapeau signifie que l’application contourne le paramètre de l’utilisateur. Un utilitaire qui respecte le paramètre devrait vérifier la stratégie, le HiberbootEnabled local et l’existence du fichier de mise en veille prolongée, selon les mêmes règles que le script en 5.3.

Combinez EWX_SHUTDOWN avec EWX_HYBRID_SHUTDOWN seulement lorsque le paramètre effectif est activé ; sinon choisissez un arrêt complet qui coupe l’alimentation. Confirmez le résultat avec l’événement 27 au démarrage suivant.

7.4 Les services doivent gérer les événements d’alimentation, pas seulement les notifications d’arrêt

Dans un arrêt hybride, les applications de la session utilisateur sont fermées, mais les services de la session 0 sont mis en veille prolongée et restaurés. Les services par utilisateur sont arrêtés et supprimés à la déconnexion, donc tenez les deux distincts ici.27

Lors de l’entrée en mise en veille prolongée, les applications et les services sont notifiés d’abord, puis les pilotes. Le point important est qu’à la reprise, les pilotes et les services ne sont pas relancés ; ils reviennent à l’état où ils étaient avant la mise en veille prolongée.6

La documentation de Microsoft pour ses outils d’évaluation explique que les notifications de suspension sont envoyées en série aux services qui ont déclaré SERVICE_ACCEPT_POWEREVENT, qu’un délai d’expiration de 30 secondes s’applique par service, et que du point de vue d’un service le démarrage rapide est le même que la mise en veille prolongée.24

Si un service se met en veille prolongée en tenant une connexion vers un périphérique et que le périphérique est mis hors tension entre-temps, la connexion restaurée le lendemain matin est déjà inutilisable. Si tout le nettoyage est laissé à la notification d’arrêt, ce chemin n’est pas traité.

Chemin Déclaration d’acceptation requise Comment le service est traité
Redémarrage ou arrêt complet SERVICE_ACCEPT_SHUTDOWN / SERVICE_ACCEPT_PRESHUTDOWN Reçoit la notification d’arrêt correspondante et se termine
Arrêt hybride ou mise en veille prolongée SERVICE_ACCEPT_POWEREVENT Reçoit les événements d’alimentation et est mis en veille prolongée et restauré avec son état intact

Les notifications d’arrêt sont SERVICE_CONTROL_SHUTDOWN / SERVICE_CONTROL_PRESHUTDOWN. Ce traitement est nécessaire pour le redémarrage et l’arrêt complet, donc ne le retirez pas. Conservez-le, et en plus effectuez le nettoyage et la reconnexion sur les événements d’alimentation pour la transition vers la veille ou la mise en veille prolongée et la reprise depuis celles-ci.25

Aucune des notifications n’est délivrée sauf aux services qui ont fait la déclaration d’acceptation correspondante. Sans la déclaration, le service est terminé sans préavis à l’arrêt, et mis en veille prolongée et restauré sans préavis dans un arrêt hybride. Ce qui est relancé dans le démarrage après un arrêt complet, ce sont les services dont le type de démarrage est Automatique. Les services Manuels et Désactivés ne reviennent pas sans une dépendance, un déclencheur ou un démarrage explicite. Comment recevoir les événements d’alimentation en pratique est couvert dans « Les applications qui cassent à la reprise de veille ».24

7.5 Les pilotes peuvent distinguer le démarrage rapide d’une reprise normale depuis la mise en veille prolongée

Les pilotes peuvent distinguer les deux à l’aide du SYSTEM_POWER_STATE_CONTEXT inclus dans l’IRP set-power système.5

Chemin TargetSystemState EffectiveSystemState
Démarrage rapide PowerSystemShutdown PowerSystemHibernate
Reprise depuis une mise en veille prolongée normale PowerSystemHibernate PowerSystemHibernate

Le pilote NDIS fourni par le système utilise cette différence : il désactive la capacité de réveil du miniport pour le démarrage rapide et ne la désactive pas pour une reprise depuis une mise en veille prolongée normale. C’est la raison, expliquée en 4.4, pour laquelle WOL est traité différemment même si les deux sont S4.5

Les consignes de Microsoft sont aussi que les pilotes qui configurent un périphérique différemment lors d’un démarrage à froid et lors d’une reprise depuis la mise en veille prolongée devraient le configurer comme pour un démarrage à froid après un démarrage rapide.5

8. Refléter cela dans les procédures et la surveillance

Une fois le mécanisme compris, alignez les opérations et les formulations utilisées sur site.

Situation d’exploitation Ce qu’il faut écrire dans la procédure ou la notification
Premier isolement d’un problème « Redémarrer », pas « éteindre et rallumer »
Lorsque le seuil de durée d’activité est dépassé « Veuillez redémarrer ». Expliquez pourquoi l’avertissement apparaît même pour les utilisateurs qui arrêtent tous les jours
Lors de la fin des mises à jour Faire de « Mettre à jour et redémarrer » le standard
Lorsque la désactivation est la configuration standard pour les PC d’équipement Mettre le paramètre de Registre de 6.3 dans le provisionnement, et à la réception vérifier le démarrage après un arrêt normal avec la méthode du chapitre 5

Énoncer « redémarrer » explicitement est aussi important pour empêcher les coupures d’alimentation forcées en maintenant longtemps le bouton d’alimentation sur site. La surveillance basée sur la durée d’activité peut être utilisée telle quelle. Sur une machine à démarrage rapide, elle détecte correctement que le noyau n’a pas été redémarré.

Même lorsqu’un redémarrage fait disparaître un problème, obtenez la vérification de reproduction et la corroboration des journaux de 4.1 avant de le refléter dans les procédures ou les paramètres. Si un redémarrage ne le corrige pas, poursuivez des causes autres que le démarrage rapide. Voir aussi « L’arrêt de Windows vu depuis l’application » pour la relation entre les mises à jour et les applications de PC d’équipement.3

9. Synthèse

Le point à retenir est qu’un « Arrêter » avec le démarrage rapide activé est une coupure d’alimentation du point de vue de l’utilisateur, pas une opération qui reconstruit tout l’état de Windows. Les applications et la session utilisateur sont fermées, mais le noyau, les pilotes et les services de la session 0 sont enregistrés et restaurés.52

Sur un PC avec le démarrage rapide désactivé, ou sans fichier de mise en veille prolongée, un « Arrêter » normal ferme aussi la session noyau et entre en S5.

Pour réinitialiser une fois, choisissez Redémarrer ; pour terminer complètement et aussi couper l’alimentation, choisissez shutdown /s /t 0. Ne concluez pas la cause simplement parce qu’un redémarrage l’a corrigé ; corroborez avec une vérification de reproduction, l’événement 27 et les journaux environnants.19

Le fait de désactiver le démarrage rapide se décide selon si la machine suppose une initialisation et si un autre OS modifie le même volume. Pour ce dernier, des contre-mesures pour la mise en veille prolongée explicite sont aussi nécessaires. Si WOL est l’objectif, reconsidérez l’état d’attente plutôt que de basculer le paramètre.17204

Articles connexes

Domaines de conseil associés

KomuraSoft LLC prend en charge la conception de normes de provisionnement qui incluent l’exploitation de l’alimentation des PC d’équipement et des terminaux kiosque (arrêt, veille, mise en veille prolongée et Wake on LAN), l’investigation des causes des problèmes d’applications de longue durée tels que « seul un redémarrage le corrige » et « ça s’était arrêté le matin », et la revue de conception de la gestion des événements d’alimentation dans les services Windows et les applications résidentes. N’hésitez pas à partir d’un cas unique tel que « la durée d’activité ne redescend pas alors que nous arrêtons chaque nuit ».

Références

  1. Microsoft Learn, Fast startup causes hibernation or shutdown to fail in Windows 10 or Windows 8.1. Sur le fait que le démarrage rapide met la session noyau en veille prolongée au lieu de la fermer et enregistre la session noyau et les pilotes de périphérique dans hiberfil.sys ; qu’un redémarrage exécute un cycle de démarrage complet ; que le paramètre de démarrage rapide ne s’applique pas aux redémarrages ; qu’il est activé par défaut et que la désactivation n’est pas recommandée ; que Shutdown /s /t 0 est un arrêt complet par défaut et que /hybrid le rend hybride ; et que le système revient à l’écran de verrouillage avec l’identifiant d’événement 45 consigné lorsque l’initialisation de la configuration du vidage mémoire échoue pendant la mise en veille prolongée, avec DumpFilters comme endroit à vérifier.  2 3 4 5 6 7 8 9 10 11

  2. Microsoft Learn, Delivering a great startup and shutdown experience. Sur le fait que le scénario d’arrêt et de redémarrage par défaut depuis Windows 8.x s’appelle démarrage rapide, déconnecte toutes les sessions utilisateur (« session 1 » dans la terminologie du document) et écrit le reste dans le fichier de mise en veille prolongée ; que le démarrage charge l’état initialisé depuis le fichier de mise en veille prolongée au lieu d’un démarrage complet ; que le noyau, les pilotes et les services sont enregistrés et restaurés plutôt que redémarrés lors d’un arrêt déclenché par l’utilisateur, de sorte que la durée d’activité entre les redémarrages du noyau peut être nettement plus longue qu’auparavant ; que les fuites de mémoire dans les pilotes et les services doivent être surveillées ; que la lecture et l’écriture du fichier de mise en veille prolongée représentent environ 50 % du temps de démarrage ; et sur le tableau du comportement des API d’arrêt (InitiateSystemShutdownEx et InitiateSystemShutdown toujours arrêt complet, InitiateShutdown avec SHUTDOWN_HYBRID et ExitWindowsEx avec EWX_HYBRID_SHUTDOWN pour un arrêt de démarrage rapide).  2 3 4 5 6 7 8 9 10

  3. Microsoft Learn, Updates may not be installed with Fast Startup in Windows 10. Sur le fait que les mises à jour ne sont parfois pas installées après un arrêt lorsque le démarrage rapide est activé, ce qui ne se produit pas avec un redémarrage ; que certaines mises à jour ne se terminent que dans un démarrage qui suit un arrêt complet ; qu’il faut choisir « Redémarrer » dans le menu d’alimentation pour terminer les mises à jour en attente ; et que le retard dans les environnements Configuration Manager a été traité dans Configuration Manager 2002 et Windows 10 21H1.  2 3 4

  4. Microsoft Learn, Wake on LAN (WOL) behavior in Windows 10. Sur le fait que l’arrêt par défaut sous Windows 7 était S5, WOL depuis S5 n’étant pas officiellement pris en charge bien que certains modèles se réveillent sur alimentation résiduelle ; que l’arrêt par défaut sous Windows 10 est un arrêt hybride (S4), WOL depuis S4 et S5 n’étant pas pris en charge et l’adaptateur réseau n’étant pas explicitement armé pour le réveil ; que WOL n’est pris en charge que depuis la veille (S3) ou une mise en veille prolongée (S4) explicitement choisie par l’utilisateur ; que Windows désactive explicitement WOL seulement lors de la transition vers un arrêt hybride et pas lors de la transition vers la mise en veille prolongée ; sur certains modèles dont le micrologiciel et le matériel prennent en charge le réveil depuis S4/S5, auquel cas Windows n’est pas impliqué ; sur la procédure de désactivation en décochant « Activer le démarrage rapide (recommandé) » sous « Options d’alimentation » > « Choisir l’action des boutons d’alimentation » du Panneau de configuration ; et sur le fait que la désactivation n’est pas recommandée.  2 3 4 5 6 7

  5. Microsoft Learn, Distinguishing fast startup from wake-from-hibernation. Sur les trois modes de démarrage, à froid, reprise depuis la mise en veille prolongée, et rapide (introduit dans Windows 8) ; sur le fait qu’un démarrage à froid charge le noyau, énumère les périphériques et charge les pilotes, tandis que le démarrage rapide ne lit que le fichier de mise en veille prolongée ; sur la préparation au démarrage rapide consistant à fermer les applications, déconnecter toutes les sessions utilisateur, envoyer aux pilotes l’IRP d’alimentation pour se préparer à la mise en veille prolongée, et enregistrer l’image mémoire du noyau y compris les pilotes en mode noyau dans hiberfil.sys avant de couper l’alimentation ; sur le fait de distinguer les deux avec TargetSystemState et EffectiveSystemState de SYSTEM_POWER_STATE_CONTEXT ; sur le fait que le pilote NDIS désactive la capacité de réveil du miniport pour le démarrage rapide mais pas pour une reprise depuis la mise en veille prolongée ; et sur le fait que les pilotes qui configurent différemment pour un démarrage à froid et une reprise depuis la mise en veille prolongée configurent comme pour un démarrage à froid après un démarrage rapide.  2 3 4 5 6 7 8

  6. Microsoft Learn, System power states. Sur le fait que le démarrage rapide est un type d’arrêt qui déconnecte l’utilisateur avant de créer le fichier de mise en veille prolongée ; que le système semble à l’utilisateur être en S5 tout en passant réellement par S4, la réponse aux alarmes de réveil des périphériques suivant ; que le contenu de la session 0 est écrit sur le disque ; sur les deux types de fichier de mise en veille prolongée, complet (40 % par défaut) et réduit (20 % par défaut, démarrage rapide seulement), et la sortie différente de powercfg /a pour chacun ; sur le fait d’exécuter /size 0 d’abord lorsque /type reduced échoue ; sur le fait que le démarrage rapide est le défaut lorsqu’un arrêt est demandé, tandis qu’une demande de redémarrage et une application appelant une API d’arrêt aboutissent à un arrêt complet (S5) ; sur le fait que les applications, services et pilotes sont notifiés à l’entrée en mise en veille prolongée et que les pilotes et services sont restaurés à leur état d’avant la mise en veille prolongée plutôt que redémarrés à la reprise ; et sur SHUTDOWN_HYBRID pour InitiateShutdown et EWX_HYBRID_SHUTDOWN pour ExitWindowsEx 2 3 4 5 6 7 8 9 10

  7. Microsoft Learn, Per-user services in Windows. Sur le fait que les services par utilisateur sont créés lorsqu’un utilisateur se connecte et arrêtés et supprimés lorsque l’utilisateur se déconnecte.  2

  8. Microsoft Learn, Optimizing Performance and Responsiveness. Sur le fait que le démarrage rapide, introduit dans Windows 8, est le comportement de démarrage par défaut, le processus d’arrêt étant mis à jour pour écrire les données sur le disque de la même façon que la mise en veille prolongée ; que le démarrage passe par les phases d’initialisation du BIOS, lecture du fichier de mise en veille prolongée, reprise des périphériques, reprise de Winlogon, initialisation d’Explorer et Post On/Off ; et que le fichier de mise en veille prolongée contient tout le contexte système écrit à l’arrêt. 

  9. Microsoft Learn, shutdown. Sur le fait que /s arrête l’ordinateur ; que /hybrid est l’option qui arrête l’appareil et le prépare au démarrage rapide, utilisée en combinaison avec /s ; que /g arrête complètement puis redémarre, en reprenant les applications enregistrées si Automatic Restart Sign-On est activé ; et que le défaut de /t est 30 secondes, 0 étant autorisé.  2 3

  10. Microsoft Q&A, why is Task Host preventing shutdown?. Sur le fait que la réponse de support explique que sélectionner « Arrêter » tout en maintenant la touche Maj sur le Bureau ou l’écran de connexion désactive temporairement le démarrage rapide pour cette seule fois et effectue un arrêt complet (une réponse de support communautaire, pas une référence officielle). 

  11. Microsoft Learn, InitiateSystemShutdownExA function (winreg.h). Sur le fait que le système redémarre immédiatement après l’arrêt lorsque bRebootAfterShutdown est TRUE, et vide les caches sur le disque et coupe l’alimentation en toute sécurité lorsqu’il est FALSE ; et que l’arrêt du PC local exige le privilège SE_SHUTDOWN_NAME sur le thread appelant, qu’un utilisateur connecté peut activer par défaut.  2 3

  12. Microsoft Learn, WMI Tasks: Desktop Management. Sur le fait d’obtenir la durée d’activité d’un ordinateur en soustrayant la propriété LastBootUpTime de la classe Win32_OperatingSystem de l’heure actuelle. 

  13. Microsoft Learn, Get-Uptime. Sur le fait que l’applet de commande a été introduite dans PowerShell 6.0 et calcule le temps depuis le dernier démarrage de l’OS à partir du minuteur haute résolution (nombre de ticks depuis le démarrage du système), de sorte que la valeur peut différer légèrement de celle dérivée de LastBootUpTime de Win32_OperatingSystem de WMI. 

  14. Microsoft Learn, Ethernet. Sur le fait que le comportement d’arrêt par défaut est un arrêt hybride (S4) ; que la carte réseau n’est pas armée pour le réveil et que le réveil distant n’est pas pris en charge tant dans un arrêt hybride (S4) que dans un arrêt complet (S5) ; et que WOL n’est pris en charge que depuis la veille (S3) ou la mise en veille prolongée (S4). 

  15. Microsoft Learn, Modern Standby Wake Sources. Sur le fait que les PC Modern Standby restent connectés au réseau (Wi-Fi, haut débit mobile, Ethernet) à basse consommation même avec l’écran éteint ; que les périphériques Wi-Fi, Ethernet et MBB fournissent une connectivité continue et servent de sources de réveil ; que le Bureau à distance et le partage de fichiers peuvent réveiller le SoC sur une connexion Ethernet ; et que de nombreuses sources de réveil sont désactivées sous Windows 11 version 24H2 et ultérieure lorsque une consommation excessive de la batterie est détectée.  2

  16. Microsoft Learn, Wake On LAN for Surface devices. Sur le fait que Wake on LAN fonctionne par défaut sur les appareils Surface pendant Modern Standby depuis Windows 10 version 1607, et que le réveil depuis la mise en veille prolongée (S4) ou l’arrêt (S5) exige une prise en charge côté dock telle que Surface Dock 2. 

  17. Microsoft Learn, Hibernate Once/Resume Many (HORM). Sur le fait que la valeur de Registre qui désactive le démarrage rapide est HiberbootEnabled (DWORD, 0 pour désactivé, 1 pour activé) sous HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power, et que powercfg /h off, qui désactive la mise en veille prolongée, supprime hiberfil.sys.  2 3

  18. Microsoft Learn, Policy CSP - ADMX_WinInit. Sur le fait que la stratégie « Exiger l’utilisation du démarrage rapide » (Hiberboot, WinInit.admx, Configuration ordinateur > Système > Arrêt) contrôle l’utilisation du démarrage rapide, que le système exige que la mise en veille prolongée soit activée lorsqu’elle est Activé, et que le paramètre local est utilisé lorsqu’elle est Désactivé ou Non configuré ; que la clé de Registre est Software\Policies\Microsoft\Windows\System avec le nom de valeur HiberbootEnabled ; et qu’elle est configurable depuis Intune comme ./Device/Vendor/MSFT/Policy/Config/ADMX_WinInit/Hiberboot 2 3

  19. Microsoft Learn, How to troubleshoot unexpected reboots by using the system event logs. Sur le fait que l’identifiant d’événement 1074 consigne le processus, l’utilisateur, le motif et le type d’arrêt qui l’a demandé, et que 41 et 6008 indiquent un arrêt inattendu. 

  20. Microsoft Learn, How to disable and re-enable hibernation on a computer that is running Windows. Sur les procédures powercfg.exe /hibernate off et on ; sur le fait que la veille hybride ne fonctionne plus lorsque la mise en veille prolongée est désactivée ; et sur le fait que hiberfil.sys est un fichier système caché à la racine du lecteur où l’OS est installé, à peu près de la même taille que la RAM, sans lequel l’ordinateur ne peut pas se mettre en veille prolongée.  2

  21. Microsoft Learn, Powercfg command-line options. Sur /hibernate on / off ; sur le fait que /size spécifie la taille du fichier de mise en veille prolongée en pourcentage de la mémoire ; sur le fait que /type reduced | full spécifie le type de fichier de mise en veille prolongée, un fichier réduit ne prenant en charge que hiberboot ; et sur le fait qu’un HiberFileSizePercent de 40 ou plus est traité comme un fichier de mise en veille prolongée complet, de sorte que /size 0 doit être exécuté d’abord pour passer à réduit. 

  22. Microsoft Learn, InitiateShutdownA function (winreg.h). Sur le fait que Windows 8 et ultérieur spécifie SHUTDOWN_HYBRID en combinaison avec un ou plusieurs drapeaux de la même table (la combinaison avec SHUTDOWN_POWEROFF étant la coupure d’alimentation pour le démarrage rapide, SHUTDOWN_RESTART un redémarrage, et SHUTDOWN_NOREBOOT n’arrêtant que sans couper l’alimentation), et que l’arrêt est toujours un arrêt système complet sans SHUTDOWN_HYBRID 2

  23. Microsoft Learn, ExitWindowsEx function (winuser.h). Sur le fait que EWX_HYBRID_SHUTDOWN est un drapeau, disponible sous Windows 8 et ultérieur, qui se combine avec EWX_SHUTDOWN pour demander un arrêt préparé pour le démarrage rapide ; que InitiateSystemShutdown / InitiateSystemShutdownEx sont les fonctions à utiliser lorsque ce n’est pas l’utilisateur interactif ; qu’un arrêt ou un redémarrage exige que le processus appelant ait activé le privilège SE_SHUTDOWN_NAME avec AdjustTokenPrivileges ; et que EWX_SHUTDOWN n’arrête le système que jusqu’à un point où l’alimentation peut être coupée en toute sécurité, EWX_POWEROFF étant ce qui coupe l’alimentation.  2 3 4

  24. Microsoft Learn, Suspend Services Duration. Sur le fait que tous les services enregistrés pour recevoir les événements de gestion de l’alimentation (SERVICE_ACCEPT_POWEREVENT) reçoivent la notification de suspension ; que les notifications sont envoyées en série avec un délai d’expiration de 30 secondes appliqué par service ; et que le démarrage rapide est le même que la mise en veille prolongée du point de vue d’un service.  2

  25. Microsoft Learn, SERVICE_STATUS structure (winsvc.h). Sur le fait que seuls les services qui définissent SERVICE_ACCEPT_SHUTDOWN / SERVICE_ACCEPT_PRESHUTDOWN / SERVICE_ACCEPT_POWEREVENT dans dwControlsAccepted reçoivent les notifications SERVICE_CONTROL_SHUTDOWN / SERVICE_CONTROL_PRESHUTDOWN / SERVICE_CONTROL_POWEREVENT, respectivement. 

Articles récents partageant les mêmes étiquettes, pour approfondir des sujets proches.

Ces pages replacent le sujet dans un contexte plus large de services et de décisions.

Cet article est directement lié aux services suivants.

Questions fréquentes

Questions souvent posées lors d’une consultation sur le sujet de cet article.

Un problème que « Arrêter » n'a pas corrigé est parti après « Redémarrer ». Pourquoi ?
Sur les versions clientes à partir de Windows 8, un « Arrêter » dans une configuration où le démarrage rapide est activé (le défaut sur la plupart des PC qui prennent en charge la mise en veille prolongée) est un arrêt hybride. L'utilisateur est déconnecté, mais l'état du noyau, des pilotes et des services est enregistré dans le fichier de mise en veille prolongée (hiberfil.sys) et restauré tel quel au démarrage suivant. Autrement dit, le cœur de l'OS n'a pas été réinitialisé. Un « Redémarrer », en revanche, exécute toujours un cycle de démarrage complet, indépendamment du paramètre de démarrage rapide, donc un mauvais état dans les pilotes et les services est réinitialisé. Le fait qu'un redémarrage l'ait corrigé ne confirme toutefois pas la cause à lui seul. Un problème intermittent peut simplement ne pas s'être reproduit, ou le redémarrage peut avoir corrigé les choses en terminant une mise à jour en attente. Confirmez plusieurs fois que « cela se reproduit après un arrêt et ne se reproduit pas après un redémarrage », corroborez avec l'événement Kernel-Boot 27 dans le journal Système montrant que le dernier démarrage était 0x1 (démarrage rapide) et avec des enregistrements côté pilote, et seulement alors traitez l'état reporté comme la cause. Pour isoler un problème, utilisez « Redémarrer », pas « éteindre et rallumer ».
La durée d'activité dans le Gestionnaire des tâches ne s'est pas réinitialisée depuis des jours. Quelque chose est-il en panne ?
Le compteur de durée d'activité lui-même fonctionne correctement. Si vous « arrêtez » chaque nuit et que la durée d'activité continue de croître, c'est très probablement le comportement spécifié du démarrage rapide (arrêt hybride), mais un arrêt qui a échoué et n'est pas allé au bout se présente de la même façon, donc ne concluez pas « rien n'est en panne » tant que vous n'avez pas vérifié l'événement 27 et les entrées de journal environnantes décrites plus bas. La durée d'activité est le temps écoulé depuis le démarrage du noyau, et dans un arrêt hybride le noyau n'est que mis en veille prolongée et restauré, donc le compteur continue. La documentation de Microsoft indique aussi explicitement que, lors d'un arrêt déclenché par l'utilisateur, le noyau, les pilotes et les services sont enregistrés et restaurés plutôt que redémarrés, de sorte que la durée d'activité entre les redémarrages du noyau peut être nettement plus longue que sur les versions antérieures de Windows. La durée d'activité est aussi conservée à travers une reprise depuis la veille ou la mise en veille prolongée et à travers un arrêt qui n'est pas allé au bout, donc pour en être certain, confirmez avec l'événement Kernel-Boot 27 dans le journal Système que le type du dernier démarrage était 0x1 (démarrage rapide). Pour réinitialiser la durée d'activité, choisissez « Redémarrer » ou effectuez un arrêt complet avec shutdown /s /t 0.
Dois-je désactiver le démarrage rapide ?
Pas de façon uniforme. Microsoft ne recommande pas de désactiver le démarrage rapide, et sur un ordinateur portable ordinaire le démarrage plus rapide l'emporte sur les inconvénients. Le désactiver vaut la peine sur les machines exploitées dans l'hypothèse que « couper l'alimentation initialise tout », comme les PC d'équipement et les machines de test, dans les environnements à double amorçage qui partagent le même disque avec un autre OS, et sur les machines de test qui démarrent depuis un autre OS et modifient le volume (dans ce cas, désactiver seulement le démarrage rapide laisse la mise en veille prolongée explicite disponible, donc désactivez aussi la mise en veille prolongée avec powercfg /h off, ou exigez un arrêt complet avant de changer d'OS dans la procédure). Si l'objectif est de libérer de l'espace disque, désactiver le démarrage rapide ne supprime pas le fichier de mise en veille prolongée (hiberfil.sys), donc cela n'atteindra pas ce but. Pour réduire le fichier de mise en veille prolongée tout en gardant le démarrage rapide, utilisez powercfg /h /type reduced ; si vous n'avez pas du tout besoin de la mise en veille prolongée, utilisez powercfg /h off. Si vous voulez simplement « réinitialiser une fois », un redémarrage ou shutdown /s /t 0 suffit sans changer aucun paramètre.
Je ne peux pas réveiller un PC arrêté avec Wake on LAN.
Sous Windows 10/11, Wake on LAN n'est pris en charge ni depuis l'arrêt par défaut (arrêt hybride) ni depuis un arrêt complet (S5). Parce qu'un état dans lequel l'utilisateur a ordonné un arrêt est censé consommer zéro énergie, Windows n'arme pas l'adaptateur réseau pour le réveil. Wake on LAN est disponible depuis la veille (S3) ou lorsque l'utilisateur a explicitement choisi la mise en veille prolongée (S4). Un arrêt hybride est aussi S4 en réalité, mais Windows désactive explicitement Wake on LAN seulement lors de la transition vers un arrêt hybride. Pour une machine que vous voulez réveiller pendant la nuit pour des mises à jour, exploitez-la en « Veille » ou « Mise en veille prolongée » plutôt qu'« Arrêter », ou vérifiez les fonctions de réveil du micrologiciel. Sur les machines Modern Standby (S0 low-power idle), qui n'ont pas de S3, le réseau peut être une source de réveil même pendant la veille, mais le fait que la machine puisse réellement être réveillée dépend de la carte réseau, du micrologiciel, des conditions d'alimentation et de l'implémentation de l'OEM, donc vérifiez sur la machine réelle avant de l'intégrer à l'exploitation.
J'ai choisi « Mettre à jour et arrêter » dans Windows Update, mais la mise à jour n'est toujours pas terminée au démarrage suivant.
La documentation de support de Microsoft indique explicitement que certaines mises à jour ne peuvent se terminer que dans un démarrage qui suit un arrêt complet, et peuvent ne pas se terminer lorsque le démarrage passe par le démarrage rapide (mise en veille prolongée). Lorsque vous voulez qu'une mise à jour se termine à coup sûr, choisissez « Mettre à jour et redémarrer ». Dans les environnements gérés par Configuration Manager, ce retard a été amélioré dans Configuration Manager 2002 et Windows 10 21H1.
Notre application métier interne appelle shutdown. Quelle API donne un arrêt complet ?
InitiateSystemShutdownEx et InitiateSystemShutdown ne deviennent jamais hybrides : avec bRebootAfterShutdown à FALSE elles coupent l'alimentation (arrêt complet), et avec TRUE elles redémarrent. InitiateShutdown effectue un arrêt pour le démarrage rapide seulement lorsque le drapeau SHUTDOWN_HYBRID est combiné avec SHUTDOWN_POWEROFF (combiné avec SHUTDOWN_RESTART il redémarre, et SHUTDOWN_NOREBOOT n'arrête le système que sans couper l'alimentation), et ExitWindowsEx seulement lorsque EWX_HYBRID_SHUTDOWN est combiné avec EWX_SHUTDOWN (EWX_HYBRID_SHUTDOWN n'est pas spécifié seul). Si votre application implémente le bouton « couper l'alimentation » d'un PC d'équipement, appelez InitiateSystemShutdownEx avec bRebootAfterShutdown = FALSE, ou appelez ExitWindowsEx avec EWX_POWEROFF seulement (sans EWX_HYBRID_SHUTDOWN ; EWX_SHUTDOWN n'arrête le système que jusqu'à un point où l'alimentation peut être coupée en toute sécurité et ne coupe pas l'alimentation), et vous obtenez un arrêt complet indépendamment du paramètre (les deux supposent que le privilège SE_SHUTDOWN_NAME a été activé avec AdjustTokenPrivileges : ExitWindowsEx sur le jeton du processus, InitiateSystemShutdownEx sur le jeton effectif du thread appelant ; s'il reste désactivé, l'appel échoue). En ligne de commande, shutdown /s /t 0 est un arrêt complet par défaut et ne devient hybride que lorsque /hybrid est ajouté.

Profil de l’auteur

Page de présentation de l’auteur de l’article.

Go Komura

Représentant de KomuraSoft LLC

Spécialisé dans le développement de logiciels Windows, le conseil technique et l’analyse de pannes, notamment pour les systèmes existants et les incidents difficiles à reproduire.

Retour au blog