Utente:Microtauro/Sandbox4
Badblocks è un programma di utilità, destinato al controllo dei comuni hard disk in cerca di settori danneggiati.
Fa parte del progetto e2fsprogs e le sue funzioni possono essere richiamate anche tramite il comando e2fsck. È stato integrato nelle maggiori distribuzioni linux, ma è stato portato anche sui sistemi della famiglia *BSD.
Usi
[modifica | modifica wikitesto]Oltre che per i normali compiti di manutenzione del sistema, gli stessi svolti dallo scandisk di Microsoft Windows, questa utility può essere utilizzata anche per la formattazione del disco fisso, o più semplicemente per la distruzione sicura dei dati.
Il programma offre tre diverse modalità di scansione: lettura-scrittura distruttiva, lettura-scrittura non distruttiva, e sola lettura.
La sessione di "scandisk" può essere arrestata in modo sicuro, tenendo premuto CTRL e premendo C.
La lista nera di ogni partizione può essere visualizzata con il comando dumpe2fs -b
(potrebbero essere richiesti, anche in questo caso, i privilegi di amministratore).
Esempi
[modifica | modifica wikitesto]Il programma richiede i privilegi amministrativi: con molte distribuzioni linux è possibile ottenerli temporaneamente, anteponendo il comando sudo agli esempi sotto riportati. Inoltre, affinché la scansione abbia successo, è necessario prima smontare l'unità o la partizione singola da esaminare.
Formattazione
[modifica | modifica wikitesto]La scansione in modalità lettura-scrittura distruttiva (read-write destructive mode, o più semplicemente read-write mode) determina la distruzione di tutti i dati contenuti nell'intero disco fisso, o nella singola partizione presa in esame.
Una volta avviata, ogni settore verrà sovrascritto 4 volte, il che rende sconsigliabile questa pratica di "formattazione estrema" con le unità a stato solido. Ogni dato scritto verrà controllato in lettura, ed ogni errore rilevato sarà conteggiato.
Ovviamente, con i dischi fissi nuovi si può procedere direttamente a registrare sulla partizione le informazioni del filesystem, con l'uso del comando mkfs, come spiegato più avanti.
Nel caso volessimo formattare la partizione /dev/sdb6, la sintassi di badblocks sarà la seguente:
badblocks -wsv -o /root/badblocks.txt /dev/sdb6
AVVERTENZA: Non dimenticate il numero alla fine della riga, in questo caso 6, altrimenti la scansione comporterà la distruzione di tutti i dati contenuti nell'unità /dev/sdb, compresi il master boot record e le altre partizioni in cui è stato suddiviso lo spazio sul disco.
La lettera subito dopo il primo meno, in questo caso w, significa che la scansione dovrà avvenire nel modo distruttivo; le due successive significano rispettivamente show progress (mostra l'avanzamento) e verbose (visualizza i risultati).
Nella parte immediatamente successiva, -o
sta per output, mentre con /root/badblocks.txt
si chiede di generare un file badblocks.txt, con la lista dei cluster danneggiati individuati; infine è specificata la partizione da esaminare.
Per completare l'operazione di formattazione, definire il filesystem da utilizzare nella partizione, ad esempio ext4:
mkfs.ext4 -l /root/badblocks.txt /dev/sdb6
Per il filesystem ext2, il comando da impartire sarà:
mkfs.ext2 -l /root/badblocks.txt /dev/sdb6
Nel caso non siano stati trovati blocchi danneggiati, la parte -l /root/badblocks.txt
non serve.
Lettura-scrittura non distruttiva
[modifica | modifica wikitesto]Questa modalità è adatta a lavori di manutenzione del sistema, e consta generalmente di quattro fasi, eseguite per ogni dato presente su disco:
- Il dato viene memorizzato in RAM;
- Il dato viene sovrascritto sul disco, con un valore casuale;
- Il dato casuale viene verificato;
- Il dato originale viene ripristinato.
badblocks -nvs -o /root/badblocks.txt /dev/sdb6
Se sono stati trovati dei settori danneggiati, è necessario memorizzarne l'ubicazione. Se il filesystem della partizione in oggetto è ext2/ext3 oppure ext4, il comando da usare sarà:
e2fsck -l /root/badsectors.txt /dev/sda6
Come già detto all'inizio, le sue funzioni possono essere richiamate anche tramite e2fsck, come nell'esempio seguente:
fsck -vcck /dev/sdb6
In questo caso, la richiesta di eseguire una lettura-scrittura non distruttiva è simboleggiata dalla doppia "c"; con la "k" si chiede di non cancellare la blacklist preesistente, ma solo di aggiornarla con le informazioni sui nuovi badblocks eventualmente scoperti; infine, la "v" subito dopo il meno significa che il computer visualizzerà l'output del processo di scansione del disco. Siccome con questo comando il computer aggiorna automaticamente la lista nera, il comando e2fsck -l /root/badsectors.txt /dev/sda6
già visto poco sopra non serve.
AVVERTENZA: Nonostante questo metodo di controllo sia ritenuto "non distruttivo", qualsiasi arresto irregolare della sessione di scansione, così come un eventuale blocco o crash del sistema, è in grado di causare corruzione dei dati. Se non si può fare a meno di abortire il procedimento, usare il comando CTRL+C per interrompere l'esecuzione della scansione, prima di chiudere la finestra. Specie se si sta eseguendo il controllo del disco rigido da una distribuzione linux avviata in modalità live, è inoltre sconsigliabile svolgere altre attività (ad esempio navigazione in Internet) mentre la scansione è in corso.
Sola lettura
[modifica | modifica wikitesto]In una scansione di sola lettura, il sistema eseguirà una ricognizione in sola lettura della partizione da scansionare, segnalando i settori illeggibili. Naturalmente ciascuno di essi verrà aggiunto alla lista nera preesistente, se non era stato segnalato in precedenza. Se qualche file è danneggiato, il computer chiederà all'operatore se cancellarlo o tentare di ripararlo, oppure ignorarlo cioé mantenerlo senza intervenire su di esso.
La sintassi in questo caso sarà:
fsck -vck /dev/sdb6