I file wim, cosa sono, e cosa contengono

I file con estensione .wim, sono dischi virtuali proprietario, sviluppati da Microsoft, e utilizzati per l’installazione di applicazioni e di sistemi operativi (in particolar modo di questi ultimi). Vennero introdotti fra il 2005 e il 2006, durante lo sviluppo di Windows Vista. I file .wim, in ambito di sistemi operativi (install.wim), sono costituiti da più index image, che equivalgono a partizioni, al cui interno è contenuta “un’installazione generalizzata” di una specifica edizione di un sistema operativo, pronta ad essere estratta in un HD dal sistema WinPE, anch’esso contenuto in un file .wim (boot.wim), caricato in memoria durante la lettura del supporto di installazione.

Gestione dei file .wim

Come ogni disco virtuale, anche i file .wim possono essere caricati, modificati o ricostruiti a seconda delle necessità, il tutto utilizzando il sistema di gestione immagini DISM (Deployment Image Servicing and Management), già incluso in Windows, e accessibile da prompt dei comandi (eseguito in modalità amministratore); alcuni utenti sono però soliti usare il pacchetto AIK (Windows Automated Installation Kit), distribuito dalla stessa Microsoft, che si serve di un applicazione alternativa altrettanto funzionale, chiamata Imagex, avente anche una variante chiamata Gimagex (GUI Imagex), che in alcuni casi supera DISM. Noi invece, per il momento, utilizzeremo solo DISM, in primis per una questione di versatilità (infatti essendo un applicazione già inclusa in Windows non spendiamo ulteriore tempo per la ricerca e il download del suddetto pacchetto) e in secundis perché Imagex servirà solo in caso si voglia ricostruire un file .wim.

ATTENZIONE
GLI SCREENSHOT ALLEGATI ALLA GUIDA HANNO IL SOLO SCOPO DI RENDERE IL TUTTO IL PIÙ CHIARO POSSIBILE; UTILIZZATE ESCLUSIVAMENTE LE LINEE DI COMANDO POSTE AL DI FUORI DEGLI SCREEN, E NON VICEVERSA.

Caricare il file install.wim

Caricare il file install.wim è un operazione molto semplice, basta creare due cartelle in una directory che sia facilmente accessibile, in questo caso il disco locale C:\ fa al caso nostro: la prima cartella (che in questo caso è rappresentata da nomecartellaperfilewim) dovrà contenere il file install.wim, la seconda cartella (che in questo caso è rappresentata da nomecartellapercontenutofilewim) dovrà invece contenere i file estratti dall’install.wim. Una volta create e rinominate le cartelle basterà accedere al prompt dei comandi e dare la seguente linea di comando:

dism /mount-wim /wimfile:C:\nomecartellaperfilewim\install.wim /index:*numeroindeximage* /mountdir:C:\nomecartellapercontenutofilewim /readonly in caso si voglia utilizzare la sola lettura dei file o senza /readonly

Per smontare l’install.wim basterà invece dare la seguente linea di comando:

dism /unmount-wim /mountdir:C:\nomecartellapercontenutofilewim /discard (annulla modifiche) o /commit (applica modifiche)

Modifica del file install.wim

La modifica dell’install.wim è altrettanto semplice (operazione da eseguire solo dopo il caricamento dell’install.wim). Le modifiche che possono essere apportate sono molteplici; le più importanti sono:

  • Modifiche tramite DISM

– Aggiunta e rimozione di hotfix.
– Aggiunta e rimozione di language pack.
– Aggiunta e rimozione di driver.

  • Modifiche tramite Esplora risorse
– Modding del contenuto dell’install.wim (modifica bootscreen, aggiunta di temi e di cursori, modifica del registro di sistema, ecc…)

Integrazione e rimozione dei driver

Per integrare dei driver all’interno dell’install.wim, bisogna dapprima creare un ulteriore cartella in C:\ (che in questo caso è rappresentata da nomecartellaperdriver), nella quale saranno contenuti tutti i driver da integrare, successivamente dare la seguente linea di comando:

dism /image:C:\nomecartellapercontenutofilewim /add-driver /driver:C:\nomecartellapercontenutodriver

Così facendo verranno integrati tutti i driver presenti nella cartella.

In alternativa, per rimuovere un driver dall’install.wim, bisognerà invece conoscere il Published name del driver da rimuovere: per far ciò sarà necessario accedere all’elenco dei driver di terze parti presenti nell’install.wim con la seguente linea di comando:

dism /image:C:\nomecartellapercontenutofilewim /get-drivers

Dopo aver salvato il Published name, assicuratevi di non essere in modalità sola lettura, e poi date la seguente linea di comando:

dism /image:C:\nomecartellapercontenutofilewim /remove-driver /driver:publishednamedeldriver.inf

Integrazione e rimozione hotfix e language pack

Per eseguire tale operazione si dovranno effettuare i medesimi passaggi dell’integrazione dei driver, quindi si dovrà aggiungere un ulteriore cartella in C:\, che conterrà i language pack e gli hotfix (che in questo caso è rappresentata da nomecartellahotfixlp), e dare la seguente linea di comando:

dism /image:C:\nomecartellapercontenutofilewim /Add-Package /PackagePath:C:\nomecartellahotfixlp

Così facendo verranno integrati tutti i pacchetti (siano essi language pack o hotfix) presenti nella cartella.

In alternativa, per rimuovere un pacchetto dall’install.wim (sia esso un hotfix o un language pack), bisognerà invece conoscere il Package identity del pacchetto in questione; per far ciò è necessario accedere all’elenco di tutti i pacchetti integrati nell’install.wim, con la seguente linea di comando:

dism /image:C:\nomecartellapercontenutofilewim /get-packages

Dopo aver salvato il Package identity, assicuratevi dapprima di non essere in modalità sola lettura, e poi date la seguente linea di comando:

dism /image:C:\nomecartellapercontenutofilewim /remove-package /packagename:packageidentitydelpacchetto

Caricamento e modifica del registro di sistema di un image index del file install.wim
Questa operazione può risultare molto utile, specialmente in caso si vogliano modificare parametri importanti del sistema, come ad esempio le opzioni di risparmio energia, o ancora, gli effetti di transizione della superbar. Per eseguire il caricamento e la modifica del registro di sistema di una partizione dell’install.wim, basterà dare la seguente linea di comando:

reg load HKLM\WIM C:\nomecartellapercontenutofilewim\windows\system32\config\software

Ad operazione eseguita vi ritroverete una cartella chiamata “WIM” in “HKEY_LOCAL_MACHINE”, che potrete modificare, e poi smontare con la seguente linea di comando:

reg unload HKLM\WIM

Ricostruzione del file install.wim (Valido per un solo image index)
Come molti di voi già sapranno, l’installazione della Release Preview cinese, trapelata giorni prima di quella ufficiale, non andava a buon fine, questo perché durante l’eliminazione del tag che contrassegnava l’ID OEM del gruppo di dipendenti Microsoft che aveva preso parte alla compilazione di quella build, l’install.wim ne uscì danneggiato; in questi casi è facile darsi per vinti e attendere (come è giusto che sia) la distribuzione ufficiale, ma, il caso vuole che ci siano utenti molto impazienti di testare le nuove funzionalità delle nuove build.
Per eseguire questa operazione è necessario scaricare Gimagex, che troverete a questo link.

Il pacchetto scaricato conterrà l’applicazione, sia per architetture a 32 che a 64 bit. Una volta avviata l’applicazione, dirigetevi sulla tab Info e cliccate su Browse…: da quì selezionate il file install.wim corrotto e cliccate su Open. Successivamente vi verranno fornite delle informazioni sul file install.wim in questione. Salvate: Name, Description e Flags dell’index image che avete emulato.
Una volta fatto ciò, dirigetevi sulla tab Capture, e incollate in Source la directory della cartella contenente i file estratti dell’install.wim danneggiato, e in Destination la directory di salvataggio del file di output ricostruito; lasciate vuoto il campo Display Name e SKU Flag, e settate Compression su Maximum.

Cliccate infine su Create, e attendete che la ricostruzione giunga al termine.
Una volta terminata la ricostruzione dovrete settare: Name, Description e SKU Flag (Flag). Procedete quindi con il download di Imagex, che troverete a questo link.
Così come per il pacchetto di Gimagex, anche questo pacchetto conterrà l’applicazione, sia per architetture a 32 che a 64 bit.
Una volta terminato il download del pacchetto, estraete l’eseguibile imagex.exe in system32, e ritornate sul prompt dei comandi; date la seguente linea di comando:

imagex /flags “flags” /info directoryinstallwimricostruito\install.wim numeroimageindex name description

Una volta terminata l’operazione, sostituite il vecchio install.wim e procedete con l’installazione.

NOTE

Installazione generalizzata

Per installazione generalizzata, si intende quel tipo di installazione che non si basa su alcun hardware, ma che si adatta al hardware su cui viene installata.

WinPE

Acronimo di Windows Preinstallation Environment, ossia l’ecosistema di pre-installazione di un sistema operativo (Praticamente il setup).

Numero Index image
Windows 7 client
“1” = Starter
“2” = Home Basic
“3” = Home Premium
“4” = Professional
“5” = Ultimate

Windows 8 client
“1” ;= Pro
“2” = Core

Articolo di Windows Blog Italia
Introduzione | Hoxygen92