Sfdisk salvare le partizioni

Salvare la tabella della partizioni

Anche se l’uso di TestDisk ci aiuta a ripristinare eventuali partizioni perse, ritrovarsi con una tabella della partizioni scombinata puo’ richiedere  parecchio tempo per essere sistemata. Sarebbe molto meglio (come gia suggerito nei precedente articolo ( “testdisk e le partizioni”  ) averne gia salvata una in ordine…, in questi casi e’ una buona idea usare sfdisk ogni volta che installate o rimuovete una distro, o comunque ogni qual volta facciate delle modifiche alle partizioni.

Sfdisk e’ una piccola utility da riga di comando, gia’ inclusa in tutte le recenti distro Linux, in grado di fare il backup ed il ripristino delle tabelle delle partizioni, oltre a poterle modificare a piacimento/necessita’.

Ad esempio il comando: sudo sfdisk -d /dev/sda > sda_tabella.txt

effettuera’ una copia di sicurezza della tabella delle partizioni del disco sda all’interno del file di testo che dovrete tenere in un posto ben al sicuro.

Al contrario il comando : sudo sfdisk /dev/sda < sda_tabella.txt

leggera’ il file di testo e ripristinera’ la tabella dele partizioni all’interno dell’MBR di “sda” . Nel caso in cui abbiate un sistema di gestione dischi in RAID, potete comunque fare il mirror di una tabella delle partizioni da un disco all’altro usando

sudo sfdisk -d /dev/sda | /dev/sdb

 

TestDisk e le partizioni

Usare TestDisk capendo cosa sono le partizioni

Per poter usare con successo TestDisk occorre capire prima come sono organizzate le partizioni ed i dischi. Una tabella delle partizioni contiene quattro slot di 16 byte l’uno, che limitano ad un numero di 4 le partizioni “primarie” che possiamo creare su di un hard-disk. Di regola una di queste 4 partizioni viene quindi creata come “estesa”  poiche’ in questo modo al suo interno potremo creare altre di tipo “logiche”. Per esempio potremo aver creato 3 partizioni primarie (sda1, sda2, sda3) ed una quarta in modalita’ estesa, che contiene al suo interno diverse altre partizioni logiche (sda5, sda6…).

A volte potra’ capitare che TestDisk non riesca a dettagliare correttamente la posizione di una determinata partizione, a quel punto dovrete trovare voi quella corretta e dovrete anche capire se si tratta di logica o primaria, tenendo presente che , ad esempio, la prima partizione primaria, in genere, inizia al cilindro 0,  testina 1, settore 1 …..ecc….

Sarebbe sempre buona norma dopo ogni installazione farsi una copia 
delle partizioni del/dei disco, con un fdisk -l
in modo tale da avere in caso di emergenza un'immagine chiara delle 
partizioni presenti sulla nostra macchina.

Per esempio:

/dev/sdb1 * 2048 952197119 476097536 83 Linux
/dev/sdb2 952199168 976771055 12285944 82 Linux swap / Solaris

/dev/sdc1 2048 304203775 152100864 83 Linux
/dev/sdc2 304205822 312580095 4187137 5 Esteso
/dev/sdc5 304205824 312580095 4187136 82 Linux swap / Solaris

 

TESTDISK : probabilmente il miglior tool in circolazione per sistemare le tabelle delle partizioni e permettere, ai dischi che non riescono piu’ ad effettuare il boot, di tornare in servizio. L’uso di testdisk e’ simile a quello di photorec, ad esempio una volta avviato vi chiedera’ di creare un file di log (che puo’ tornare sempre utile per successive ed eventuali analisi qualora l’operazione di recovery dovesse fallire) dopo di che mostrera’ tutti i dischi collegati al computer. Dopo che avrete selezionato il disco in cui e’ “sparita” la vostra partizione vi chiedera’ di selezionare la tipologia, per esempio Mac, Intel, Sun e cosi’ via, subito dopo verranno mostrate tutte le opzioni di recovery disponibili. Consiglio di selezionare quella di default Analyse, che legge la struttura delle partizioni e cerca quelle disperse. Alla fine della ricerca verra’ visualizzata la struttura delle partizioni corrente (da qui in avanti aver avuto l’immagine delle partizioni subito dopo aver effettuato l’installazione avrebbe sicuramente facilitato tutti i prossimi passaggi). Ora potrete selezionare l’opzione Quick Search per chiedere a testdisk di ricercare le partizioni cancellate. In base all’eta’ del disco, testdisk visualizzera’ un diverso numero di partizioni, per poter capire quale’ quella corretta da recuperare guardate le Label delle partizioni mostrate alla fine di ogni voce, tra le parentesi quadre. Se questo non dovesse essere del tutto d’aiuto potrete provare, premendo il taso P su di una partizione, a leggere l’elenco dei file che testdisk ha trovato in essa. Quando avrete trovato la partizione che v’interessa converra’ copiarne i dati, giusto nel caso in cui testdisk fallisca la sua operazione di recupero, per poter fare cio’ premete nuovamente il tasto P e successivamente , con il tasto a , selezionate tutti i file. A questo punto premete il tasto C per effettuare la copia cosi’ che il wizard possa chiedervi dove volete salvarli. Terminata la copia premete il tasto q per tornare all’elenco delle partizioni, ora premete il tasto E per continuare nelle operazioni di ripristino, in questo modo testdisk mostrera’ nuovamente la struttura delle partizioni, questa volta aggiungendo quella scomparsa, ora si potra’ selezionare con il tasto W l’opzione di ‘write’ per salvare la tabella delle partizioni cosi recuperata sul disco ed uscire dal programma.

* Leggi anche ( ” ripristinare file cancellati ” )

Cifrare una Directory con EncFS

Cifrare il contenuto di una Directory da occhi indiscreti non e’ mai stato cosi’ facile come con EncFS.

EncFS è uno speciale filsystem in userspace che consente di cifrare tutto il contenuto di una directory senza dover ricorrere all’uso di un dispositivo apposito. Pertanto il contenuto potrà essere memorizzato direttamente in un’altra directory, senza la necessità di dover creare un filesystem su un dispositivo cifrato. I primo passo è installare il programma con tutte le sue dipendenze con:

sudo apt-get install encfs

Una volta installato il programma la creazione di una directory cifrata è molto semplice, sarà sufficiente usare lo stesso specificando come primo argomento la directory che conterrà i contenuti cifrati e come secondo argomento quella in cui compariranno i contenuti in chiaro quindi creiamo in un PATH a nostro piacere due directory assegnate al nostro utente e con  permessi 700, dopodiche’ il comando da usare sara’ molto semplice cioè qualcosa del tipo:

mkdir ~/.protetta ~/protetta
chmod 700 ~/.protetta ~/protetta
encfs ~/.protetta ~/protetta
Creazione nuovo volume cifrato.
Scegliere tra una delle seguenti opzioni:
 digitare "x" per la modalità di configurazione per esperti,
 digitare "p" per la modalità paranoica preconfigurata.
 qualsiasi altra cosa o una riga vuota selezionerà la modalità standard.

la scelta della modalità standard è sufficiente per tutti gli usi normali, per cui una volta premuto invio verrà richiesta due volte l’immissione della password di cifratura dei dati, e montato automaticamente nella directory di destinazione. I file eventualmente già presenti nella directory cifrata non verranno toccati, ma verranno creati al suo interno file e directory cifrati il cui contenuto in chiaro apparirà soltanto nella directory cifrata.

Una volta completate le operazioni, per inibire l’accesso alla directory con i contenuti in chiaro sarà sufficiente smontarla con fusemount, con un comando del tipo:

fusermount -u ~/protetta

In seguito si potrà riaccedere al contenuto in chiaro riutilizzando encfs, esattamente con lo stesso comando visto in precedenza. In questo caso però non verranno fatte le domande relative alla creazione ma verrà semplicemente richiesta la password di decifrazione.

Su encfs è possibile anche indicare un tempo di inattività, decorso il quale la directory verrà automaticamente smontata, ad esempio con:

encfs -i 5 ~/.protetta_enfs ~/protetta

Smonterà la directory dopo 5 minuti di inattività se non risultano files aperti.

Infine è possibile cambiare la password per l’accesso alla directory con:

encfsctl passwd ~/.protetta_encfs

Ripristinare file cancellati

Tutti gli strumenti visti nei precedenti articoli vengono utilizzati principalmente per recuperare files da dischi rovinati o prossimi alla rottura. Non sempre la causa dei nostri mal di testa e’ imputabile ad un guasto hardware ma spesso siamo noi stessi causa del nostro male. Un utente goffo, distratto o alle prime armi puo’ causarsi da solo la perdita di dati; che cosa fare in questi casi ?? Bisogna prima di tutto capire che quando viene cancellato un file  esso non viene eliminato fisicamente, piuttosto il filesystem lo “marca” come cancellato rendendo cosi’ disponibile alla scrittura di altri file la porzione di disco che questo occupava. Questo vuol dire che finche’ un’applicazione non usera’ quella porzione di disco il file sara’ comunque presente e’ recuperabile, per questo come gia’ accennato in un precedente articolo, se vi accorgete di aver cancellato qualcosa e’ importante ridurre al minimo possibile l’utilizzo del sistema fino a che non si sara’ tentato il recupero dei dati cancellati. Probabilmente , ad oggi, il tool OpenSource piu’ completo per questo genere di attivita’ e’ senz’altro PhotoRec , questo tool e’ in grado di andare a caccia dei formati di file immagine piu’ comuni ed inoltre e’ in grado di ripristinare file in molti altri formati quali : odf, pdf, 7zip, zip, tar, rpm, deb… ed anche dischi virtuali. Questa utility e’ in grado di funzionare su ogni tipologia di disco, inclusi hard disk, chiavette usb ed anche schede sdd. PhotoRec e’ anche in grado di recuperare file da partizioni che sono state formattate. Aggiungo che per quanto sia un tool da riga di comando PhotoRec  suddivide le operazioni di salvataggio in piccoli passi, proprio come farebbe un wizard grafico. Per avviare PhotoRec bastera’ il semplice comando :

  • sudo photorec

Appena avviato photorec  vi chiedera’, nel seguente ordine, queste informazioni :

  • selezionare il disco e la partizione che ospita i file cancellati # [No partition] per indicarle tutte
  • selezionare il tipo di filesystem
  • selezionare “Search” per recuperare tutti i file oppure “Opt” per selezionare le tipologie
  • selezionare i formati dei file che c’interessa recuperare dall’elenco proposto
  • selezionare la Directory in cui salvare i file recuperati

Il tempo impiegato dipendera’ ovviamente dalla grandezza della partizione selezionata e dalla quantita’ di file da recuperare. Una volta ultima l’operazione troverete nella cartella indicata in fase di avvio una quantita’ di file con nomi strani, questo perche’ PhotoRec nomina i file a suo modo man mano che li trova e lascia all’utente il compito di riordinarli.

** Leggi anche ( ” estraiamo i nostri dati ” )

Estraiamo i nostri dati

Ora siamo i felici possessori di una o piu’ immagini su cui abbiamo salvato i nostri preziosi files ma cosa fare adesso per  poterli riutilizzare ???

La prima cosa da fare e’ quella di montare l’immagine su di un’altro PC Linux oppure tramite l’uso della LiveCD rimanere sul PC da cui abbiamo generato il tutto e montare l’immagine su di un supporto esterno (disco, chiavetta ecc..) su cui spostare man mano i dati recuperati. Quest’operazione si puo’ facilmente effettuare tramite il comando :

sudo mount -o loop /media/drive-di-backup/sdd1.image /media/recovery

Ora possiamo dare un’occhiata dentro /media/recovery dentro cui dovreste poter vedere tutti i dati precedentemente salvati ed esportarli/copiarli su di un nuovo supporto o PC. Se invece il comando precedente non dovesse aver dato i suoi frutti bisognera’ passare alle maniere piu’ forti chiamando in causa dei tool piu’ specifici come Foremost e Scalpel. Entrambi sono delle utility che, e’ il caso di dire, “vanno a caccia dei files” utilizzando vari formati di header e footer . Foremost e’ il piu’ semplice dei due da usare ma spesso e’ anche il meno efficiente :

sudo foremost -t all -i /media/drive-di-backup/sdd1.image -v -o rescued-file

in pratica le opzioni utilizzate sono le seguenti : -t all = vogliamo tutti i tipi di files ( nel caso volessimo recuperare soltanto alcuni formati potremo modificare questa opzione nel seguente modo : -t jpg,png,tiff ) ; -i <immagine.image> = la nostra immagine di backup ; -v = verbose mode (per vedere cosa viene fatto) ; -o rescued-file = nome della cartella che foremost creera’ per metterci tutti i files che riuscira’ a recuperare. Sul manuale di foremost dichiarano che in caso di filesystem di tipo ext2 bisognera’ aggiungere l’opzione -d.

Se foremost non dovesse aver soddisfatto le vostre aspettative possiamo far scendere in campo Scalpel il quale pero’ prima di essere utilizzato ha bisogno di alcune modifiche nel suo file di configurazione [ /etc/scalpel/scalpel.conf ] all’interno del quale andranno decommentati tutti i formati di file che vogliamo far recuperare. Una volta terminata questa fase preparatoria potremo utilizzare scalpel nel seguente modo :

sudo scalpel /media/drive-di-backup/sdd1.image -o rescued-file

 

** Leggi anche  ( ” copia bit a bit ” )