Deteção de problemas no disco rígido

Uma das peças mais frágeis que constituem o computador pessoal é o disco rígido, por isso, é expectável que quando um disco rígido não se encontra em perfeito estado, que o desempenho e a estabilidade do computador sejam afetados.

O disco rígido tem uma forte componente mecânica, como tal, as peças estão sujeitas a desgaste por uso. Para além do desgaste existe também o fator da densidade, ou seja, a capacidade de armazenamento dos dados aumentou sem que o tamanho físico do disco aumentasse, fazendo com que as operações de leitura e de escrita tenham de ser muito mais precisas (o que na maior parte das vezes nos equipamentos modernos acontece).  Se juntarmos estes dois fatores de instabilidade ao fato do sistema operativo necessitar constantemente de ler e escrever informação de/para o disco, obtemos uma forte dependência entre a estabilidade  do sistema operativo e o funcionamento do disco.

Dada a arquitetura e o modo de funcionamento dos discos rígidos não é fácil determinar quando é que um disco vai falhar, por isso é muito importante estar atento aos sintomas que podem ser tão vagos como:

  • Sistema operativo deixa de arrancar
  • Durante o processo de arranque do computador surgem mensagens relacionadas com falta de ficheiros ou entradas de registo corrompidas
  • Lentidão excessiva
  • Sistema operativo deixa de responder a efetuar algumas tarefas e depois aparentemente retoma
  • Ouvem-se barulhos (tipo cliques ou estalidos) quando o disco se encontra em funcionamento

Tirando o último sintoma referido, os restantes podem ser perfeitamente provocados por outras situações não relacionadas com o disco, por isso, infelizmente, o método mais eficaz para determinar o estado físico é monitorizar o estado do mesmo.

 

 

Como é que se pode monitorizar o estado físico de um disco?

É possível obter o estado físico do disco “pedindo” à controladora do disco que nos devolva o seu estado ou monitorizando os eventos que a controladora do disco vai passando para o sistema operativo. O “problema” destas duas opções são não serem evidentes como é que se realizam e no caso específico da segunda, a morosidade da pesquisa no Visualizador de Eventos por erros relacionados com o disco ou controladora do disco.

Neste artigo vou mostrar como é que com simples linhas de comando (em PowerShell) se consegue obter esta informação sem recorrer a software externo.

O primeiro passo é lançar o PowerShell, para tal basta efetuar:

  • Clicar em “Iniciar” e escrever “PowerShell”

Para saber se o que é que a controladora do disco está a dizer ao sistema operativo relativamente ao seu estado, deve executar-se na linha de comandos do PowerShell o seguinte:

 

(Get-WmiObject win32_diskdrive).status

 

Se o resultado for diferente de “OK” então é porque a controladora está a dizer que está a detetar demasiados erros ou que o disco em breve vai falhar.

Se não for devolvido nenhum resultado pela execução do comando então é porque a controladora não está a devolver informação SMART ou então o disco não suporta SMART.

Os valores possíveis, segundo a documentação da Microsoft, são “OK”, “Error”, “Degraded”, "Unknown", "Pred Fail", "Starting", "Stopping", "Service", "Stressed", "NonRecover", "No Contact" e "Lost Comm".

 

blog040

Exemplo da execução quando não existem erros a reportar por parte da controladora

 

Para saber se já existem eventos registados no sistema operativo que evidenciem problemas no disco, deve executar-se na linha de comandos do PowerShell a seguinte instrução:

 

Get-EventLog -LogName System –InstanceId 3221487627 -ea 0 | ForEach-Object { $_.ReplacementStrings[0] } | Group-Object -NoElement | Sort-Object Count -Descending

blog041

Exemplo da execução quando não existem erros

 

blog042

Exemplo da execução num computador cujo disco apresenta bastantes erros

 

Podemos ainda usar o PowerShell para obter a opinião do sistema operativo sobre a necessidade ou não de se desfragmentar o disco. Para isso basta executar a seguinte instrução:

 

(Get-WmiObject win32_volume -filter "drivetype=3").DefragAnalysis().DefragRecommended

blog043

Exemplo da execução num computador no qual o sistema operativo diz não existir a necessidade de se efetuar a desfragmentação do disco

 

Utilizando ainda o WMI podemos questionar o sistema operativo sobre se a controladora do disco informou o sistema operativo que está prestes a falhar. A execução deste comando perde um pouco a sua importância porque o próprio sistema operativo quando a controladora se encontra neste esta, informa o utilizador. Existem ainda BIOS que durante o arranque efetuam este mesmo teste e têm a capacidade de informar o utilizador. Para obter esta informação basta, uma vez mais na linha de comandos PowerShell, executar o seguinte:

 

Get-WmiObject -Namespace root\wmi -Class MSStorageDriver_FailurePredictStatus -property PredictFailure

 

Se o resultado for diferente de “False” é porque o disco se encontra com sérios problemas e como tal a primeira coisa que deve ser feita é uma cópia de segurança atual aos dados que interessam preservar pois dificilmente vão conseguir ver várias vezes esta mensagem.

blog044

Exemplo da execução num computador cuja controladora não prevê nenhuma falha do disco

 

 

Onde é que encontro o PowerShell para executar estas instruções?

O Windows PowerShell é um componente do Windows que vêm incluído no sistema operativo desde o Windows Vista e Windows 2008 Server, no entanto é possível instalar o PowerShell num Windows XP ou Windows 2003 , para isso basta descarregar e instalar o Windows Management Framework.

A página  que contem as hiperligações necessárias para os sistemas operativos Windows XP, Vista, 2003 e 2008 encontra-se em http://support.microsoft.com/kb/968930

Se o sistema operativo for Windows Server 2008 ou Windows Server 2008 R2 poderá ser necessário ativar o Windows PowerShell. Os passos para o fazer são os seguintes:

Na consola de gestão Server Manager clicar em “Features” | “Add Feature”. Na janela de funcionalidades ativar o “Windows PowerShell Integrated Scripting Environment (ISE)

blog045

Imagem da consola de gestão do Windows Server 2008 R2 para adicionar a funcionalidade Windows PowerShell

 

 

Notas:

Nenhuma das instruções tem mais do que uma linha, apesar de visualmente aparentarem, por isso sugiro que copiem e colem diretamente a instrução na consola do PowerShell.

A dificuldade em detetar com antecedência problemas no disco rígido não está de forma alguma relacionada com o sistema operativo, ou seja, o Windows não é pior nem melhor que os outros. A verdadeira causa desta incerteza prende-se com o fato de os fabricantes de discos rígidos não disponibilizarem mais informação e informação mais concreta sobre o real estado do disco.

4 thoughts on “Deteção de problemas no disco rígido

  1. Oi, assim o meu notebook esta lento , o wifi não entra e dá uma mensagem dizendo que há um problema no disco rigido , recentemente ele caiu no chão será por isso que ele está assim?

    • Olá,

      Não pode haver certezas absolutas, mas tipicamente a queda do computador é prejudicial ao disco rígido, principalmente se o computador estiver ligado.
      Apesar dos discos rígidos magnéticos estarem presentes na maioria dos computadores portáteis os mesmo não foram feitos sequer para serem transportados em funcionamento daí ser vulgar os discos dos portáteis avariarem facilmente. A solução mais indicada para quem necessita de transportar o computador ligado ou trabalhar em locais pouco estáveis são é usar discos de memória sólida. Se quiseres saber mais sobre este assunto, recomendo a leitura do artigo https://ojmoura.wordpress.com/2011/09/19/unidades-de-memria-slida-solid-state-drive-sdd/

  2. eu tenho um portatil toshiba e desde ontem que nao arranca.
    apenas aparece o logo da toshiba e depois o ecrã fica preto com um traço branco no canto superior esquerdo.Sera algum problema do disco?

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s