Páginas

quarta-feira, 9 de maio de 2007

Sobre zerar discos ou HD's

Hoje no mail do Digest vi que o Danilo Oliveira tem problemas com um HD de 8 gigas, dando consecutivamente erros do género de «Buffer I/O error on dev sda1, logical block 1». Ora eu já tive erros semelhantes a esses ao utilizar discos de 8 gigas e de 20 gigas.

A história é breve, após ter adquirido um disco de 120 gigas, e de ter instalado o XP no disco de 120 gigas, comecei a experimentar distribuições de linux no disco de 8 gigas Seagate, pois que o disco de 20 gigas [Matrox] apareciam constantemente esses erros, não deixando sequer arrancar os Lives CD's.

Esta situação fez-me levar o pc à uma loja onde a funcionária me disse, isso é a geometria do disco que está alterada. Tendo me referido que um zero fill costuma resovler a situação. Ou então uma formatação em assembler com meia dúzia de instruções também costumam, recolocar a geometria das cabeças dos HD's.

Porém, o Zero Fill, não existia na loja, e as disquetes de assembler, só o dono é que sabia onde estavam, e de qualquer forma teriam que procurar na net, o dito conjunto de instruções para corrigir o «raio da geometria....» Ora disquetes com velhos MS-DOS de arranque e de instalação tenho eu várias, algumas em CD's arrumados num caixote, mas as diquetes do velho MS-DOS 6.2 na sua versão inglesa, está mesmo à mão de semear, pois que sempre a deixei por perto, não fosse necessitar de arrancar o sistema por disquete, como me aconteceu num PCK Easy que resolvia ter umas manias esquisitas de encravar, tendo eu que fazer o rearranque via drive A)

Ora este fenómeno nestes velhos discos rígidos só se passaram após ter instalado o Caixa Mágica, e em seguida ter instalado em cima do Caixa Mágica o Fedora 3, tendo os discos começado com as manias esquisitas do I/O error.

Ora uma busca por formatar o disco definitivamente era a solução, pois que só precisava de meia dúzia de linhas, já que não estava para ter o trabalho de fazer contas de cabeça, e dado que a minha profissão não é propriamente de técnico de computadores, precisava de algo que não me desse muito trabalho e que funcionasse e que talvez de alguma forma, fizesse voltar à vida tanto o Seagate como o Matrox.

Ora a busca levou-me ao site brasileiro www.guiadohardware.net, onde efectivamente encontrei os comandos para zerar os discos rígidos.

Tal como é referido no site:

Como zerar a trilha zero. Fazendo Isso o HD fica como se fosse Novinho em folha vindo de fábrica

Faça o seguinte:
No Win98SE reinicie como DOS e entre no debug (só digitar debug).
ai faça o seguinte:
Lembrando q [ENTER] é pra vc teclar enter, e deve respeitar os espaços entre os comandos.

Código:

-F200 L200 0 [ENTER]
-A100 [ENTER]
-MOV AX,301 [ENTER]
-MOV BX,200 [ENTER]
-MOV CX,1 [ENTER]
-MOV DX,80 [ENTER]
-INT 13 [ENTER]
-INT 3 [ENTER]
-[ENTER]
-G=100 [ENTER]
-q [ENTER]


Ora, já utilizei este procedimento para o disco de 120 gigas que começou a armar em tonto, após lhe ter instalado o Longhorn, e também o Vista, voltando novamente ao XP, pois que por vezes se tenho tempo para perder, para ver o que se passa com o SO, outras, preciso é que o PC funcione, seja em Windows seja em Linux.

A opção por sistemas em discos separados, tem-me salvo de alguns acidentes, pois que o último acidente que tive foi exactamente no meu trabalho onde o pc em que trabalho, e que tinha um só disco rígido albergava os dois sistemas operativos, XP e Ubuntu, ficou com o XP senão completamente impossível de trabalhar, ou pelo menos muito perto disso, refira-se que o pc em que trabalho está ligado em rede com uma série de outros pc's, porém a única coisa que partilho efectivamente é a net. Mas a firewall e o Admnistrador de Sistema foram-se completamente à vida, o sistema entrou em crise, o Nero deixou de funcionar, e finalmente o trabalho que estava lá, teve todo que ser gravado via Ubuntu.

Depois de resolver esta situação resolveu-se por um segundo disco, e lá foi o meu velho HD de 8 gigas funcionar, nesse PC. entretanto o de 8 gigas foi parar às mãos de um colega que estava enrascado, e neste momento o Matrox que já tinha dito adeus, funciona com o Ubuntu sem dar qualquer erro de I/O, mas tudo isto se deve a que os discos tenham sido zerados, pelo menos durante mais uns tempos vão aguentando as cargas de trabalho ..... até ao dia......em que deixem completamente de funcionar.






8 comentários:

RedTuxer disse...

Excelente!! Vou apontar esta dica!

Cumprimentos

Joao Barros disse...

E porque nao usar algo como dd if=/dev/zero of=/dev/sda bs=512 ?
Os discos que apresentaram esses erros tinham sido formatados noutra board?

PS: nao estás a reabilitar o disco em nenhuma forma física. Estás a limpar o bootblock e a refazer as partiçoes com a bios que vai usar o disco, logo sem problemas de translaçao de cabeças, sectores, cilindros.

jotacapa disse...

È o que faz ter discos recuperados de outros pc's, pois que vou aproveitando os discos, eu e a malta toda da escola onde trabalho, recuperamos os discos de 8 gigas para testar novos linux's.

Joao Barros disse...

Entao confirma-se que os discos tinham sido formatados noutros PCs, com outras bios e outras translaçoes :P

Continuo a nao concordar o que tá no post "o Matrox que já tinha dito adeus, funciona com o Ubuntu sem dar qualquer erro de I/O, mas tudo isto se deve a que os discos tenham sido zerados" nem com "recuperamos os discos" na ultima msg.
O problema é o facto de nem todas as BIOS fazerem as translaçoes de forma igual. Limpando o disco vai somente obrigar a nova BIOS a escrever com a sua translaçao(assume-se que ela leia bem o que escreve ;) ) quando se estiver a particionar de novo o disco. Não existe nada de mágico a acontecer, nem o disco ganha novo fôlego como se pode ler várias vezes no fórum brasileiro mencionado.

jocaferro disse...

@joao
Eu também costumo zerar os discos rígidos com o comando (algo do género):
dd if=/dev/zero of=/dev/hda bs=1M
Porém acho que zero fill traduz exactamente aquilo que faz, ou seja, "zera" o disco bit a bit.
Esta é uma boa dica não só para recuperar discos com bad sectors mas também salvaguardar a radical limpeza de todos os dados que o disco contém.
Eu, como recebo alguns computadores usados, especialmente de firmas, que posteriormente dou a quem estiver interessado, com o Linux claro!, comprometo-me a que nenhum dado possa cair nas mãos de outrem.

Mas atenção. O zero fill não garante a recuperação de discos rígidos. Especialmente no caso de alguns discos xxxSCSI de servidores é melhor optar por uma formatação de baixo nível. Mas cuidado, esta formatação pode causar danos irreparáveis caso não siga os procedimentos correctos.

jotacapa disse...

Para poder responder o porquê o espaço não chega, e por isso vou mas é por um novo post.

Joao Barros disse...

O que o dd está a fazer é esse zerofill que refere :)

Excerto de[1]: Mid-level format - Note that this format is often erroneously called a low-level format.

E também não recupera discos com bad sectors. Em discos IDE essa informaçao é gravada logicamente (FAT, MFT, etc) aquando de uma formataçao. Os discos SCSI sao mais espertos. Têm sectores de reserva e quando o disco detecta um sector danificado marca-o e mapeia-o para um sector de reserva. Este processo é transparente para o OS.
Voltando aos IDE, os bad sectors nao sao recuperados, deixaram foi de ser conhecidos. Isto nao é boa noticia para futuros dados ;)

Chamo a atençao a esse dd a apagar o 1º MB do disco nao é de todo seguro, pois ainda é possivel recuperar informaçao. Digamos que ja me safei a ter de refazer uns projectos de arquitetura ;)
Boa info aqui: http://en.wikipedia.org/wiki/Data_remanence

Quase que estamos num chat aqui e como nao é o melhor método terei todo o gosto em alongar esta "conversa" no gtalk: joao.barros@mail do google.com

[1] http://shsc.info/DataRecovery#titelanker5

jotacapa disse...

pois, pois, oh, João convido-te a escrever no blog, por vezes faltam-me ideias para artigos.
Espero que o gtalk do firefox funcione.