181 votes

Comment puis-je faire en sorte que Windows se bloque (gèle) ?

J'ai besoin de tester le comportement de l'équipement dans le cas où Windows dur se bloque/se fige (par exemple, écran figé, pas de clignotement des DEL, pas de réaction aux entrées, notamment Ctrl+Alt+Del etc.). Afin d'avoir suffisamment d'expériences dans un temps raisonnablement court, je dois initier ces suspensions de manière programmatique ou autre.

Je suis intéressé par Windows 10 en particulier, mais toute méthode de travail pour d'autres versions est appréciée.

Toutes les recherches que j'ai effectuées sur ce sujet m'ont amené, sans surprise, à des discussions sur la manière de éliminer ces situations, et non les provoquer. La question peut donc sembler assez étrange.

Retour d'information : J'ai essayé plusieurs des recettes proposés dans les réponses et les commentaires. Tout d'abord, je ne m'intéressais pas aux crashes qui entraînent des BSoD (c'est pourquoi j'ai décrit un freeze, pas un crash).

Je dois avouer que Windows 10 64-bit a montré une bonne résistance à plusieurs de ces moyens. Il fait face à presque tous les Charge du CPU (y compris bombe à fourche , boucles, etc.) assez bien. Les méthodes qui provoquent des erreurs immédiates (la plupart des méthodes de suspension de NotMyFault) sont gérées par le système d'exploitation avec un redémarrage ou un arrêt (ce qui n'est pas ce que je recherchais). Les meilleurs résultats ont été obtenus par fuite de mémoire méthodes de NotMyFault - un vrai gel sans possibilité de redémarrage.

Enfin, j'ai été impressionné par la quantité de documentation de Microsoft qui parle du gel de Windows. On dirait qu'ils connaissent bien mieux cette partie que l'inverse (combattre les gels) ;-)

230voto

duenni Points 2189

Peut-être que ceci peut aider : Forcer un arrêt du système à partir du clavier

Avec les claviers USB, vous devez activer le crash initié par le clavier dans le dans le registre. Dans la clé de registre HKEY_LOCAL_MACHINE \System\CurrentControlSet\Services\kbdhid\Parameters , créez une valeur appelée CrashOnCtrlScroll, et définissez-la comme étant égale à une valeur valeur REG_DWORD de 0x01.

Vous devez redémarrer le système pour que ces paramètres prennent effet.

Une fois cette opération terminée, le crash du clavier peut être initié en utilisant la séquence de touches de raccourci suivante : Maintenez enfoncée la touche CTRL la plus à droite, et appuyez deux fois sur la touche SCROLL LOCK.

Ou tu pourrais lancer une bombe à fourche : voir cette question SO

Il y a également NotMyFault

Notmyfault est un outil que vous pouvez utiliser pour planter, bloquer et provoquer des fuites de mémoire du noyau sur votre système Windows. Il est utile pour apprendre à identifier et à diagnostiquer les pilotes de périphériques et les problèmes matériels, et vous pouvez également l'utiliser pour générer des fichiers de vidage d'écran bleu sur les systèmes qui se comportent mal.

24voto

barbecue Points 1157

On dirait que vous testez la réaction d'un appareil externe à un système d'exploitation qui ne répond plus.

Si votre matériel peut être connecté à une installation Windows virtualisée, vous pouvez alors mettre en pause et reprendre la machine virtuelle autant de fois que vous le souhaitez. Installez le système d'exploitation souhaité dans un environnement VirtualBox (ou un autre environnement de virtualisation de bureau), exposez l'interface matérielle utilisée (USB, Ethernet ou autre) à la machine virtuelle.

Vous pouvez alors pause et reprise la machine virtuelle à volonté.

22voto

Martin Rosenau Points 594

Au moins sous une ancienne version de Windows (il y a quelques années), la procédure suivante fonctionnait :

J'ai écrit un programme en C avec une boucle sans fin :

while(1) {}

... puis j'ai donné à ce programme la "priorité en temps réel" dans le gestionnaire de tâches (il existe également une API qui peut le faire).

Sur un système multi-core, il faudrait que je fasse cela plusieurs fois pour qu'une boucle tourne sur chaque coeur...

10voto

Dylan McNamee Points 473

Le blocage le plus fort du noyau (c'est-à-dire aucun suivi de la souris, etc.) se produit lorsque le code entre dans une boucle infinie en mode noyau avec les interruptions désactivées.

Il est possible d'y parvenir avec un pilote de périphérique, et mieux encore, vous pouvez écrire le pilote de manière à ce qu'il démarre et arrête le hang sous votre contrôle (en supposant que la boucle infinie teste la condition dont vous avez le contrôle).

La façon d'écrire et d'installer ce pilote serait le sujet d'une autre question ou de trois, mais c'est l'approche que j'adopterais.

8voto

Ralf Points 279

Veuillez consulter la question suivante sur StackOverflow qui est similaire à la vôtre : Comment faire en sorte que Windows se fige pendant une courte période de temps ?

En résumé, il n'y a aucun moyen de le faire (de manière fiable).

Plutôt que de geler ou de laisser Windows s'accrocher, vous pouvez peut-être simplement interrompre la communication avec votre équipement.

Je n'ai aucune idée de la nature de votre équipement et de la façon dont vous le connectez. Si c'est un adaptateur USB ou Ethernet, par exemple, vous pouvez facilement le désactiver dans le gestionnaire de périphériques ou le débrancher ? Si vous forcez le système à se planter ou à se bloquer, vous risquez d'endommager votre système de diverses manières, alors faites attention à ce que vous faites.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X