Visualizzazione post con etichetta install.wim. Mostra tutti i post
Visualizzazione post con etichetta install.wim. 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ì 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.