Newsgroup: it.comp.os.linux.sys
Titolo: Stranezza azzerando la tabella partizioni

Da una Knoppix, ho dato il comando:
#dd if=/dev/zero of=/dev/hda count=xxxx
su un vecchio hard disk ATA (Samsung spinpoint 20GB) che mi è capitato 
tra le mani ma sorprendentemente non viene scritto nulla sul disco.
Il comando termina correttamente senza messaggi o errori ma è come se 
non fosse mai stato dato, cfdisk /dev/hda e la tabella delle partizioni 
è ancora viva e vegeta.
Al che l'ho montato e ho dato:
touch /mnt/sams/file
e il file viene correttamente creato.
smartctl -t long  non evidenzia problemi, nè hdparm.
Una ricerca su google non mi ha fornito suggerimenti utili.
Qualcuno ha qualche idea?
Ciao,
Paolo

 senza rileggerla.
No, ho anche spostato il disco su un'altra macchina ma il risultato è 
sempre lo stesso (ovvero, riavviando il sistema).
Bel mistero, non riesco a trovare una spiegazione logica.
Ciao,
Paolo

 
Appunto, di norma la tabella delle partizioni viene caricata solo al
boot. Alcuni programmi (fdisk) possono forzare la rilettura, ma solo se
non ci sono partizioni montate.
-- 
Lorenzo `paulatz' Paulatto
Trieste
``Grandissima mi par l'inezia di coloro che vorrebbero che Iddio avesse
fatto l'universo più proporzionato alla piccola capacità del lor discorso.''
     --Galileo Galilei (Opere VII)

 Bel mistero, non riesco a trovare una spiegazione logica.
Per caso a livello di BIOS è abilitata la protezione del MBR?
-- 
Flavio Visentin
Membro del CICAP
Comitato Italiano per il Controllo delle Affermazioni di P4

 boot. 
Ci avevo pensato anch'io ma non è così. Riavviando non cambia...
Ciao,
Paolo

 Per caso a livello di BIOS è abilitata la protezione del MBR?
Grazie per il suggerimento ma ho verificato anche questo, niente da fare.
Vorrei consolarmi con un bel "il controller del disco è guasto" ma non 
mi spiegherei perchè non fallisce anche il touch...
Ciao,
Paolo


<troll_mode>
    Ehm... sei sicuro vero che sia /dev/hda?
</troll_mode>
Se scrivi:
dd if=/dev/zero of=/dev/hda count=1 bs=32768
e poi rileggi
dd if=/dev/hda count=1 bs=32768 | xxd
che ti dice?


 e poi rileggi
Ovviamente rileggo i valori originari; ho inviato una sequenza di 
caratteri (ABCDEFGHI...) ma non li leggo indietro, torna la spazzatura 
che rappresenta la tabella (sempre la stessa).
Che ci sia qualcosa che non va è evidente ma, lo sai bene, quando non si 
ha nemmeno una ipotesi è demoralizzante...
Ciao,
Paolo

 è ancora viva e vegeta.
La butto li`: non e` che i settori della tabella delle partizioni sono
stati rilocati dal disco in altri punti e stai sovrascrivendo settori
danneggiati?
O che magari prende la tabella delle partizioni da un'altra parte del
disco (per esempio, se hai partizioni estese, c'e` una copia della tabella
delle partizioni).
O magari il count e` troppo basso. :)
Bye.

 disco 
L'ho lasciato lì, in pasto ad un bel
dd if=/dev/zero of=/dev/hda
nudo e crudo che ovviamente è terminato con un "no space left on 
device", scritti 20GB, eccetera.
Indovina cosa è apparso appena ho inviato
sfdisk /dev/hda -l
:(
Ciao,
Paolo

 dd if=/dev/zero of=/dev/hda
Beh, adesso prova con dd if=/dev/urandom of=/dev/hda bs=512 count=1
-- 
           |Save our planet!
    Ciao   |Save wildlife!
   roberto |For your E-MAIL use ONLY recycled Bytes  !!
           |roberto poggi   
rpo...@softhome.net

 Qualcuno ha qualche idea?
Il device e' read-only. Porebbe essere:
1. jumper read-only sul device
2. il driver tratta il device come read-only
nel caso .2. cio' succede normalmente quando ci sono degli errori. un po'
come lo scsi quando mette undevice "offline".
mi e' capitata la stessa cosa oggi con una vecchia sarge non aggiornata e
disco USB e kernel 2.4.xx 
risolto aggiornando tutto e mettendo il kernel 2.6 che nel mio caso tratta
un po' meglio le periferiche USB.
ah, va da se' che avevo errori a non finire nei log kernel.
ciao!
 Andrea

 2. il driver tratta il device come read-only
In realtà una leggerezza io l'ho commessa: quando ho montato il disco e 
ho creato un file con touch, non mi sono accertato con sicurezza del 
fatto che il file risiedesse effettivamente sul disco; in realtà 
rileggevo il contenuto in memoria (bastava anche semplicemente riavviare).
In effetti, riavviando, il file non esiste.
L'intero hard disk è readonly, questo è l'unico dato di fatto.
Ora, questo dispositivo non prevede jumper readonly, il mount segnala 
correttamente la possibilità di lettura/scrittura (rw) ed errori nei log 
non ne appaiono, nè tantomeno nel dmesg.
In preda alla disperazione ho provato il disco su quattro diverse 
macchine con sarge 2.6.8, etch 2.6.17, dapper 2.6.15 e Win2K con 
risultati identici.
Sto per issare bandiera bianca, cercando di convincermi, per esclusione, 
che potrebbe trattarsi di un guasto del controller ATA.
Ciao,
Paolo

 che potrebbe trattarsi di un guasto del controller ATA.
Suggerisco una analisi approfondita e super-verbosa di quello che dice
hdparm -I e magari quello che dice smartctl -a.
Potrebbe essere (dato che quel disco e' stato ovviamente scritto) che siano
attivi i meccanismi di sicurezza previsti in specifica ATA-6 e succ. che
prevedono read-only, crittografia, password, ecc. ecc. Non ho mai provato
direttamente causa mancanza di dischi sacrificabili :) ma probabilmente e'
quello, soprattutto se il log dello smart non evidenzia errori.
Potresti provare a formattare il disco con i tool del produttore (maxtor,
seagate, ecc) che trovi comodamente raccolti in CD su questo sito (scarica
la versione estesa): 
http://www.ultimatebootcd.com
Andrea

 Potresti provare a formattare il disco con i tool del produttore (maxtor,
Fatto, nessun risultato. L'operazione termina con (apparente) successo 
ma l'effetto finale è il medesimo. gli stessi dati sono sempre lì.
Nella disperata ricerca di suggerimenti su internet ho letto della 
possibilità di rendere un disco fisicamente di sola lettura alterando la 
connessione di un pin (!WR) del cavo piatto e utilizzando una resistenza 
di pull-up.
Voglio immaginare che sia accaduto qualcosa di equivalente sullo 
stampato del controller...
Ciao,
Paolo

 stampato del controller...
questo l'hai escluso dato che il disco ti fa il problema su macchine
diverse; tra l'altro se non funzionasse la lineaa WR, fallirebbeto
praticamente tutti i comandi, dato che quella serve al *bus* per funzionare
e non per *scrivere i dati sul disco* come era per i vecchi st-506.
ciao
 Andrea