21913 Letture

Personalizzare il contenuto dei file d'immagine di Windows 7 / prima puntata

Con il termine deployment ci si riferisce, in genere, alle operazioni che vengono poste in essere per distribuire un sistema operativo verso le macchine client che compongono la rete locale.
Le procedure per effettuare il deployment di Windows 7 sono profondamente diverse rispetto a quelle precedentemente applicate nel caso di Windows XP ed è importante conoscerle anche se si desidera predisporre un'installazione automatizzata del sistema operativo.
Non tutti gli strumenti necessari sono integrati direttamente nel supporto d'installazione di Windows 7: alcuni, infatti, vengono distribuiti da Microsoft nel pacchetto "Windows Automated Installation Kit" (o "Windows AIK" od, ancora, WAIK), prelevabile facendo riferimento a questa pagina.

Per installare WAIK, dopo il download del pacchetto, è possibile masterizzare il file ISO su un supporto DVD quindi eseguire StartCD.exe. In alternativa, si può aprire il file ISO con un software come 7-Zip ed estrarne il contenuto sul disco fisso.


In questo articolo (ved. il riquadro in calce alla pagina) abbiamo presentato una modalità che consente di estrarre dal pacchetto WAIK alcuni tool (ad esempio ImageX) senza la necessità di scaricare l'intero corposo file ISO e senza installare alcunché.


Presentiamo, di seguito i principali tool, che agevolano il deployment di Windows 7:

ImageX
Si tratta di un'utilità, basata su riga di comando, che permette di generare, modificare ed applicare file d'immagine contenente tutto il necessario, ad esempio, per la distribuzione e l'installazione di Windows 7, Windows PE e Windows Server 2008. ImageX consente di "montare" l'immagine in modo che poi sia possibile interfacciarsi col suo contenuto così come se si trattasse di un'unità "fisica" collegata al personal computer.
Uno dei possibili impieghi di ImageX consiste nell'editare il contenuto dell'immagine in formato WIM contenuta nel DVD d'installazione di Windows 7 così da aggiungere, modificare, rimuovere o copiarvi file. Il cosiddetto WIM FS Filter, infatti, permette di "montare" un'immagine WIM e di interagire agevolmente col suo contenuto come se fosse parte del file system esistente.
L'utilità, parte del pacchetto WAIK, è capace di "montare" immagini solo utilizzando Windows Vista o versioni successive: non sarà possibile utilizzare ImageX con le precedenti release del sistema operativo Microsoft. Inoltre, affinché sia possibile scrivere all'interno delle immagini, qeuste debbono essere "montate" solamente su unità formattate con il file system NTFS. Diversamente, nel caso di FAT, il contenuto delle immagini sarà disponibile solo in lettura.

DISM
Uno strumento tutto nuovo, anche per gli utenti che provengono da Windows Vista. Acronimo di "Deployment Imaging Servicing and Management", DISM offre la possibilità di interagire sia con immagini in formato WIM che con quelle in formato VHD.
Grazie a DISM l'amministrazione di sistema può montare immagini, attivare o disabilitare caratteristiche di Windows, installare o rimuovere driver di periferica, effettuare un "upgrade" dell'edizione di Windows contenuta nel file d'immagine, impostare la lingua di default, aggiungere od eliminare un language pack.
Contrariamente ad ImageX, che è parte integrante di WAIK, DISM è già fornito insieme con Windows 7.

Mentre DISM è disponibile, di default, nell'installazione di Windows 7, per estrarre ImageX da WAIK senza installare l'intero pacchetto, è possibile aprire il file KB3AIK_IT.iso con 7-Zip, fare clic col tasto destro del mouse sul file Neutral.cab quindi selezionare la voce Open inside. Per estrarre ImageX, basterà evidenziare il file F1_imagex nel caso di sistemi x86 (32 bit) o F3_imagex nel caso in cui si utilizzi un sistema x64 (64 bit) ed estrarlo sul disco fisso. Come ultimo passo si dovrà rinominare il file F1_imagex (o F3_imagex) in imagex.exe.


WSIM
Acronimo di "Windows System Image Management", WSIM è considerabile come il successore della procedura che permetteva di creare installazioni non presidiate (unattended) in Windows XP. I file prodotti ricorrendo a WSIM utilizzano il formato XML ed è bene quindi che vengano editati con l'utilità piuttosto che con semplici editor di testo.

DiskPart
Un'utilità che è l'equivalente, su riga di comando, della finestra Gestione disco di Windows 7. Utilizzandola si possono creare e gestire partizioni, assegnare lettere identificative di unità, formattare volumi e partizioni, convertire il tipo di file system, ridimensionare le partizioni e montare file VHD.

SysPrep
SysPrep è un tool già conosciuto, ad esempio, anche dagli utenti più evoluti di Windows XP. Esso consente di rimuovere le informazioni che caratterizzano in modo univoco un sistema dal file d'immagine generato.

BcdEdit
Già in altre occasioni abbiamo evidenziato come in Windows 7 sia stato introdotto un meccanismo di boot completamento nuovo. A differenza di Windows XP, che poggiava sul contenuto del file nascosto boot.ini, memorizzato nella directory radice del disco C:, Windows 7 memorizza i dati nell'area battezzata Boot Configuration Data (BCD).
BcdEdit è un'applicazione funzionante da riga di comando che consente di gestire la configurazione BCD. Nel caso in cui i file responsabili della gestione della fase di avvio di Windows 7 dovessero risultare mancanti, l'eseguibile bcdboot.exe provvederà a copiare i file necessari nella locazione corretta ed a generare un nuovo BCD.


Oscdimg
Si tratta di un'utility che si occupa di generare un file d'immagine in formato ISO a partire dai file contenuti in una certa cartella sul disco fisso. Il programma è stato realizzato, in primis, per realizzare ISO concepite per l'installazione del sistema operativo.

Tutti i tool debbono essere eseguiti dal prompt dei comandi di Windows 7 accertandosi di aprire tale finestra con i diritti di amministratore (pulsante Start, digitare cmd, tasto destro su cmd, Esegui come amministratore).

Come accennato in precedenza, Windows 7 supporta due formati di file d'immagine: WIM e VHD. Nel DVD d'installazione di Windows 7, all'interno della cartella sources, è conservato un file denominato install.wim. Nella versione di Windows 7 acquistabile autonomamente dall'utente, il file install.wim contiene quattro immagini differenti: una per l'installazione di ciascuna edizione del sistema operativo.
Sia ImageX che DISM possono essere impiegati per verificare che cosa è contenuto nel file WIM.

Digitando, ad esempio, dal prompt dei comandi IMAGEX /info Z:\sources\install.wim, si otterranno una serie di indicazioni circa il contenuto del file d'immagine. Nella sezione "WIM information" sono raccolti alcuni dati relativi al numero di file d'immagine contenuti nel file ed al tipo di compressione utilizzata. Sotto la voce "Available Image Choices", sono forniti maggiori dettagli, utilizzando il formato XML. Ciascun blocco dati relativo ad ogni immagine, inizia con la stringa <IMAGE INDEX="n">. Com'è immediato verificare, la tag EDITIONID restituisce il nome dell'edizione di Windows 7 associata al file d'immagine con identificativo IMAGE INDEX.

DISM offre un numero minore di dettagli ma è non meno efficace:

Il comando DISM /Get-WimInfo /Wim-File:Z:\sources\install.wim consente di ottenere un ouput simile a quello in figura.
Sia nel caso in cui si utilizzi ImageX che DISM, si dovrà aver cura di sostituire la lettera di unità Z: con quella corrispondente al lettore DVD ROM nel quale si è inserito il supporto d'installazione di Windows 7.


Come "montare" e "smontare" un file WIM

Per "montare" il contenuto del file in formato WIM rendendone possibile l'interazione da parte del sistema operativo, è possibile ricorrere ad ImageX oppure a DISM. Per fare in modo che il contenuto sia disponibile in sola lettura ed accessibile dalla cartella c:\mount, è necessario creare manualmente tale cartelle quindi usare uno dei due comandi seguenti:
DISM /Mount-Wim /WimFile:Z:\sources\install.wim /Index:1 /MountDir:c:\mount /ReadOnly
IMAGEX /Mount Z:\sources\install.wim 1 c:\mount
Il numero evidenziato in grassetto (1) dovrà essere eventualmente sostituito con l'indentificativo corrispondente all'edizione di Windows 7 sulla quale si intende lavorare.

Per fare in modo che un'immagine WIM possa essere modificata, è necessario richiederne l'accesso in scrittura utilizzando uno dei due comandi che seguono:
DISM /Mount-Wim /WimFile:Z:\sources\install.wim /Index:1 /MountDir:c:\mount
IMAGEX /MountRW Z:\sources\install.wim 1 c:\mount

Non è possibile montare file WIM che provengano da supporti accessibili in sola lettura (ad esempio, il DVD d'installazione di Windows 7). Per ovviare al problema, è necessario copiare il file \source\install.wim dal DVD di Windows in una cartella a propria scelta sul disco fisso. La procedura di copia del file richiederà tipicamente diversi minuti prima di essere portata a compimento dal momento che il file install.wim "pesa" più di 3 GB.

Si noti, nel primo caso, l'assenza dell'opzione /ReadOnly e nel secondo l'utilizzo dello switch /MountRW in luogo di /Mount.

Da questo momento in poi, i file che compongono l'edizione di Windows 7 prescelta sono pronti per essere personalizzati (sono stati memorizzati nella directory c:\mount). DISM potrà essere poi utilizzato per effettuare interventi evoluti quali l'aggiunta di un driver di periferica o la configurazione delle funzionalità di Windows 7.


Per memorizzare le modifiche applicate ad un file WIM agendo sul contenuto della cartella c:\mount, è necessario ricorrere ad uno dei comandi seguenti:
DISM /Unmount-Wim /MountDir:c:\mount /commit
IMAGEX /Unmount /commit c:\mount
Utilizzando l'opzione /discard al posto di /commit il contenuto della cartella c:\mount sarà eliminato senza salvare alcuna modifica.

Nella prossima puntata vedremo come personalizzare ed automatizzare l'installazione di Windows 7 utilizzando WSIM.


  1. Avatar
    RafB
    28/12/2014 17:18:58
    Prima di tutto tanti auguri per le feste fatte e per quelle da fare ! Ho 2 problemi che non riesco a risolvere e spero che tu possa darmi una mano; grazie in anticipo... 1) Ho una edizione di Windows 7 x64 multi-versione (Home Basic, Home Premium, Professional e Ultimate) con un install.wim da 2.751.908 KB. Vorrei ricavarne 4 diverse edizioni mono-versione (una per Home Basic, una per Home Premium, ecc), ciascuna con un install.wim più piccolo. E' una cosa fattibile ? Se sì, come ? Ho provato con DISM: ho montato il mio install.wim, ho selezionato l'index 4 (Ultimate) e ho smontato con l'opzione /commit; tutto ok, nessun errore. A questo punto pensavo che DISM mi avesse selezionato solo l'immagine di Ultimate e che mi avesse fornito quindi un install.wim più piccolo; invece il risultato è stato un install.wim ancora con le 4 versioni (ho controllato con imagex) e da 2.757.544 KB, cioè addirittura più grande di quello originario :( Cosa non ho capito e/o cosa ho sbagliato ? 2) Altro esperimento. Sempre con la stessa edizione di Windows 7, ho montato install.wim e ho provato ad aggiungere il driver del Marvell Yukon Controller Gigabit Ethernet PCI-E 88E8053; quindi ho copiato in una cartella "cartelladrive" il file yk62x64.inf e ho eseguito il comando "dism /image:C:\cartellacontenutowim /add-driver /driver:C:\cartelladriver". Niente da fare: "Errore 2 - Impossibile trovare il file specificato". Ho provato con altri driver (Creative Sound Blaster Audigy, Realtek AC'97 Audio for VIA Audio Controller, Samsung SyncMaster P2270HD); stesso risultato. Da notare che tutti i relativi inf sono corretti, perché li ho presi dopo la loro installazione da parte di Windows Update (che ha funzionanto benissimo). Anche qui: cosa sto sbagliando ? Grazie infinite ! ciao
  2. Avatar
    jamaica8
    26/05/2011 18:28:30
    Grazie,stimolate di più i miei 55 anni...ottimo articolo aspetterò i successivi, vi auguro buon lavoro...Gigi :P :approvato:
Personalizzare il contenuto dei file d'immagine di Windows 7 / prima puntata - IlSoftware.it