Puede ser que tengas algunos programas que usen mucha memoria y por eso se clave
se pudiera presentar el problema que por la cantidad de procesos que tiene el equipo tarde en ejecutar el reinicio o apagado
Normalmente el SO te notifica de que hay programas que necesitan cerrarse antes del apagado.
Se puede activar un parámetro llamado "AutoEndTasks" para modificar (disminuir) el tiempo máximo de espera para cerrar todas las aplicaciones y servicios en el apagado del sistema, así que si ese fuese el problema, esto debería solucionarlo:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Control Panel\Desktop]
' Activar/desactivar AutoEndTasks
"AutoEndTasks"="1"
' AutoEndTasks: Aplicaciones
"HungAppTimeout"="2500"
"WaitToKillAppTimeout"="5000"
' AutoEndTasks: Servicios (de Microsoft)
"WaitToKillServiceTimeout"="1000"
Instrucciones: Aplica el script de registro, reinicia 1 vez para que los cambios tnegan efecto, y luego prueba a reiniciar de nuevo de esta manera.
También podría ser que tuvieras problemas con el PageFile (Cuando Windows se cierra hace cambios en el arrchivo
PageFile.sys y quien sabe...podrías tenerlo corrupto o podría tardar más de la cuenta por algún motivo quizás si has agrandado apropósito el archivo
PageFile.sys unos cuantos GB de más), así que no te vendría mal aplicar también este script, para que en el apagado no se hagan cambios en el archivo del PageFile.sys:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"ClearPageFileAtShutdown"=dword:00000000
EDITO: Creo que por defecto en una instalación limpia de Windows está desactivada la limpieza de del pagefile, pero por si acaso úsalo.
EDITO 2: O diréctamente puedes probar a desactivar el archivo de paginación de la memória virtual.
Saludos.