Condividi tramite


Configurare un'unità Dev Drive su Windows 11

Dev Drive è una nuova forma di volume di archiviazione disponibile per migliorare le prestazioni per i carichi di lavoro chiave degli sviluppatori.

Dev Drive si basa sulla tecnologia ReFS per usare ottimizzazioni del file system mirate e fornire maggiore controllo sulle impostazioni e sulla sicurezza del volume di archiviazione, tra cui designazione di attendibilità, configurazione antivirus e controllo amministrativo sui filtri collegati.

Vedere il post di blog: Dev Drive for Performance Improvements in Visual Studio e Dev Boxes per alcune misurazioni di miglioramento medio tra le operazioni di sviluppo comuni.

Come configurare un'unità Dev Drive

Per configurare una nuova unità Dev, aprire Impostazioni di Windows e passare a Sistema>Archiviazione>Impostazioni di archiviazione avanzate>Dischi e volumi. Selezionare Crea unità di sviluppo. I volumi di archiviazione esistenti non possono essere convertiti in unità di sviluppo. La designazione dell’unità di sviluppo (Dev Drive) avviene solo al momento della formattazione originale.

Prima di configurare un'unità di sviluppo, assicurati che i prerequisiti siano soddisfatti.

Screenshot dei dischi e dei volumi di archiviazione di > sistema >

Prerequisiti

  • Windows 11, Build #10.0.22621.2338 o versione successiva (Verifica aggiornamenti di Windows)
  • Consigliare 16 GB di memoria (almeno 8 GB)
  • Spazio su disco minimo di 50 GB
  • Le unità di sviluppo sono disponibili in tutte le versioni SKU di Windows.
  • Autorizzazioni di amministratore locale.

Quando si esegue l'aggiornamento alla versione più recente di Windows 11, potrebbe essere necessario un riavvio aggiuntivo prima che la funzionalità Unità di sviluppo diventi disponibile. Se si lavora in un ambiente aziendale, l'amministratore della sicurezza dovrà configurare i criteri di sicurezza di Dev Drive per abilitare Dev Drive .

Avviso

Dev Drive è destinato solo agli scenari di sviluppo principali e tutte le impostazioni personalizzate saranno ancora coperte dalle impostazioni dei Criteri di gruppo negli ambienti aziendali o di enterprise. Altre informazioni su come configurare i criteri di sicurezza di Dev Drive.

Configurare le opzioni

Verranno fornite tre opzioni:

  1. Crea nuovo VHD - Crea un volume su un nuovo disco rigido virtuale
  2. Ridimensionare un volume esistente - Creare nuovo spazio non allocato per l'espansione
  3. Spazio non allocato su disco : usare lo spazio non allocato in un disco esistente. * Questa opzione verrà visualizzata solo se in precedenza è stato configurato lo spazio non allocato nella risorsa di archiviazione.

Screenshot della creazione di un'unità dev

Come scegliere tra l'uso di una partizione disco o di un disco rigido virtuale (VHD)

Esistono vantaggi e compromessi da considerare quando si sceglie se creare una partizione del disco o creare un nuovo disco rigido virtuale per archiviare l'unità di sviluppo.

  • Creare una partizione del disco: l'archiviazione dell'unità di sviluppo in una partizione disco offre in genere prestazioni più veloci perché usa direttamente il disco fisico senza livelli aggiuntivi. I compromessi consistono nella minore flessibilità di un disco partizionato (perché il ridimensionamento delle partizioni può essere più complesso e rischioso) e nella minore portabilità, perché la partizione è associata al disco fisico.

  • Creare un nuovo VHD: l'archiviazione del Dev Drive in un disco rigido virtuale (VHD) potrebbe avere prestazioni leggermente inferiori a causa del sovraccarico della gestione del livello del disco virtuale. I compromessi sono che i dischi rigidi virtuali offrono maggiore flessibilità per il ridimensionamento dinamico (se è necessario gestire lo spazio su disco in modo efficiente), lo spostamento o il backup dei dati. I VHD sono anche altamente portabili, consentendo il trasferimento del file VHD a un altro computer o percorso di backup. Occorre tuttavia tener presente che quando un VHD è ospitato in un disco fisso (HDD o SSD), non è consigliabile copiarlo, spostarlo in un computer diverso e poi continuare a usarlo come Dev Drive.

Creare un nuovo disco rigido virtuale

Quando si sceglie l'opzione Crea nuovo disco rigido virtuale per configurare un'unità di sviluppo, sarà quindi necessario determinare quanto segue:

  • Nome del disco rigido virtuale: assegnare un nome al disco rigido virtuale (Dev Drive).
  • Percorso: Assegna un percorso di directory in cui il VHD di Dev Drive sarà posizionato nel tuo computer. Il percorso predefinito è C:\. Per evitare condivisioni involontarie, è consigliabile usare un percorso di directory specifico per ciascun utente per archiviare l'unità di sviluppo.
  • Dimensioni del disco rigido virtuale: assegnare la quantità di spazio su disco allocata per il volume da usare, la dimensione minima è di 50 GB.
  • Formato del disco rigido virtuale:
    • VHD: supporta dischi virtuali di dimensioni fino a 2040 GB.
    • VHDX (scelta consigliata): supporta un massimo di 64 TB e offre una protezione più resiliente da errori di I/O imprevisti causati da problemi come l'interruzione dell'alimentazione. Scopri di più sulla gestione dei dischi rigidi virtuali.
  • Tipo di disco:
    • Dimensioni fisse : questo file del disco rigido virtuale viene allocato alle dimensioni massime al momento della creazione.
    • Espansione dinamica : il file del disco rigido virtuale aumenta fino alle dimensioni massime durante la scrittura dei dati nel disco. (consigliato).

Una volta completato il processo di selezione tra queste opzioni, verrà creata l'unità di sviluppo.

Screenshot di Creazione e collegamento di un disco rigido virtuale

Ridimensionare un volume esistente o usare lo spazio non allocato in un disco esistente

Per ridimensionare un volume esistente:

  1. Scegliere un volume da ridimensionare.

    Screenshot di Dev Drive che mostra la scelta del volume da ridimensionare in Impostazioni.

  2. Scegliere una nuova dimensione per il volume. Sarà necessario disporre di almeno 50 GB di spazio non allocato, le dimensioni minime necessarie per un'unità di sviluppo. Dopo aver impostato le dimensioni, selezionare Avanti.

    Screenshot dell'impostazione di modifica delle dimensioni di Dev Drive.

  3. Per formattare un Dev Drive sul nuovo spazio libero, specificare l'Etichetta (nome dell'unità), la Lettera dell'unità e la Dimensione. La dimensione massima sarà la quantità di spazio disponibile allocato nel passaggio precedente, la dimensione minima per un'unità di sviluppo è di 50 GB.

    Screenshot delle impostazioni di Dev Drive: etichetta, lettera dell'unità e dimensioni

Congratulazioni! Hai ora ridimensionato la tua Dev Drive.

Per trovare e usare lo spazio non allocato in un'unità esistente, è possibile aprire Sistema>Archiviazione>Dischi e volumi, esaminare la pagina per verificare se uno spazio di archiviazione è elencato come "Non allocato". Selezionare Crea volume ed è possibile scegliere Crea volume semplice (volume di archiviazione NTFS standard) o Crea unità di sviluppo. Per creare un Dev Drive, i passaggi sono gli stessi descritti in precedenza: è necessario aggiungere un etichetta (nome dell'unità), una lettera dell'unità e confermare l'allocazione della dimensione.

Screenshot dell'elenco di archiviazione di dischi e volumi con spazio di archiviazione non assegnato.

Formattare un volume di archiviazione come Dev Drive dalla riga di comando

In alternativa all'uso delle Impostazioni di Windows, esistono due opzioni per creare volumi di archiviazione Dev Drive tramite riga di comando. Entrambe le opzioni richiedono di aprire la riga di comando come amministratore. Per formattare un disco rigido è necessario essere membri del gruppo Amministratore. La formattazione tramite riga di comando è consigliata quando si devono creare molteplici unità di sviluppo o quando si opera come amministratore di diversi computer.

  1. Uso dello strumento da riga di comando Format di Windows CMD o PowerShell:
Format D: /DevDrv /Q
  1. Uso del cmdlet Format-Volume da PowerShell:
Format-Volume -DriveLetter D -DevDrive

Questi esempi di codice richiedono di sostituire D: con la posizione dell'unità che si desidera usare come destinazione. Vedere i collegamenti per altre opzioni e parametri di comando.

Come funziona Dev Drive?

Un volume di archiviazione specifica il modo in cui i dati vengono archiviati nel file system, tramite directory e file, in un particolare formato. Windows usa NTFS per l'unità di sistema e, per impostazione predefinita, per la maggior parte delle unità non rimovibili. Resilient File System (ReFS) è un formato di file system Microsoft più recente, progettato per ottimizzare la disponibilità dei dati, ridimensionare in modo efficiente i set di dati di grandi dimensioni in carichi di lavoro diversi e garantire l'integrità dei dati con resilienza al danneggiamento. Si propone di affrontare una serie di scenari di archiviazione in espansione e di stabilire una base per le innovazioni future.

Dev Drive usa ReFS per inizializzare un volume di archiviazione in modo specifico per i carichi di lavoro di sviluppo, offrendo prestazioni più veloci e impostazioni personalizzabili ottimizzate per gli scenari di sviluppo. ReFS presenta numerose ottimizzazioni specifiche del file system, progettate per potenziare le prestazioni in situazioni di sviluppo chiave.

Altre informazioni su come Dev Drive gestisce la sicurezza.

Quali elementi dovrei mettere nella mia unità di sviluppo?

L’unità di sviluppo è destinata a:

  • Repository di codice sorgente e file di progetto
  • Cache dei pacchetti
  • File di output e file intermedi di compilazione

Considerazioni sull'installazione di strumenti di sviluppo e SDK in Dev Drive: Gli strumenti di sviluppo e gli SDK vengono in genere inseriti in un amministratore o in una posizione per utente. Questi percorsi offrono garanzie di sicurezza e isolamento specifiche per Windows e influiscono sul comportamento di Microsoft Defender. Tuttavia, molti strumenti offrono la flessibilità necessaria per scegliere il percorso di installazione, inclusa una Dev Drive.

Prima di procedere con l'installazione di strumenti di sviluppo o SDK in una Dev Drive, valutare i compromessi associati al sistema e all'analisi asincrona per assicurarsi che sia allineata ai requisiti di sicurezza del dispositivo e dell'organizzazione. È possibile creare una cartella a livello di amministratore o di singolo utente nella Dev Drive. Inoltre, è importante verificare che la modalità prestazioni di Microsoft Defender (ad esempio, l'analisi asincrona) soddisfi le esigenze di gestione dei file binari.

Nota

Gli amministratori IT dovranno creare cartelle con elenco di controllo degli accessi (ACL) per utente per i dispositivi multi-utente come procedura consigliata per evitare attacchi EOP.

Archiviazione della cache dei pacchetti nell’unità di sviluppo

La cache dei pacchetti è una cartella globale usata dalle applicazioni per archiviare i file del software installato. Questi file di origine sono necessari quando si vuole aggiornare, disinstallare o ripristinare il software installato. Visual Studio è una di queste applicazioni che archivia gran parte dei dati nella cache dei pacchetti. Dopo aver modificato le variabili di ambiente, potrebbe essere necessario riavviare tutte le finestre della console aperte o riavviare il dispositivo per applicare i nuovi valori.

  • Cache Npm (NodeJS): creare una directory della cache npm nel tuo Dev Drive, ad esempio D:\packages\npm, quindi impostare una variabile di ambiente globale su quel percorso, ad esempio npm_config_cachesetx /M npm_config_cache D:\packages\npm. Se nodeJS è già installato nel computer, spostare il contenuto di %AppData%\npm-cache in questa directory. (In alcuni sistemi, la cache npm potrebbe trovarsi in %LocalAppData%\npm-cache). Per altre informazioni, vedere la documentazione npm: npm-cache e npm config: cache.

  • Cartella Global-Packages NuGet: la cartella Global-Packages nuGet viene usata da dotnet, MSBuild e Visual Studio. Creare una directory NuGet specifica dell'utente nel file system CopyOnWrite (CoW). Ad esempio: D:\<username>\.nuget\packages. Usare uno dei seguenti modi per cambiare la cartella global-packages dalla posizione predefinita alla cartella appena creata (per gestire i pacchetti installati a livello globale):

    • Impostare una variabile di ambiente globale NUGET_PACKAGES in tale percorso. Ad esempio: setx /M NUGET_PACKAGES D:\<username>\.nuget\packages.

    • Impostare globalPackagesFolder, quando si usa PackageReferenceo repositoryPath, quando si usa packages.config, in tale percorso nelle impostazioni di configurazione.

    • Impostare la proprietà MSBuild RestorePackagesPath (solo MSBuild) in tale percorso.

      Per verificare la cartella global-packages, eseguire il comando dotnet nuget locals: dotnet nuget locals global-packages --list Il ripristino installerà e scaricherà i pacchetti nel nuovo percorso. È possibile eliminare la cartella predefinita global-packages di NuGet. Per altre informazioni, vedere la documentazione di NuGet: Gestione dei pacchetti globali, della cache e delle cartelle temporanee.

Nota

Esiste attualmente un problema noto: il comando dello strumento Dotnet non rispetta il percorso dei pacchetti NuGet. Il team .NET ne è consapevole e sta cercando una correzione per .NET 10 e un aggiornamento della release di manutenzione per le versioni 8.0 e 9.0.

  • cache vcpkg: creare una directory della cache vcpkg nel tuo Dev Drive, ad esempio D:\packages\vcpkg, quindi impostare una variabile di ambiente globale VCPKG_DEFAULT_BINARY_CACHE su tale percorso, ad esempio setx /M VCPKG_DEFAULT_BINARY_CACHE D:\packages\vcpkg. Se sono già stati installati pacchetti, spostare il contenuto di %LOCALAPPDATA%\vcpkg\archives o %APPDATA%\vcpkg\archives in questa directory. Per altre informazioni, vedere la documentazione vcpkg: memorizzazione nella cache binaria vcpkg.

  • Pip cache (Python): Crea una directory della cache pip nel tuo Dev Drive, ad esempio D:\packages\pip, quindi imposta una variabile di ambiente globale PIP_CACHE_DIR su quel percorso, ad esempio setx /M PIP_CACHE_DIR D:\packages\pip. Se i pacchetti pip e le wheel sono già stati ripristinati nel computer, spostare il contenuto di %LocalAppData%\pip\Cache in questa directory. Per ulteriori informazioni, consultare la documentazione di pip: memorizzazione nella cache pip e vedere StackOverflow per Cambiare la directory della cache di pip su Linux?.

  • Cargo Cache (Rust): creare una directory della cache Cargo in Dev Drive, ad esempio , quindi impostare una variabile D:\packages\cargo di ambiente globale su tale percorso, ad esempio CARGO_HOMEsetx /M CARGO_HOME D:\packages\cargo. Se i pacchetti Cargo sono già stati ripristinati nel computer, spostare il contenuto di %USERPROFILE%\.cargo in questa directory. Per ulteriori informazioni, consultare la documentazione di Cargo: Variabili ambientali di Cargo.

  • Cache Maven (Java): creare una directory della cache Maven in Dev Drive, ad esempio , quindi impostare una variabile D:\packages\maven di ambiente globale per aggiungere un'impostazione di configurazione a tale percorso, ad esempio MAVEN_OPTSsetx /M MAVEN_OPTS "-Dmaven.repo.local=D:\packages\maven". Spostare il contenuto di %USERPROFILE%\.m2\repository in questa directory (inclusi solo le dipendenze, i plug-in e altri artefatti scaricati da Maven nella repository cartella e usati per i progetti). Scopri di più nei documenti Maven e consulta StackOverflow per come specificare un percorso alternativo per la cartella .m2 o settings.xml in modo permanente?.

  • Cache Gradle (Java): crea una directory per la cache di Gradle nel tuo Dev Drive, ad esempio, D:\packages\gradle. Impostare quindi una variabile di ambiente globale GRADLE_USER_HOME in modo che punti a tale percorso, ad esempio, usare setx /M GRADLE_USER_HOME D:\packages\gradle nella riga di comando per impostarla al livello di sistema. Dopo aver impostato questa variabile, Gradle userà la directory specificata (D:\packages\gradle) per le cache e i file di configurazione. Se sono presenti file Gradle esistenti, spostare il contenuto di %USERPROFILE%\.gradle in questa nuova directory. Per informazioni più dettagliate, è possibile fare riferimento alla documentazione di Gradle ed esplorare le risorse della community come StackOverflow per suggerimenti sulla gestione delle configurazioni gradle e delle directory della cache.

Informazioni sui rischi di sicurezza e sull’attendibilità in relazione a Dev Drive

La sicurezza e l’attendibilità sono aspetti importanti quando si lavora con i file di progetto. In genere, esiste un compromesso tra prestazioni e sicurezza. L'uso di un'unità di sviluppo mette il controllo di questo equilibrio nelle mani degli sviluppatori e degli amministratori della sicurezza, con la responsabilità di scegliere quali filtri applicare e le impostazioni per le scansioni di Microsoft Defender Antivirus.

I filtri antivirus, compresi quelli di Microsoft Defender e di terze parti, sono collegati per impostazione predefinita a un'unità di sviluppo. L'impostazione predefinita di Microsoft Defender Antivirus è la nuova impostazione "modalità prestazioni" in Dev Drive, tenendo conto della velocità e delle prestazioni, offrendo al tempo stesso un'alternativa sicura alle esclusioni di cartelle. Per un maggiore livello di protezione, Microsoft Defender offre anche la "modalità di protezione in tempo reale".

Qualsiasi prodotto o funzionalità che richiedono filtri aggiuntivi non funzionerà a meno che il filtro non venga aggiunto a Dev Drive.

Avviso

Le Dev Drives possono essere eseguite senza filtri antivirus applicati. Prestare estrema attenzione! Rimuovere i filtri antivirus può compromettere la sicurezza e fare in modo che l'unità di archiviazione non sia protetta dalle analisi di sicurezza standard. È compito dell'utente valutare i pericoli legati alla disattivazione dei filtri antivirus. Questa azione dovrebbe essere intrapresa solo quando si ha la certezza che i file conservati nell'unità di sviluppo non saranno esposti ad attacchi dannosi.

Microsoft consiglia di usare l'impostazione predefinita per la modalità di prestazioni quando si usa un'unità di sviluppo attendibile .

Che cos'è un’unità di sviluppo attendibile?

Le unità di sviluppo vengono designate automaticamente come attendibili usando un flag archiviato nel Registro di sistema al momento della formattazione originale, fornendo le migliori prestazioni possibili di default. Un Dev Drive attendibile significa che lo sviluppatore che usa il volume ha un'elevata fiducia nella sicurezza del contenuto memorizzato lì.

Analogamente a quando uno sviluppatore sceglie di aggiungere un'esclusione alla sicurezza di Windows, lo sviluppatore assume la responsabilità di gestire la sicurezza del contenuto archiviato per ottenere prestazioni aggiuntive.

Un'unità di sviluppo contrassegnata come attendibile è un segnale affinché Microsoft Defender venga eseguito in modalità di prestazioni. L'esecuzione di Microsoft Defender in modalità prestazioni offre un equilibrio tra la protezione dalle minacce e le prestazioni. La protezione in tempo reale verrà comunque abilitata in tutti gli altri volumi di archiviazione.

Data l'importanza delle precauzioni di sicurezza relative alla disattivazione dei filtri, quando si sposta un'unità di sviluppo tra diversi computer, questa verrà trattata come un volume standard, senza applicare criteri specifici di collegamento dei filtri. Il volume deve essere etichettato come attendibile quando viene collegato a una nuova macchina. Guarda Come posso designare un Dev Drive come affidabile?.

Un'unità di sviluppo non attendibile non avrà gli stessi privilegi di un'unità di sviluppo attendibile. La sicurezza verrà eseguita nella modalità di protezione in tempo reale quando un Dev Drive è non attendibile . Prestare attenzione se si assegna fiducia a un Dev Drive al di fuori del momento della sua creazione iniziale.

Come si designa l’affidabilità di un’unità di sviluppo?

Per designare un dev drive come attendibile:

  1. Aprire PowerShell (o CMD) con autorizzazioni elevate facendo clic con il pulsante destro del mouse e selezionando "Esegui come amministratore".
  2. Per designare Dev Drive come attendibile , immettere il comando seguente, sostituendo <drive-letter> con la lettera dell'unità di archiviazione a cui si designa l'attendibilità. Ad esempio, fsutil devdrv trust D:.
fsutil devdrv trust <drive-letter>:

Per confermare se un'unità di sviluppo è attendibile, immettere il comando:

fsutil devdrv query <drive-letter>:

L'unità C: del computer non può essere designata come unità di sviluppo. Gli strumenti per gli sviluppatori, come Visual Studio, MSBuild, .NET SDK, Windows SDK e così via, devono essere archiviati nell'unità C: e non in un'unità di sviluppo.

Che cos'è la modalità prestazioni di Microsoft Defender?

La modalità prestazioni ora è disponibile in Windows 11 come nuova funzionalità di Antivirus Microsoft Defender. Questa funzionalità riduce l'impatto sulle prestazioni delle analisi di Antivirus Microsoft Defender per i file archiviati in un’unità di sviluppo designata.

Per altre informazioni sulla modalità di prestazioni e sul confronto con la protezione in tempo reale, vedere Microsoft Defender: Protezione di Dev Drive tramite la modalità prestazioni.

Per abilitare la modalità prestazioni, dev Drive deve essere designato come attendibile e la protezione in tempo reale di Microsoft Defender deve essere impostata su "Sì".

Come si configurano i filtri aggiuntivi su Dev Drive?

Per impostazione predefinita, Gestione filtri disattiva tutti i filtri in un'unità dev, ad eccezione dei filtri antivirus. Un filtro antivirus è un filtro applicato nell'intervallo di altitudine FSFilter Anti-Virus (ad esempio, 320000-329999). FSFilter Anti-Virus include filtri che rilevano e disinfettano i virus durante l'I/O dei file.

È possibile configurare la politica predefinita per non applicare i filtri antivirus a Dev Drive utilizzando fsutil. ATTENZIONE: questo criterio si applica a TUTTE le unità di sviluppo nel sistema.

fsutil devdrv enable /disallowAv

Il comando, fsutil devdrv enable [/allowAv|/disallowAv], include le due opzioni seguenti:

  • disallowAv: specifica che le tue unità di sviluppo non dispongono di filtri collegati (nemmeno antivirus). I filtri possono essere aggiunti nuovamente con il comando fsutil devdrv setfiltersallowed <Filter-1>. (Sostituendo <Filter-1> con il nome del filtro desiderato).

  • allowAv: specifica che le unità di sviluppo devono essere protette dal filtro antivirus predefinito.

Per assistenza, immettere il comando : fsutil devdrv enable /?. Se non vengono specificati né /allowAv/disallowAv, il criterio antivirus per l'unità di sviluppo non viene configurato. Per impostazione predefinita, il sistema tratterà le unità di sviluppo come protette dal filtro antivirus.

Avviso

Prestare particolare attenzione quando si rimuovono i filtri. Disattivare i filtri antivirus comporta un rischio per la sicurezza. Ciò implica che l'archivio non beneficerà della protezione in tempo reale offerta da Microsoft Defender, né delle analisi in modalità prestazioni. È compito dell'utente valutare i pericoli legati alla disattivazione dei filtri antivirus. Questa azione dovrebbe essere intrapresa solo quando si ha la certezza che i file non saranno esposti ad attacchi dannosi.

Per altre informazioni sui filtri, vedere Informazioni sui driver di filtro del file system, Installazione di un driver di filtro, Concetti di Gestione filtri, Gruppi di ordini di carico e altitudini per i driver minifiltri.

Consentire a filtri selezionati di aggiungersi all'unità Dev

Se lavori in un ambiente Business o Enterprise, oltre ai criteri sopra menzionati, è possibile che la tua azienda abbia configurato criteri di gruppo specifici per aggiungere filtri ai Dev Drives. Un amministratore di sistema può anche scegliere di allegare filtri aggiuntivi a un dev drive specifico o a tutte le unità di sviluppo usando un elenco di elementi consentiti.

Un amministratore di sistema potrebbe voler aggiungere un filtro denominato "Foo", che verrà indicato come FooFlt. Potrebbero voler abilitare solo quel filtro nel Dev Drive montato come D:. Non hanno bisogno di questo filtro su un'altra unità Dev montata come E:. L'amministratore può apportare modifiche a un elenco di filtri consentiti in Dev Drive usando fsutil.exe, un'utilità della riga di comando fornita dal sistema.

I filtri impostati in modo specifico come Consentito possono collegarsi a un Dev Drive oltre alla politica di filtro antivirus discussa in precedenza.

Esempi di filtri per elenchi autorizzati

Gli esempi seguenti illustrano la capacità dell'amministratore di configurare i filtri consentiti su tutte le unità Dev di un computer, utilizzando un elenco di autorizzazioni.

Per consentire setfiltersallowed e Filter-01 su tutti i drive di sviluppo con il comando Filter-02, utilizzare il comando:

fsutil devdrv setfiltersallowed Filter-01, Filter-02

Per visualizzare i criteri di filtro allegati per tutte le Dev Drives, usare il comando:

fsutil devdrv query

I risultati mostreranno quanto segue:

  • I volumi di sviluppo sono abilitati.
  • I volumi di sviluppo sono protetti da un filtro antivirus.
  • Filtri autorizzati su qualsiasi Dev Drive: Filter-01, Filter-02

Per modificare la configurazione dell'unità di sviluppo in modo da consentire solo Filter-03 sulla/le tua/e unità di sviluppo, escludendo Filter-01 e Filter-02, usare il comando:

fsutil devdrv setfiltersallowed Filter-03

Vedere fsutil devdrv /? per altri comandi correlati.

Filtri per scenari comuni

I seguenti filtri possono essere utilizzati con Dev Drive:

Scenario: Descrizione Nome del filtro
GVFS: arruolamenti sparsi di Windows PrjFlt
MSSense: Microsoft Defender per endpoint per il sensore EDR MsSecFlt
Defender: Filtro di Windows Defender WdFilter
Docker: Esecuzione di contenitori dalla Dev Drive bindFlt, wcifs
Windows Performance Recorder: analizza le operazioni del file system Informazioni sul file
Monitoraggio risorse: mostra l'utilizzo delle risorse. Obbligatorio per visualizzare i nomi di file nell'attività disco Informazioni sul file
Monitoraggio processi - Sysinternals: Monitorare le attività del file system ProcMon24
Aggiornamento di Windows: usato durante l'aggiornamento del sistema operativo. Obbligatorio se l'utente sposta la variabile di ambiente TEMP in Dev Drive WinSetupMon
Controllo delle applicazioni di Windows Defender (WDAC): rilevamento del programma di installazione gestito con i servizi di identità di AppLocker applockerfltr

Il WdFilter è collegato per impostazione predefinita. Il comando seguente è un esempio che illustra come collegare tutti questi filtri aggiuntivi a un'unità di sviluppo:

fsutil devdrv setfiltersallowed "PrjFlt, MsSecFlt, WdFilter, bindFlt, wcifs, FileInfo, ProcMon24"

Suggerimento

Per determinare i filtri necessari per uno scenario specifico, potrebbe essere necessario contrassegnare temporaneamente un Dev Drive come non attendibile. Quindi, eseguire lo scenario e prendere nota di tutti i filtri collegati al volume. Designare di nuovo Dev Drive come attendibile e quindi aggiungere i filtri all'elenco Consenti per tale Dev Drive per assicurarsi che lo scenario abbia esito positivo. Infine, rimuovere i filtri non necessari, uno alla volta, assicurandosi che tutto funzioni come previsto.

Suggerimento

Il nome del filtro per Monitoraggio processo può cambiare. Se l'aggiunta del nome del filtro "ProcMon24" non sembra acquisire le attività del file system su un Dev Drive, elenca i filtri utilizzando il comando fltmc filters, trova il nome del filtro per Process Monitor e usa quel nome al posto di "ProcMon24".

Supporto della clonazione di blocchi

A partire da Windows 11 24H2 & Windows Server 2025, la clonazione di blocchi è supportata in Dev Drive. Poiché Dev Drive usa il formato del file system ReFS , il supporto per la clonazione di blocchi comporterà vantaggi in termini di prestazioni gratuite ogni volta che si copia un file usando Dev Drive. La clonazione di blocchi consente al file system di copiare un intervallo di byte di file per conto di un'applicazione come operazione conveniente a livello di metadati, anziché eseguire operazioni costose di lettura e scrittura sui dati fisici sottostanti. Ciò comporta un completamento più rapido della copia, meno I/O nella risorsa di archiviazione sottostante e capacità di archiviazione migliorata consentendo a più file di condividere gli stessi cluster logici. Altre informazioni sulla clonazione dei blocchi.

Quali scenari non sono supportati dall’unità di sviluppo? Quali sono le limitazioni?

Esistono alcuni scenari in cui non è consigliabile usare un Dev Drive. tra cui:

  • Riformattare un volume di archiviazione esistente come "unità di sviluppo" comporterà l’eliminazione dei contenuti presenti in quel volume. La riformattazione di un volume esistente mantenendo il contenuto archiviato non è supportata.
  • Quando si crea un disco rigido virtuale (VHD) ospitato in un disco fisso (HDD o SSD), non è consigliabile copiare il disco rigido virtuale, spostarlo in un computer diverso e quindi continuare a usarlo come unità di sviluppo.
  • Un volume archiviato in un disco rimovibile o collegabile a caldo (ad esempio un'unità esterna USB, HDD o SSD) non supporta la designazione come unità di sviluppo.
  • Un volume in un disco rigido virtuale ospitato da un disco rimovibile o collegabile a caldo non supporta la designazione come unità di sviluppo.
  • L'unità C: del computer non può essere designata come unità di sviluppo.
  • Lo scopo di un'unità di sviluppo è ospitare file per la compilazione e il debug di progetti software designati per archiviare repository, cache di pacchetti, directory di lavoro e cartelle temporanee. Non è consigliabile installare applicazioni in unità di sviluppo.
  • L'uso di Dev Drive nei dischi dinamici non è supportato. Usare invece Spazi di archiviazione, che consente di proteggere i dati da errori di unità ed estendere lo spazio di archiviazione nel tempo man mano che si aggiungono unità al PC.

Come eliminare un'unità Dev Drive

È possibile eliminare un Dev Drive nelle impostazioni di sistema di Windows 11: System>Storage>Disks & volumes.

Aprire il menu Impostazioni di Windows, quindi scegliere Archiviazione, impostazioni di archiviazione avanzate, quindi Dischi e volumi, in cui è disponibile un elenco dei volumi di archiviazione nel dispositivo. Selezionare Proprietà accanto al volume di archiviazione di Dev Drive da eliminare. Nelle proprietà dell'unità è disponibile l'opzione Elimina sotto l'etichetta Formato .

Eliminare un Dev Drive nelle Impostazioni di Windows

Dev Drive verrà eliminato. Tuttavia, se l'unità di sviluppo è stata creata come nuovo disco rigido virtuale, il disco rigido virtuale dovrà essere eliminato per recuperare lo spazio di archiviazione usato dal disco rigido virtuale. A tale scopo, è necessario scollegare il disco virtuale in modo che il file VHD che ospita la Dev Drive possa essere eliminato, seguendo questa procedura:

  1. Apri lo strumento Gestione disco inserendo "Gestione computer" nella casella di ricerca sulla barra delle applicazioni. Selezionare Gestione disco sotto l'intestazione Archiviazione. Selezionare il disco, non il volume, dell'unità di sviluppo. Fare clic con il pulsante destro del mouse sul disco selezionato che ospita l'unità Dev Drive e, dal menu risultante, selezionare Scollega VHD.
  2. Verrà visualizzata una finestra popup che informa che lo scollegamento di un disco rigido virtuale lo rende non disponibile.
  3. Una volta scollegato, il VHD può essere eliminato.

Screenshot dello strumento di Gestione Disco che mostra che il disco rigido virtuale può essere selezionato e l'opzione Scollega Disco Rigido Virtuale è disponibile nel menu azione.

Domande frequenti sull’unità di sviluppo

Alcune domande frequenti su Dev Drive comprendono:

Come è possibile personalizzare un’unità di sviluppo per soddisfare le proprie esigenze?

Le impostazioni predefinite di Dev Drive sono state ottimizzate per gli scenari di sviluppo più comuni, ma possono essere personalizzate per consentire un maggiore controllo sui driver e sui servizi eseguiti sul volume di archiviazione. Per personalizzare le impostazioni di Dev Drive, aprire il menu Impostazioni . Nella sezione Sistema>Archiviazione>Dischi e volumi, vai a Proprietà.

Importante

Se lavori per un'azienda o un'impresa, il Dev Drive sarà comunque gestito dalle impostazioni aziendali. Alcune personalizzazioni potrebbero quindi non essere disponibili a seconda dei criteri aziendali.

È necessario reinstallare le applicazioni per utilizzare un'unità di "Dev Drive"?

Le applicazioni o gli strumenti installati nella parte C: del computer possono usufruire dei file di un Dev Drive. Tuttavia, per i progetti di sviluppo, è consigliabile archiviare le directory, i file e le cache di pacchetti specifici del progetto all'interno dell'unità di sviluppo. Dev Drive può essere aggiunto all'accesso rapido di Esplora file come promemoria.

ReFS usa una quantità di memoria maggiore rispetto a NTFS?

Sì, ReFS usa\ una quantità di memoria leggermente superiore rispetto a NTFS. È consigliabile usare un computer con almeno 8 GB di memoria, idealmente 16 GB.

È possibile avere più di una Dev Drive nel computer?

Sì. Se si dispone dello spazio necessario, è possibile creare tutte le unità di sviluppo desiderate. Usare un'unità di sviluppo dedicata per ciascun progetto software permette di eliminarla facilmente al completamento dello sviluppo, evitando la necessità di ripartizionare il disco. Tenere tuttavia presente che le dimensioni minime per un dev drive sono di 50 GB.

Cosa dovrei sapere sull'utilizzo di Dev Drive con Visual Studio?

Una volta creata una Dev Drive, Visual Studio la riconoscerà automaticamente quando si crea un nuovo progetto, o si clona un progetto esistente, e sceglierà il percorso del file come impostazione predefinita. Per ottimizzare le prestazioni quando si usa Visual Studio, è consigliabile spostare il codice del progetto, le cache dei pacchetti e Copy on write le attività di compilazione MS in Dev Drive che potrebbero essere state salvate in precedenza altrove. Vedere Come modificare la directory di output della compilazione nella documentazione di Visual Studio. È anche consigliato reindirizzare le variabili d'ambiente %TEMP% e %TMP% a Dev Drive. Ciò richiederà anche l'aggiunta del filtro WinSetupMon, necessario per il processo di Windows Update. Vedere Filtri per scenari comuni. Poiché molti programmi le utilizzano, è fondamentale prestare attenzione a possibili implicazioni. È anche consigliabile usare la modalità prestazioni per Microsoft Defender per ottenere miglioramenti delle prestazioni asincroni usando Dev Drive. La disattivazione completa di Microsoft Defender può portare al massimo guadagno di prestazioni, ma potrebbe comportare rischi di sicurezza e tale scelta rimane sotto la supervisione dell'amministratore del sistema.

Per altre informazioni, vedere il post di blog: Dev Drive for Performance Improvements in Visual Studio and Dev Boxes.

Dev Drive funziona con i file di progetto WSL?

È possibile accedere ai file di progetto di Dev Drive, i quali si trovano nel file system di Windows, da una distribuzione Linux in esecuzione tramite WSL. Tuttavia, WSL viene eseguito in un disco rigido virtuale. Per garantire le migliori prestazioni, i file devono essere conservati nel file system di Linux. WSL non rientra nell'ambito del file system di Windows. Pertanto, non è previsto alcun miglioramento delle prestazioni quando si accede ai file di progetto nell'unità di sviluppo da una distribuzione Linux in esecuzione tramite WSL.

Quale metodo viene utilizzato per formattare un volume di archiviazione di Windows?

Vedere MSFT_Volume class nei documenti del driver di Windows.

Come configurare e utilizzare il Live Unit Testing con un'unità di sviluppo?

È possibile trovare indicazioni su Come configurare e usare Live Unit Testing nella documentazione di Visual Studio. Tenere tuttavia presente che esiste una dipendenza da ProjFS. È necessario spostare la root del workspace Live Unit Testing su Dev Drive e aggiungere il Windows Projected File System alla lista dei filtri consentiti. È possibile farlo utilizzando il seguente comando in PowerShell:

fsutil devdrv setfiltersallowed PrjFlt

Un VHD creato per l'uso come unità di sviluppo verrà crittografato quando l'unità in cui è archiviata è abilitata BitLocker?

Sì, il VHD della Dev Drive verrà incluso nella crittografia BitLocker del volume di hosting. Non è necessario abilitare BitLocker nel VHD montato.

Dev Drive può velocizzare lo sviluppo Java in Windows?

Sì, l'uso di Dev Drive può migliorare l'efficienza e ridurre i tempi di compilazione quando si lavora su un progetto di sviluppo Java. Vedere il post di blog "Velocizzare lo sviluppo Java in Windows con Dev Drive".

La modalità prestazioni di Dev Drive può essere applicata ai programmi antivirus oltre che a Microsoft Defender?

La modalità prestazioni di Dev Drive è in particolare una funzionalità di Antivirus Microsoft Defender correlata alla protezione in tempo reale di Defender. Quando si usano programmi antivirus alternativi con Dev Drive, la modalità prestazioni non verrà applicata, ma è possibile modificare l'elenco consenti di filtri di sicurezza collegati a Dev Drive per trovare il giusto equilibrio tra prestazioni e sicurezza per il lavoro di sviluppo. È necessario assicurarsi di comprendere la funzione di tutti i filtri associati quando si apportano modifiche all'elenco di questi filtri. Trovare un elenco con descrizioni in Filtri per scenari comuni.

Come posso trovare un Dev Drive che ho creato e di cui ho perso le tracce?

Quando una Dev Drive è montata ma hai dimenticato dove si trova, è possibile utilizzare i metodi seguenti per trovarla:

  • Usare DiskPart e il comando "list vdisk" per visualizzare il percorso completo del vhdx: 1) Aprire una riga di comando e immettere diskpart, 2) Dopo l'apertura di DiskPart, immettere list vdisk.

  • Utilizzare PowerShell e "Get-Disk | Select-Object FriendlyName,Location]": Aprire PowerShell e inserire Get-Disk | Select-Object FriendlyName,Location.

Come contribuire a questi documenti e alle FAQ?

Se si riscontrano problemi in questa documentazione o si vogliono contribuire a suggerimenti aggiuntivi sulle domande frequenti, visitare il repository open source di Windows Dev Docs su GitHub.