- Dettagli
- Visite: 4325
C’è stato un tempo in cui era possibile condividere la scheda video fisica (Graphical Processing Unit GPU) con le macchine virtuali in Hyper-V. La funzionalità si chiamava RemoteFX vGPU ed era stata introdotta in Windows 7.
Quel tempo è però finito con Windows 10, versione 1809 e Windows Server 2019, quando Microsoft ha rimosso la funzionalità a causa di problemi di sicurezza, ben documentati alla pagina KB4570006: Update to disable and remove the RemoteFX vGPU component in Windows - Microsoft Support
Nelle versioni di Windows Server LTSC (Windows Server 2016, Windows Server 2019) and Windows Server SAC (Windows Server, version 1803 e successive) è stata introdotta una nuova tecnologia capace di avere delle vGPU sicure, chiamata Discrete Device Assignment (DDA), documentata alla pagina Deploy graphics devices using Discrete Device Assignment | Microsoft Learn
Grazie alla tecnologia Discrete Device Assignment (DDA) è possibile passare un intero dispositivo PCIe in una macchina virtuale. Ciò consente l'accesso ad alte prestazioni ai dispositivi come i dischi NVMe o le schede grafiche dall'interno di una macchina virtuale, consentendo di sfruttare i driver nativi dei dispositivi.
Il problema però è che Discrete Device Assignment (DDA) è disponibile solo in Hyper-V e non in Client Hyper-V, quello per intenderci disponibile in Windows 10 o in Windows 11.
In Windows 10 e in Windows 11 è però possibile utilizzare il GPU Partitioning (GPU-P) introdotto in Windows 10 Pro/Enterprise, versione 1903. Grazie al GPU Partitioning potete far vedere la scheda grafica fisica del vostro computer all’interno delle macchine virtuali Hyper-V.
È possibile aggiungere la scheda video alle VM utilizzando la cmdlet Add-VMGpuPartitionAdapter, che non è documentata da Microsoft. ☹
Tra i problemi che ho riscontrato è stato far funzionare i driver video all’interno della VM, che non possono essere installati nella Guest VM ma devono essere copiati dalla macchina host e incollati nella stessa posizione all’interno della VM.
Per fortuna mi sono imbattuto nel progetto Easy-GPU-PV: A Project dedicated to making GPU Partitioning on Windows easier!
Leggete le istruzioni riportate per assicurarvi di avere tutti i prerequisiti di utilizzo degli script messi a disposizione da James Stringer e dai suoi collaboratori.
Il progetto permette di semplificare di molto la GPU Paravirtualization in Windows Hyper-V in quanto si occuperà di copiare i driver dal vostro computer per poterli installare nella VM.
Prerequisiti
Prima di cominciare è necessario che:
- La VM a cui volete collegare la scheda video sia di Generazione 2
- La VM non usi la memoria dinamica e i checkpoint
- La scheda video montata sull’host fisico suppporti la funzionalità di partizionamento (che permette la condivisione della scheda con le VM)
Per verificare se la scheda video possa essere partizionata potete lanciare il comando Get-VMPartitionableGpu (in Windows 10) oppure Get-VMHostPartitionableGpu (in Windows 11). Nella figura sotto è mostrato l’output del comando effettuato su un mio host con Windows 10 22H2, che mostra che la mia GPU è partizionabile.
Figura 1: Output del comando Get-VMPartitionableGpu
A questo punto potete effettuare il download del progetto Easy-GPU-PV: A Project dedicated to making GPU Partitioning on Windows easier! ed estrarlo in una cartella dell’host Hyper-V.
Figura 2: Download del progetto Easy-GPU-PV
Figura 3: Contenuto del progetto Easy-GPU-PV
Eseguite da un prompt di PowerShell eseguito con privilegi elevati lo script .\Update-VMGpuPartitionDriver.ps1 -VMName "Nome della VM" -GPUName "AUTO" sostituendo il nome della VM da configurare. L’opzione -GPUName "AUTO" è obbligatoria in Windows 10 e serve a riconoscere la scheda video installata sull’host tramite lo script PreChecks.ps1, mentre in Windows 11 può essere sia AUTO che contenere il nome della scheda video.
Lo script si occuperà di spegnere la macchina virtuale (se è accesa), prelevare i driver della scheda video dal computer host e, dopo aver montato il disco VHD della VM, di copiare i driver nella stessa posizione all’interno della VM. La copia dei driver può durare alcuni minuti.
NOTA: Per poter eseguire lo script potrebbe essere necessario modificare la Execution Policy.
Figura 4: Esecuzione dello script che copia i driver della scheda video dall'host alla VM
Per poter aggiungere la scheda video alla VM, aprite un prompt di PowerShell (o PowerShell ISE) con privilegi elevati ed eseguite i seguenti comandi, ricordandovi di dare alla variabile $vm il nome della VM da configurare.
$vm = "Nome della VM da configurare"
if (Get-VMGpuPartitionAdapter -VMName $vm -ErrorAction SilentlyContinue) {
Remove-VMGpuPartitionAdapter -VMName $vm
}
Set-VM -GuestControlledCacheTypes $true -VMName $vm
Set-VM -LowMemoryMappedIoSpace 1Gb -VMName $vm
Set-VM -HighMemoryMappedIoSpace 32Gb -VMName $vm
Add-VMGpuPartitionAdapter -VMName $vm
Figura 5: Aggiunta della scheda video alla VM
Test di funzionamento
Quando accenderete la VM, aprendo Gestione periferiche, noterete che nella VM ci sarà la scheda video del vostro host, come mostrato in figura:
Figura 6: La scheda video è stata montata correttamente all'interno della VM
Ho anche eseguito un benchmark della scheda video all’interno della VM aprendo il browser e collegandomi alla pagina HTML5 Fish Bowl (testdrive-archive.azurewebsites.net). Configurate il parametro Fish su Auto per testare le performance della scheda video all’interno della VM.
Figura 7: Benchmark della scheda video all'interno della VM
Ho notato però che nel Task Manager della VM non ci sono i contatori relativi alla GPU. Tutto però funziona correttamente.
Figura 8: Nel Task Manager della VM non ci sono i contatori relativi alla GPU
Mettendo a confronto due macchine virtuali eseguite sullo stesso host, una con la GPU ed una senza, la differenza come potete vedere dalla figura sotto è notevole.
Figura 9: Due macchine virtuali eseguite sullo stesso host di virtualizzazione con Windows 10, una con la GPU ed una senza
Aggiornamento dei driver
È importante che aggiorniate i driver della VM quando effettuate l’aggiornamento dei driver video dell’host. L’aggiornamento va eseguito in questo ordine:
- Riavviate l’host dopo aver aggiornato i driver della GPU
- Aprite un prompt di PowerShell con privilegi amministrativi e lanciate nuovamente lo script .\Update-VMGpuPartitionDriver.ps1 -VMName "Nome della VM" -GPUName "AUTO"
Conclusioni
Questa procedura non è documentata da Microsoft e quindi non è supportata. Pertanto, non usatela in produzione! In ogni caso è davvero interessante poter avere anche all’interno delle macchine virtuali la capacità di computing della scheda video. 😊
- Dettagli
- Visite: 3825
Abbiamo già visto nella guida Windows Package Manager: Installazioni semplificate delle applicazioni In Windows 10 e in Windows 11 che è possibile installare applicazioni in Windows tramite Windows Package Manager (anche conosciuto come winget), una soluzione gratuita e open-source di gestione pacchetti completa costituita da uno strumento da riga di comando (winget) e da un set di servizi per l'installazione di applicazioni in Windows 10 e Windows 11.
Uno strumento di gestione pacchetti è un sistema o un set di strumenti usati per automatizzare l'installazione, l'aggiornamento, la configurazione e l'utilizzo del software. La maggior parte degli strumenti di gestione pacchetti è progettata per individuare e installare gli strumenti di sviluppo, ma non solo. Il vantaggio offerto da questi tool è quello di ridurre il tempo impiegato per la preparazione di un ambiente e garantire che nel computer siano installate le stesse versioni dei pacchetti. Un utilizzo può essere quello trattato nel mio articolo Boxstarter e Chocolatey: Automatizzare l’installazione dei software in Windows.
Chocolatey è un repository per Windows gestito dalla comunità che ad oggi contiene circa 7.500 differenti pacchetti software pronti per l'installazione.
Si tratta del più vasto registro online di pacchetti per Windows: i pacchetti di Chocolatey racchiudono tutto ciò che è necessario per gestire un particolare programma comprendendo procedure d'installazione, eseguibili, file compressi, script, il tutto in un unico file compilato (formato nupkg).
Alla pagina Chocolatey Software | Packages trovate la lista di tutti i pacchetti disponibili, da cui potrete anche ricavare il nome da utilizzare per l’installazione dei pacchetti software
Una volta installato Chocolatey utilizzando lo script presente a link https://chocolatey.org/install.ps1 sarà possibile utilizzare una sintassi molto semplice per installare i pacchetti. PowerShell provvederà a scaricare e a eseguire lo script ufficiale per la configurazione di Chocolatey sul sistema locale. Verrà creata anche la variabile globale choco in modo che sia possibile installare i pacchetti software usando la sintassi choco install nomepacchetto.
Requisiti di installazione
Chocolatey necessita dei seguenti requisiti per l’installazione
- Windows 7+/Windows 2003+ (Server Core also, but not Windows Nano Server)
- Windows PowerShell v2+ (not PowerShell Core aka PowerShell 6 yet)
- .NET Framework 4.x+
Installazione di Chocolatey
Per installare Chocolatey aprite un terminale con privilegi amministrativi (io ho scelto PowerShell) e lanciate il seguente comando
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
Figura 1: Installazione di Chocolatey in Windows 11
Verificate con il comando choco /? che l’installazione sia andata a buon fine e per imparare i comandi disponibili
Figura 2: Verifica dell'installazione di Chocolatey
È disponibile anche un’interfaccia grafica chiamata Chocolatey GUI che si installa tramite il comando choco install chocolateygui. Come potete vedere tramite un semplicissimo comando viene scaricata e installata un’applicazione e tutte le sue dipendenze.
Figura 3: Installazione di Chocolate GUI
Figura 4: Interfaccia di Chocolatey GUI
Selezionando il nodo chocolatey nel menu di sinistra vi verranno mostrati tutti i pacchetti a disposizione.
Figura 5: Pacchetti disponibili in Chocolatey
Selezionate il pacchetto di vostro interesse e cliccate due volte per vederne le caratteristiche e le dipendenze. Fate clic su Install per iniziare il download e l’installazione.
Figura 6: Caratteristiche del pacchetto da installare ed eventuali dipendenze
Figura 7: Installazione del pacchetto in corso
Nel nodo This PC a sinistra potrete vedere tutti i software installati.
Figura 8: Software installati sul PC
Conclusioni
Uno strumento di gestione pacchetti è un sistema o un set di strumenti usati per automatizzare l'installazione, l'aggiornamento, la configurazione e l'utilizzo del software. Chocolatey funziona con più di 20 tecnologie di installazione per Windows, utilizza PowerShell e permette di effettuare installazioni non assistite di tantissimi pacchetti, semplificando di fatto sia la distribuzione delle applicazioni sia la loro eventuale configurazione. Grazie a Chocolatey è possibile automatizzare l'installazione dei software più utilizzati in ambiente Windows e gestirne l'intero ciclo di vita usando un unico strumento. In più è una soluzione open source.
Maggiori informazioni in lingua inglese alla pagina Chocolatey Software Docs | Why Chocolatey?
- Dettagli
- Visite: 1594
Da Windows 10, versione 2004 è disponibile una funzionalità molto utile nel caso ci sia la necessità di resettare il pc: Reset this PC option – Cloud Download. Grazie a questa funzionalità non abbiamo più bisogno di un DVD o di una pendrive USB per reinstallare Windows, ma possiamo semplicemente effettuare il Reset della macchina, che riporterà il sistema operativo al momento della sua installazione iniziale.
Ne avevo già parlato nella guida NicolaFerrini.it - Reset di Windows 10 utilizzando l’opzione di Cloud Download
La stessa funzionalità è presente in Windows 11. Per poter iniziare il reset e la reinstallazione di Windows 11 è sufficiente andare in Settings --> System --> Recovery e cliccare su Reset PC
Figura 1: Schermata di recovery di Windows 10
Scegliete se volete mantenere i vostri documenti oppure se volete rimuovere tutto e reinstallare completamente il sistema operativo. Io ho scelto di mantenere i miei file.
Figura 2: Opzioni per il ripristino di Windows
Nella schermata successiva scegliete se volete utilizzare il Cloud Download e scaricare i file più aggiornati oppure se volete ripristinare Windows con la stessa versione che è attualmente installata.
Figura 3: Scelta della modalità di Cloud download per la reinstallazione di Windows 10
A questo punto seguite il wizard per completare le configurazioni richieste e procedete al reset.
Figura 4: Avviso relativo alle configurazioni di reset
Figura 5: Avvio del reset
Figura 6: Download dei file necessari alla reinstallazione di Windows 11
Terminato il download dei file necessari, la reinstallazione di Windows 10 procede in automatico e saranno necessario diversi riavvi. Nelle schermate sotto sono mostrati tutti i passaggi visualizzati dall’utente.
Figura 7: Primo riavvio della macchina con Windows 11
Figura 8: Secondo riavvio della macchina Windows 11
Dopo qualche minuto all’utente verrà chiedo di accedere alla macchina e si procederà con le ultime configurazioni.
Figura 9: Aggiornamento del profilo utente e ultime configurazioni
Figura 10: Aggiornamento del profilo utente e ultime configurazioni
Figura 11: Aggiornamento del profilo utente e ultime configurazioni
Nel giro di 2-3 minuti l’utente potrà accedere al proprio profilo. Ovviamente avendo resettato il PC sarà necessario reinstallare tutte le applicazioni.
Sul desktop troverete una pagina web con tutte le applicazioni che sono state rimosse durante il Reset.
Figura 12: Reset di Windows 11 completato
Figura 13: Elenco delle applicazioni rimosse durante il Reset
Ripristino di Windows 10 in caso di guasto grave oppure di BSOD (Blue Screen OF Death)
Nel caso il PC abbia subito un guasto software grave e non siate in grado di riavviarlo, è possibile utilizzare la stessa funzionalità facendolo ripartire in modalità Recovery.
Figura 14: Windows 11 ha riscontrato un problema e viene visualizzato un BSOD (Blue Screen OF Death)
Nel momento in cui Windows 11 parte in modalità Recovery (che potete anche forzare tenendo premuto il tasto SHIFT quando riavviate il PC) è possibile scegliere la voce TroubleShoot per resettarlo
Figura 15: Opzione di troubleshoot disponibile nel recovery mode di Windows 11
Figura 16: Reset del PC nel recovery mode di Windows 11
Figura 17: Scelta della rimozione dei file o del mantenimento dei propri documenti
Figura 18: Scelta della modalità di reinstallazione, con il Cloud download
Figura 19: Avvio del reset del PC
Il PC verrà riavviato diverse volte e nelle schermate sotto sono mostrati tutti i passaggi visualizzati dall’utente.
Figura 20: Downlaod dei file necessari al reset di Windows 10 tramite Internet
Figura 21: Reset del PC
Figura 22: Reinstallazione di Windows 11
Dopo qualche minuto all’utente verrà chiedo di accedere alla macchina e si potrà procedere con le ultime configurazioni e con la reinstallazione delle applicazioni rimosse.
Figura 23: Reset di Windows 11 avvenuto con successo
Conclusioni
La funzionalità di Cloud Download permette di poter effettuare la reinstallazione di Windows 10 senza avere a disposizione la ISO di Windows e anche nel caso in cui l’installazione sia corrotta sarà possibile ripristinare il sistema operativo, scaricando i file più aggiornati direttamente da Internet. La soluzione è decisamente interessante per l’utente finale, che quasi mai ha a disposizione il DVD di installazione.
- Windows Package Manager: Installazioni semplificate delle applicazioni In Windows 10 e in Windows 11
- Eseguire app Android in Windows 11
- Rilasciato Windows 11 2022 Update
- Ricevuto il premio 2022-2023 Microsoft Most Valuable Professional (MVP)
- #POWERCON2022 - evento online del 24 giugno - Azure Virtual Desktop – La soluzione Desktop-As-A-Service sicura di Microsoft
- Sensibilizzazione alla sicurezza informatica: perchè la prevenzione è sempre meglio della cura!
- Windows 11 Onboarding Kit
- Installare Windows 11 in qualsiasi computer
- Boxstarter e Chocolatey: Automatizzare l’installazione dei software in Windows
- Posticipare o impedire la distribuzione dell’aggiornamento di Windows 10 a Windows 11
- #POWERCON2021 – Evento online del 10 dicembre – Windows Server 2022, le novità sulla sicurezza e la gestione ibrida di Azure
- MCT (Microsoft Certified Trainer) Regional Lead 2022-2023
- #POWERCON2021 – Hybrid work e gestione del new normal – Evento online gratuito
- Come funzionano i profili utente in Windows: Local, Roaming, Mandatory e Super Mandatory
- Come scaricare ed installare Windows 11
- Liberare automaticamente spazio su disco utilizzando la funzionalità Storage Sense di Windows 10
- Ricevuto il premio 2021-2022 Microsoft Most Valuable Professional (MVP)
- Annunciata la prima Insider Preview di Windows 11
- Protezione Ransomware di Windows 10
- Azure Active Directory Application Proxy