Editing dei file del registro direttamente dal file WIM

WIM Files

Le recenti versioni dei sistemi operativi Microsoft (Vista e Windows Server 2008) vengono fornite su media che contengono un nuovo formato di immagine di disco chiamato WIM.

I WIM File sono dei file compressi che contengono immagini di disco che a differenza delle normali immagini sector based sono file based. Questo significa che il WIM File è un contenitore di file che in aggiunta fornisce dei descrittori di come gli oggetti contenuti in esso devono essere copiati e configurati su disco. Grazie a questa strutturazione è possibile avere all’interno delle immagini nel WIM un unico file che se necessario può essere “istanziato” più volte invece che copiato. E’ chiaro che questo meccanismo, in aggiunta alla compressione delle immagini porta a ridurre considerevolmente la dimensione del file WIM che potrà quindi contenere più immagini di disco.

image 

Intestazione WIM : definisce il contenuto del file con estensione wim, inclusi la posizione di memoria delle risorse principali (metadati, tabella di ricerca, dati XML) e vari attributi del file (versione, dimensioni, tipo di compressione).

Risorsa file : una serie di pacchetti contenenti i dati acquisiti, ad esempio i file di origine.

Risorsa metadati: contiene informazioni sui file acquisiti, inclusi la struttura di directory e gli attributi del file. In un file con estensione wim esiste una risorsa metadati per ogni immagine.

Tabella di ricerca: contiene la posizione di memoria dei file di risorse nel file con estensione wim.

Dati XML: contiene ulteriori informazioni sull'immagine.

Tabella di integrità: contiene informazioni sull'hash di protezione utilizzato per verificare l'integrità di un'immagine nel corso di un'operazione di applicazione.

File default HIVE in XP e variazione con vista Vista/Windows Server 2008

Nella versione precedente di Windows XP la configurazione di default del registry era importata utilizzando i file HIVE*.inf contenuti nella cartella del media di installazione. La modifica di questi file consentiva di fatto di generare una configurazione personalizzata del registry prima ancora del setup.

Nei file .WIM è contenuta un’immagine completa di un’installazione del sistema e di conseguenza non esistono più tali file.

Contenuto del media d’installazione

Sfogliando il media di installazione di Vista o Windows Server 2008 si possono individuare due file .WIM.

  • Boot.wim: contiene Windows PE; un sistema operativo minimale basato su kernel Vista. Consente di eseguire il setup, eseguire operazioni di risoluzione di problemi ed infine eseguire il ripristino automatico in caso di software OEM.
  • Install.wim: contiene le immagini di installazione del sistema operativo.

IMAGEX e modifica del REGISTRY

Con il formato .WIM viene introdotto il tool Imagex , necessario per lavorare con le immagini file based. Questo tool consente in particolare di scompattare in una cartella su disco le immagini contenute nel file .WIM consentendo così di lavorare OFFLINE sulla futura installazione del sistema. Per quanto riguarda in particolare la modifica del registry, la procedura consisterà nello scompattare l’immagine, caricare nel registry della propria macchina il file del registry che si vuole modificare contenuto nell’immagine, apportare le modifiche e salvare l’immagine includendo il nuovo file modificato. Vediamo nel dettaglio la procedura.

Prima di tutto eseguiamo il mount del file install.wim in read/write nella cartella c:\mount\ dopo aver copiato il file install.wim su disco, con il seguente comando:

imagex /mountrw install.wim 1 c:\mount

Ora nella cartella c:\mount\ vi è il contenuto del disco che si ha con una normale installazione di Windows (Vista Server 2008). Nella folder c:\mount\windows\system32\config\ sono contenuti i file del registry, tra cui ad esempio il file DEFAULT (setting di default a livello utente).

Il passo successivo consiste nel caricare l’hive DEFAULT nel registry della propria macchina ad esempio in HKLM\esempio ed editarlo con i setting necessari. Possiamo usare il seguente comando:

reg load HKLM\esempio c:\mount\windows\system32\config\DEFAULT

Terminata la modifica scarichiamo il file HIVE appena editato con il seguente comando:

reg unload HKLM\esempio
La procedura termina con l’unmount e il salvataggio dell’immagine tramite il seguente comando:

imagex /unmount /commit c:\mount

Marco Pulita
Microsoft Enterprise Platform Support