Se você não quiser pagar pelo spinrite, tente usar o chkdsk. Abra uma janela de comando e, no tipo de prompt: CHKDSK / R e pressione enter. Ele provavelmente pedirá para agendar uma verificação na próxima inicialização (porque a unidade está em uso), então pressione Y para concordar.
Se o Windows não carregar, você terá que obter um prompt de comando iniciando a partir de um disco de instalação regular do Vista ou do Windows 7
Depois que o chkdsk terminar, ele ainda não carregará o Windows, execute um verificador de arquivos do sistema offline
Também pode haver uma infecção no Windows causando isso, verifique se há infecções usando um CD de inicialização AV ou uma chave USB.