Meu palpite é que um programa / serviço foi corrompido e está sendo pego ao tentar desligar.
Seu melhor amigo aqui é o Visualizador de Eventos. Ele estará sob o System Admin Tools. Acione e procure no log do sistema. Programas mal comportados serão registrados aqui durante o desligamento.
Dê uma olhada lá.
Se isso não ajudar, a próxima coisa a fazer é fazer uma inicialização limpa descrita aqui. link
Eu iria em frente e tentaria o Fixit da Microsoft. Vale a pena tentar.
Basicamente, para fazer uma inicialização limpa, entraremos em msconfig
e desativamos todos os programas e serviços de inicialização, deixando apenas o essencial. Então você pode ativar lotes deles, digamos cinco por vez. Inicialização e, em seguida, desligamento.
Está indo devagar. Mas este é de longe o melhor método. Conselhos para a próxima vez? Restauração do sistema é seu amigo.