Bom dia,
Entendendo que opções como inicialização em modo seguro com e sem rede, sfc /scannow,chkdsk /r /p e etc você já tenha utilizado, você pode ainda fazer uso de ferramentas como ProcessXP ou ProcMon que são ferramentas bem dedutivas do SysinternalsSuite disponível
em https://docs.microsoft.com/en-us/sysinternals/downloads/sysinternals-suite, você poderá acompanhar com bom nível de granularidade os processos em execução na máquina assim como seu proprietário e consumo de recursos entre outros.
Se for o caso, você pode coletar os logs de desempenho através de ids de evento conhecidas como por exemplo a 10016 que faz referência a "freezes" do sistema, ou o 1002 que também faz referência a freeze/crash (AppHangB1) assim como o 1033 entre outros
e postar aqui informando sua versão de S.O e sua Build para que o acompanhemos.
Atenciosamente,
Márcio Tadeu