Visualizzazione post con etichetta DISM. Mostra tutti i post
Visualizzazione post con etichetta DISM. Mostra tutti i post

lunedì 1 maggio 2023

Windows Quick Tip: Visualizzare la versione, l'edizione e la build di Windows dal file ISO o WIM

In questo articolo approfondiremo quanto già visto nell'articolo Windows Quick Tip: Visualizzare informazioni su un file WIM (Windows Imaging) mostrando come utilizzare DISM e PowerShell per scoprire quali versioni, edizioni, build, language pack di Windows sono presenti all'interno di un file ISO o WIM. Se il nome di un file ISO (o il nome del supporto di installazione) non contiene una versione e una build, è difficile sapere quale versione di Windows contiene. In questi casi è possibile montare il file ISO contenente l'immagine di installazione di Windows e recuperare tali informazioni dal file install.wim.

Una volta montato il file ISO (o inserito il supporto di installazione) accedere alla cartella sources e individuare il file di installazione contenente l'immagine di Windows. Il file si chiama install e può avere una delle seguenti estensioni:
  • install.wim. WIM è un formato standard di immagine di installazione di Windows.
  • install.esd. ESD è un file immagine compresso.
  • install.swm. SWM viene utilizzato se si desidera dividere un'immagine WIM di grandi dimensioni in più file di dimensioni non superiori a 4 GB, in modo da inserirli nel file system FAT32 se si crea una chiavetta USB di installazione.
Prendere nota del nome del file e del suo percorso, avviare il prompt dei comandi come amministratore ed eseguire il seguente comando
DISM /Get-WimInfo /WimFile:"X:\sources\install.wim"
sostituendo X:\sources\Install.wim con nome del file, comprensivo del percorso, individuato in precedenza.

Verranno visualizzate le informazioni relative alla versione di Windows contenuta nel file. Nel caso si tratti di un ISO multi-edition, verrà visualizzato un elenco delle edizioni disponibili (Education, Home, Enterprise, Pro, ecc.) come mostrato in FIG 1.
Immagine di Windows multi-edition
FIG 1 - Immagine di Windows multi-edition

Ogni edizione è contrassegnata da un indice utilizzabile per ottenere informazioni più dettagliate. Per visualizzare maggiori informazioni (come build e lingue disponibili) su un'edizione specifica presente in elenco, è possibile indicarla tramite l'indice e l'opzione /index aggiunta al comando DISM visto in precedenza. Ad esempio, per visualizzare le informazioni sull'edizione contrassegnata dall'indice 5, basterà eseguire il comando
DISM /Get-WimInfo /WimFile:"X:\Sources\Install.wim" /index:5
DISM multi-edition, index
FIG 2 - DISM multi-edition, index

L'operazione sopra descritta può essere automatizzata tramite un semplice script PowerShell
 #Indicare il file ISO contenente l'immagine di Windows (ad es. d:\win.iso)  
 $imagePath = (Read-Host -Prompt "Indicare il file ISO contenente l'immagine di Windows")  
 #Verifico se il file indicato esiste  
 If (Test-Path -Path $imagePath){  
      #Se il file esiste provo a montarlo  
      $mountResult = Mount-DiskImage $imagePath -PassThru  
      #Recupero la lettera di unità con cui viene identificata l'immagine montata  
      $driveLetter = "$(($mountResult | Get-Volume).DriveLetter):"  
      #Visualizzo le versioni di Windows contenute nel file install.wim  
      Get-WindowsImage -ImagePath "$driveLetter\sources\install.wim"  
      #Esegue l'unmount dell'immagine  
      Dismount-DiskImage $mountResult.ImagePath  
 }  
 else{  
      #Il file specificato non è stato trovato  
      write-host("Il file specificato non esiste!")  
 }  
Script PowerShell per la visualizzazione delle edizioni di Windows presenti nell'immagine
FIG 3 - Script PowerShell per la visualizzazione delle edizioni di Windows presenti nell'immagine

Con alcune modifiche possiamo generare un report che visualizza i dettagli di ciascuna edizione di Windows presente nell'immagine
 $Report = @()  
 #Indicare il file ISO contenente l'immagine di Windows (ad es. d:\win.iso)  
 $imagePath = (Read-Host -Prompt "Indicare il file ISO contenente l'immagine di Windows")  
 #Verifico se il file indicato esiste  
 If (Test-Path -Path $imagePath){  
      #Se il file esiste provo a montarlo  
      $mountResult = Mount-DiskImage $imagePath -PassThru  
      #Recupero la lettera di unità con cui viene identificata l'immagine montata  
      $driveLetter = "$(($mountResult | Get-Volume).DriveLetter):"  
      #Visualizzo le versioni di Windows contenute nel file install.wim  
      $WinImages = Get-WindowsImage -ImagePath "$driveLetter\sources\install.wim"  
      #Per ogni edizione di Windows contenuta nell'immagine  
      Foreach ($WinImage in $WinImages){  
           #Recupera informazioni da inserire nel report  
           $curImage=Get-WindowsImage -ImagePath "$driveLetter\sources\install.wim" -Index $WinImage.ImageIndex  
           $objImage = [PSCustomObject]@{  
                ImageIndex = $curImage.ImageIndex  
                ImageName = $curImage.ImageName  
                Version = $curImage.Version  
                Languages=$curImage.Languages  
                Architecture =$curImage.Architecture  
           }  
           $Report += $objImage  
      }  
      #Esegue l'unmount dell'immagine  
      Dismount-DiskImage $mountResult.ImagePath  
      #Visualizza il report  
      $Report | Out-GridView  
 }  
 else{  
      #Il file specificato non è stato trovato  
      write-host("Il file specificato non esiste!")  
 }  
Report edizioni di Windows contenute nell'immagine
FIG 4 - Report edizioni di Windows contenute nell'immagine







martedì 25 giugno 2019

Windows Quick Tip: Eseguire il backup dei driver installati

Ci sono circostanze in cui può essere utile salvare i driver installati sul PC in modo da poterli riutilizzare in un momento successivo, ad esempio dopo la reinstallazione del sistema operativo. Windows (Windows 10, 8 e 7) permette di effettuare un backup dei driver installati attraverso il comando dism e senza ricorrere all'utilizzo di software di terze parti:
  • Avviare il prompt dei comandi come amministratore
  • Eseguire il seguente comando 
    dism /online /export-driver /destination:"C:\BackupDrivers"
    dove al posto di C:\BackupDrivers va indicata la cartella dove si intende salvare il backup dei driver.
Windows, backup dei driver installati
FIG 1 - Windows, backup dei driver installati






martedì 12 settembre 2017

Windows 10: Ridurre le dimensioni della cartella WinSxS

Nell'articolo Windows Quick Tip: WinSxS. Ridurre le dimensioni del Component Store è stato già mostrato come ridurre le dimensioni della cartella WinSxS utilizzando il comando
Dism /Online /Cleanup-Image /SPSuperseded /HideSP
in cui l'opzione SPSuperseded rimuove i file di backup creati durante l'installazione di un Service Pack mentre HideSP impedisce che il Service Pack venga elencato negli Aggiornamenti installati del Pannello di controllo.

Per verificare se è consigliabile effettuare la pulizia del Component Store si può procedere all'analisi dell archivio tramite il seguente comando (lanciato dal Prompt dei comandi eseguito come amministratore)
Dism /Online /Cleanup-Image /AnalyzeComponentStore



Windows, analisi del Component Store
FIG 1 - Windows, analisi del Component Store

Al termine dell'analisi verrà visualizzato un report e indicato se è opportuno effettuare la pulizia dell'archivio dei componenti. In caso affermativo è possibile eseguire il comando 
Dism /Online /Cleanup-Image /StartComponentCleanup /ResetBase

L'opzione StartComponentCleanup viene utilizzata per pulire i componenti sostituiti mentre ResetBase ripristina la base dei componenti sostituiti e riduce ulteriormente le dimensioni dell'archivio dei componenti.

Rilanciando il comando relativo all'analisi del Component Store è possibile verificarne la dimensione dopo l'intervento.



lunedì 14 novembre 2016

Windows Quick Tip: Visualizzare informazioni su un file WIM (Windows Imaging)

Il formato Windows Imaging (WIMè un formato dell'immagine disco basata su file sviluppato dalla Microsoft per distribuire i suoi sistemi operativi. Il primo sistema operativo ad essere distribuito in tale formato è stato Windows Vista.

Sui supporti di installazione dei sistemi operativi Microsoft il file WIM è generalmente nominato in install.wim e si trova all'interno della cartella Sources. É facilmente riconoscibile sia dall'estensione .WIM sia dalla sua dimensione (si tratta del file più grande presente all'interno del supporto).

Per recuperare o modificare le informazioni contenute nei file WIM viene utilizzato il Deployment Image Service and Management Tool (DISM). 

Tra le informazioni visualizzabili tramite DISM troviamo il nome del sistema operativo, versione, architettura, dimensione e data di creazione del file WIM.

Per visualizzare tali informazioni basta eseguire pochi e semplici passaggi:
  • Avviare il Prompt dei comandi (come amministratore);
  • Eseguire il comando
    Dism /Get-WimInfo /WimFile:X:\sources\install.wim /index:1
    ovviamente sostituendo a 
    X:\sources\install.wim il percorso e il nome del file .wim che si intende analizzare.
FIG 1 - DISM, visualizzare informazioni su file WIM


martedì 30 agosto 2016

Windows 7: Integrare i driver USB 3.0 all'interno del DVD di installazione

Il DVD di Windows 7 non include i driver dell'interfaccia USB 3.0 e questo, su alcune configurazioni hardware, può impedire di portare a termine l'installazione del sistema operativo dato che anche mouse a tastiera USB potrebbero non essere utilizzabili in tale fase. Il progresso tecnologico può portare anche a questo, così configurazioni hardware recenti (come ad es. il SoC Intel Braswell che integra un nuovo controller USB 3.0 non riconosciuto da Windows 7 in fase di installazione) possono presentare problemi con Sistemi Operativi realizzati qualche anno prima.
Se non si intende rinunciare all'installazione di Windows 7 passando ad un sistema più recente è possibile rimboccarsi le maniche e integrare i file necessari all'interno del DVD (o della pendrive usb) di installazione.

Quello di cui abbiamo bisogno è di un PC funzionante con Sistema Operativo Windows su cui operare.
  • In C:\ creare una cartella e rinominarla in WIM
  • All'interno della cartella WIM creiamo 2 nuove cartelle rinominandole rispettivamente Mount e USB3
  • Scarichiamo il driver USB dal sito Intel (https://downloadcenter.intel.com/download/24896/USB-3-0-Intel-USB-3-0-Driver-for-Intel-NUC)
  • Scompattiamo il file contenente il driver. Cerchiamo e copiamo le cartelle Win7 e HCSwitch all'interno di C:\WIM\USB3. All'interno di tali cartelle sono presenti le versioni x64 e x32 dei driver. Utilizziamo quelli specifici per la versione di Windows 7 che intendiamo installare.
  • Dal DVD di installazione di Windows 7 cerchiamo i file Install.wim e Boot.wim e copiamoli in C:\WIM
  • Apriamo un Prompt dei comandi come amministratore e posizioniamoci in C:\WIM
  • Ora subentra la fase più delicata. Andremo a modificare l'immagine di Windows tramite DISM. Digitare il comando
    Dism /Mount-Wim /wimfile:"Install.wim" /index:X /MountDir:"mount"
    Il valore di X del parametro index dipende dalla versione di Windows 7 che si sta modificando: 1 per Home Basic, 2 per Home Premium, 3 per Professional, 4 per Ultimate
  • Il prossimo passo consiste nell'aggiungere i driver all'immagine con il seguente comando 
    Dism /image:"mount" /add-driver /driver:"USB3" /recurse
  • Salviamo l'immagine modificata con il comando 
    Dism /Unmount-Wim /mountdir:"mount" /commit

Ora dobbiamo effettuare un'operazione analoga con il file Boot.wim
  • Lanciamo il comando 
    Dism /Mount-Wim /wimfile:"Boot.wim" /index:1 /MountDir:"mount" 
    A differenza di quanto visto per il file Install.wim, in questo caso il parametro index deve essere 1
  • Aggiungiamo il driver con il comando 
    Dism /image:"mount" /add-driver /driver:"USB3" /recurse
  • Salviamo il file con il comando
    Dism /Unmount-Wim /mountdir:"mount" /commit
  • Modifichiamo l'index 2 con 
    Dism /Mount-Wim /wimfile:"Boot.wim" /index:2 /MountDir:"mount"
  • e aggiungiamo il driver anche qui con
    Dism /image:"mount" /add-driver /driver:"USB3" /recurse
  • Quindi applichiamo le modifiche 
    Dism /Unmount-Wim /mountdir:"mount" /commit
Adesso i file Install.wim e Boot.wim presenti in C:\WIM integrano i driver del controller USB 3.0. Possiamo scaricare l'ISO di Windows 7 oppure crearla, con appositi tool come UltraISOMagic ISO MakerPowerISO (anche in prova gratuita), dal DVD in nostro possesso. Nella ISO, sempre con gli appositi tool, andremo a sostituire i file Install.wim e Boot.Wim con quelli da noi modificati e procedere alla masterizzazione di un nuovo DVD.
In alternativa, dall'ISO originale, possiamo creare una pendrive bootable con il tool gratuito Windows USB/DVD Download Tool  quindi sostituiamo i 2 file all'interno della pendrive e possiamo procedere con l'installazione del sistema operativo facendo il boot da USB.