Immagini di sistema

Se sapete già cos’è una immagine di sistema, potete passare tranquillamente a leggere il resto dell’articolo.

Se non lo sapete, sostanzialmente e’ una copia di una partizione, effettuata con la partizione stessa in stato “smontato”, cioe’ non attivo. Questo e’ l’unico modo di garantire che la partizione verra’ ripristinata esattamente con tutti i programmi e tutte le impostazioni.

Rispetto a una reinstallazione tradizionale, che passa per l’installazione del sistema operativo seguita da quella di tutti i singoli programmi, garantisce una maggior precisione (il sistema torna ad essere lo stesso di quando è stata fatta l’immagine) e un notevole risparmio di tempo. In particolare, il risparmio di tempo diventa una caratteristica fondamentale se si usa l’immagine per clonare diversi PC che devono avere la stessa configurazione.

Vediamo gli strumenti utilizzati.

La tradizione: ghost e drive image

Il primo software per immagini di sistema che ho mai usato è stato Ghost, della Symantec. Il primo software che ho mai comprato 🙂 è invece Drive Image della PowerQuest (quella di Partition Magic). Nota: oggi tutti i prodotti summenzionati sono della Symantec. Ahime’. Ma ne parleremo dopo.

Con piccole differenze di implementazione, entrambi i software permettevano di creare floppy disk avviabili, e creare un’immagine di sistema di una o più partizioni su un’altra partizione o disco. Una delle opzioni interessanti era la possibilita’ di copiare un intero disco su un altro (mai successo?). Piuttosto comodo, visto che ci lasciava tempo per fare altro anzichè fare le scimmiette d’installazione (accept, next, next, next …).

Poi però questi software hanno preso una brutta piega. Da un certo momento in poi, non è stato più possibile usare il dischetto: bisognava installare il software sul PC stesso, e avviare il processo di creazione dell’immagine dallo stesso sistema che si voleva salvare. Difficile, eh? Infatti per un po’ mi sono chiesto come potesse funzionare. Poi ho capito, e mi si sono rizzati i capelli. Il software modifica la tabella delle partizioni, creando una nuova partizione, installandoci i propri programmi di avvio, e rendendola partizione di avvio principale; poi riavvia il sistema, che parte su questa partizione temporanea, esegue il processo di immagine, poi va nuovamente a modificare la tabella delle partizioni rimettendo come partizione di avvio quella precedente.

Gulp.

Il solo pensiero mi fa venire i brividi. E’ un’operazione invasiva, e in caso di interruzione accidentale del processo (es. calo di corrente) c’è una discreta probabilita’ di trovarsi con un sistema non avviabile, a meno di non andare manualmente a cancellare la partizione temporanea e a risettare quella precedente come partizione di avvio. Ovviamente, tutto questo a patto che si conosca il funzionamento sopra esposto e si sappia quindi come agire.

Non ho mai usato quelle versioni. Sono rimasto con le versioni su dischetto, “trasportate” su CD grazie alla realizzazione di un CD avviabile in emulazione floppy.

La novita’: i Live CD

Nel frattempo, ho cominciato a conoscere i live cd basati su linux, principalmente Knoppix e eduKnoppix. La potenzialità di questi CD mi e’ stata subito chiara: essi permettono di avere un sistema operativo funzionante, senza toccare niente del sitema esistente. Oltretutto, a differenza dei floppy disk, la dimensione permette di caricare tutti i driver necessari e avere quindi il completo supporto per la rete, USB, accesso a Internet, e quant’altro. Quando poi ho scoperto System Rescue CD, ho risolto tutti i miei problemi. Si tratta di una distribuzione su Live CD dedicata specificatamente al recupero di sistemi guasti, e poco ma sicuro ospita un programma per realizzare immagini: PartImage.

PartImage, come nella migliore tradizione dei programmi del mondo Linux, fa poche cose e le fa bene. In particolare, permette di creare e ripristinare immagini di singole partizioni, non di interi sistemi (perchè, si suppone, uno non deve far altro che ripetere l’operazione per le varie partizioni esistenti). Inoltre non crea le partizioni per noi: si aspetta di trovarle gia’ esistenti e formattate prima di caricarci su i dati. Ma per questo esiste il buon vecchio Partition Magic o meglio ancora il clone free GParted (ovviamente presente sul System Rescue CD). Da quando ho cominciato a usare questo sistema, non ho piu’ guardato indietro.

Il caso della partizione che non si poteva loggare

E veniamo a un caso specifico. Dovendo copiare un disco su un altro, ho cominciato creando un’immagine della partizione del disco di partenza. Poi ho ripristinato tale immagine sul secondo disco, e l’ho settata come avviabile. Ho avviato, è partito Windows, ho immesso le mie credenziali, ho confermato e… mi sono ritrovato di nuovo alla maschera di accesso. Wow. Le tre L. Logon/logoff loop.

La prima volta che incontri questo tipo di errore ci rimani davvero male, soprattutto perchè quando vedi comparire la maschera di logon pensi che i problemi di avvio si siano risolti. Stavolta però ero preparato, e sapevo che il problema era in qualche modo legato alla variazione della lettera di unità del disco di sistema. Sostanzialmente, certe chiavi di registro specificano i percorsi relativamente al disco di sistema, sia esso C: o D: o Z:, per cui non hanno problemi se la lettera viene cambiata: altri invece – tra cui il percorso di userinit.exe – contengono la lettera di unita’, e vanno in crisi se non la trovano. E allora?

Ho deciso di dare un’occhiata alla chiave incriminata del logon/logoff loop. Si tratta di

HKey_Local_Machine\SYSTEM\MountedDevices

che tiene traccia del collegamento tra i dischi fisici (dei quali viene utilizzato l’identificativo) e le lettere associate. E ho scoperto tutto. Prima di creare l’immagine avevo già collegato il nuovo disco nel vecchio sistema, assegnandogli la lettera S: e utilizzandolo per trasportare un backup dei documenti. Per cui, nella chiave in questione, c’era una associazione tra l’identificativo del disco fisico e la  lettera S:. Ripristinando l’immagine, che è una copia esatta del sistema precedente, avevo ripristinato anche tale associazione: per cui il sistema si montava sulla lettera S:, partiva lo stesso, ma mi portava dritto dritto nelle tre L.

Soluzione?

Ho riavviato il sistema originale tenendo scollegato il nuovo disco. Ho navigato il registro di sistema e ho cancellato dalla chiave in questione ogni riferimento all’id del nuovo disco. Ho ricreato l’immagine, l’ho ripristinata, et voila’, il tutto e’ partito correttamente.

linux, sicurezza, sistemista