Compartir a través de


Configuración de una unidad de desarrollo en Windows 11

Unidad de desarrollo es una nueva forma de volumen de almacenamiento disponible para mejorar el rendimiento de las cargas de trabajo para desarrolladores clave.

Unidad de desarrollo se basa en la tecnología ReFS para usar optimizaciones de sistema de archivos de destino y proporcionar más control sobre la configuración y seguridad del volumen de almacenamiento, incluida la designación de confianza, la configuración del antivirus y el control administrativo sobre qué filtros se adjuntan.

Consulte la entrada de blog: Unidad de desarrollo para mejoras de rendimiento en Visual Studio y Dev Boxes para obtener medidas de mejora en las operaciones comunes de desarrollo.

Procedimiento para configurar una unidad de desarrollo

Para configurar una nueva unidad para desarrolladores, abre Configuración de Windows y ve a Sistema>Almacenamiento>Configuración de almacenamiento avanzada>Discos y volúmenes. Seleccione Crear unidad de desarrollo. Los volúmenes de almacenamiento existentes no se pueden convertir en una unidad de desarrollo. La designación de La unidad de desarrollo solo se produce durante el formato original.

Antes de configurar una unidad de desarrollo, asegúrese de que se cumplen los requisitos previos. También puede configurar una unidad de desarrollo mediante la Configuración de la máquina de Inicio para desarrolladores.

Captura de pantalla de Sistema > Almacenamiento > Discos y volúmenes

Requisitos previos

  • Windows 11, Compilación #10.0.22621.2338 o posterior (Buscar actualizaciones de Windows)
  • Se recomiendan 16 GB de memoria (mínimo de 8 GB)
  • 50 GB de espacio libre en disco como mínimo
  • Las unidades de desarrollo están disponibles en todas las versiones de SKU de Windows.
  • Permisos de administrador local.

Al actualizar a la versión más reciente de Windows 11, es posible que necesite un reinicio adicional antes de que la función de unidad para desarrolladores esté disponible. Si trabaja en un entorno de empresa de negocios, el administrador de seguridad tendrá que configurar la directiva de seguridad de unidad para desarrolladores para habilitarla.

Advertencia

Unidad de desarrollo solo está pensada para escenarios clave para desarrolladores y las configuraciones personalizadas seguirán cubiertas por valores de directiva de grupo en entornos de trabajo empresariales. Obtenga más información sobre cómo configurar la directiva de seguridad de unidad para desarrolladores.

Opciones de configuración

Se le proporcionarán tres opciones:

  1. Crear un disco duro virtual: el volumen se compila en un nuevo disco duro virtual
  2. Cambiar el tamaño de un volumen existente: se crea un espacio sin asignar en el que realizar la compilación
  3. Espacio sin asignar en el disco: se usa el espacio sin asignar en un disco existente. *Esta opción solo se mostrará si ha configurado previamente el espacio sin asignar en el almacenamiento.

Captura de pantalla de la creación de la unidad de desarrollo

Cómo elegir entre usar una partición de disco o un disco duro virtual

Hay ventajas y desventajas que se deben tener en cuenta al elegir entre crear una partición de disco o crear un nuevo disco duro virtual para almacenar la unidad de desarrollo.

  • Crear una partición de disco: el almacenamiento de la unidad de desarrollo en una partición de disco suele ofrecer un rendimiento más rápido, ya que usa directamente el disco físico sin capas adicionales. Las desventajas son que el uso de un disco con particiones será menos flexible, ya que el cambio de tamaño de las particiones puede ser más complejo y arriesgado, y ofrecerá menos portabilidad, ya que la partición está vinculada al disco físico.

  • Crear un nuevo disco duro virtual: almacenar la unidad de desarrollo en un disco duro virtual (VHD) puede tener un rendimiento ligeramente menor debido a la sobrecarga de administrar la capa de disco virtual. Las desventajas son que los discos duros virtuales ofrecen más flexibilidad para cambiar el tamaño dinámico (si necesita administrar el espacio en disco de forma eficaz), o mover o realizar copias de seguridad de los datos. Los discos duros virtuales también son muy portables, lo que permite transferir el archivo del disco duro virtual a otra máquina o ubicación de copia de seguridad. Sin embargo, cuando cree un disco duro virtual (VHD) alojado en un disco fijo (HDD o SSD), tenga en cuenta que no se recomienda copiar el VHD, moverlo a una máquina diferente y luego continuar usándolo como unidad de desarrollo.

Creación de un disco duro virtual

Al elegir la opción Crear disco duro virtual para configurar una unidad de desarrollo, deberá determinar lo siguiente:

  • Nombre del disco duro virtual: asigne un nombre al disco duro virtual (unidad de desarrollo).
  • Ubicación: asigne una ruta de acceso de directorio en la máquina para ubicar el disco duro virtual de la unidad de desarrollo. La ubicación predeterminada es C:\, a menos que cree una unidad de desarrollo mediante Inicio para desarrolladores, en cuyo caso la ubicación predeterminada es %userprofile%\DevDrives. Se recomienda usar una ubicación de ruta de acceso de directorio por usuario para almacenar la unidad de desarrollo y evitar usos compartidos accidentales.
  • Tamaño del disco duro virtual: asigne la cantidad de espacio en disco que se asignará para el volumen que se va a usar; el tamaño mínimo es de 50 GB.
  • Formato del disco duro virtual:
    • VHD: admite discos virtuales de hasta 2040 GB.
    • VHDX (recomendado): admite un máximo de 64 TB y ofrece protección más resistente frente a errores inesperados de E/S causados por problemas como los de interrupción de energía. Más información sobre cómo administrar VHD.
  • Tipo de disco:
    • Tamaño fijo: este archivo de disco duro virtual se asigna al tamaño máximo cuando se crea.
    • Expansión dinámica: el archivo de disco duro virtual crece hasta su tamaño máximo a medida que se escriben datos en él. (Recomendado)

Una vez que complete el proceso de selección de estas opciones, se creará la unidad de desarrollo.

Captura de pantalla de la creación y conexión de un disco duro virtual

Cambio del tamaño de un volumen existente o uso de espacio sin asignar en un disco existente

Para cambiar el tamaño de un volumen existente:

  1. Elija un volumen para cambiarlo de tamaño.

    Captura de pantalla de la selección del volumen para cambiar de tamaño de Unidad de desarrollo en Configuración.

  2. Elija un nuevo tamaño para el volumen. Tendrá que tener al menos 50 GB de espacio sin asignar disponible, el tamaño mínimo necesario para una unidad de desarrollo. Una vez que establezca el tamaño, seleccione Siguiente.

    Captura de pantalla del valor de cambio de tamaño de la unidad de desarrollo.

  3. Para dar formato a una unidad de desarrollo en el nuevo espacio libre, especifique la asignación de Etiqueta (nombre de unidad), Letra de unidad y Tamaño. El tamaño máximo será la cantidad de espacio libre que haya asignado en el paso anterior; el tamaño mínimo de una unidad de desarrollo es de 50 GB.

    Captura de pantalla de los valores de etiqueta, letra de unidad y tamaño de la unidad de desarrollo

¡Enhorabuena! Ha cambiado el tamaño de la unidad de desarrollo.

Para buscar y usar espacio sin asignar en una unidad existente, puedes abrir Sistema>Almacenamiento>Discos y volúmenes y examinar la página para ver si algún espacio de almacenamiento aparece como «Sin asignar». Seleccione Crear volumen y se le darán las opciones para Crear volumen simple (un volumen de almacenamiento NTFS estándar) o Crear unidad de desarrollo. Para crear una unidad de desarrollo, los pasos son los mismos que los anteriores; tendrá que agregar una Etiqueta (nombre de unidad), una Letra de unidad y confirmar la asignación de Tamaño.

Captura de pantalla de la lista de almacenamiento Discos y volúmenes con espacio de almacenamiento sin asignar.

Dar formato a un volumen de almacenamiento como una unidad para desarrolladores desde la línea de comandos

Como alternativa al uso de la configuración de Windows, hay dos opciones para crear volúmenes de almacenamiento de unidad para desarrolladores desde la línea de comandos. Ambas opciones requieren que abra la línea de comandos como administrador. Para dar formato a un disco duro, debe ser miembro del grupo Administradores. Es posible que se prefieran estos métodos de formato de línea de comandos al crear varias unidades para desarrolladores o como administrador para varias máquinas.

  1. Con la herramienta de línea de comandos Formato de Windows CMD o PowerShell:
Format D: /DevDrv /Q
  1. Con el cmdlet Format-Volume de PowerShell:
Format-Volume -DriveLetter D -DevDrive

Estos ejemplos de código requieren que reemplace D: por la ubicación de la unidad de destino. Consulte los vínculos para obtener más opciones y parámetros de comando.

¿Cómo funciona Unidad de desarrollo?

Un volumen de almacenamiento especifica cómo se almacenan los datos en el sistema de archivos, por medio de directorios y archivos, en un formato determinado. Windows usa NTFS para la unidad del sistema y, de manera predeterminada, para la mayoría de las unidades no extraíbles. El Sistema de archivos resistente (ReFS) es un sistema de archivos de Microsoft más reciente, diseñado para maximizar la disponibilidad de los datos, escalar de manera eficiente conjuntos de datos de gran tamaño en diversas cargas de trabajo y proporcionar la integridad de los datos con resistencia a daños. Intenta solucionar un creciente conjunto de escenarios de almacenamiento y establecer una base para futuras innovaciones.

La unidad de desarrollo usa ReFS, lo que le permite inicializar un volumen de almacenamiento específicamente para cargas de trabajo de desarrollo, lo que proporciona un rendimiento más rápido y configuraciones personalizables optimizadas para escenarios de desarrollo. ReFS contiene varias optimizaciones específicas del sistema de archivos para mejorar el rendimiento de escenarios clave para desarrolladores.

Obtenga más información sobre cómo la unidad de desarrollo controla la seguridad.

¿Qué debo incluir en la unidad de desarrollo?

La unidad de desarrollo está pensada para lo siguiente:

  • Repositorios de código fuente y archivos del proyecto
  • Cachés de paquetes
  • Salida de la compilación archivos intermedios

Consideraciones para instalar herramientas de desarrollo y SDK en la unidad de desarrollo: las herramientas de desarrollo y los SDK se suelen colocar en una ubicación de administrador o por usuario. Estas ubicaciones proporcionan garantías de seguridad y aislamiento específicas en Windows y afectan al comportamiento de Microsoft Defender. Sin embargo, muchas herramientas proporcionan flexibilidad para elegir la ubicación de instalación, incluida una unidad de desarrollo.

Antes de continuar con la instalación de herramientas de desarrollo o SDK en una unidad de desarrollo, evalúe las ventajas asociadas al sistema y el examen asincrónico para asegurarse de que se alinea con los requisitos de seguridad de su dispositivo y organización. Tiene la opción de crear una carpeta de administrador o por usuario en la unidad de desarrollo. Además, es importante comprobar que el modo de rendimiento de Microsoft Defender (por ejemplo, el examen asincrónico) satisface sus necesidades para controlar los archivos binarios.

Nota:

A los administradores de TI les interesará crear carpetas de lista de control de acceso (ACL) por usuario para dispositivos multiusuario como procedimiento recomendado para evitar ataques EOP.

Almacenamiento de la caché de paquetes en la unidad de desarrollo

Una caché de paquetes es la ubicación de carpeta global que usan las aplicaciones a fin de almacenar archivos para el software instalado. Estos archivos de código fuente son necesarios cuando se quiere actualizar, desinstalar o reparar el software instalado. Visual Studio es una aplicación de este tipo que almacena una gran parte de sus datos en la caché de paquetes. Después de cambiar las variables de entorno, es posible que tenga que reiniciar todas las ventanas de consola abiertas o reiniciar el dispositivo para que se apliquen los nuevos valores.

  • Caché de npm (NodeJS): cree un directorio de caché de npm en la unidad de desarrollo, por ejemplo, D:\packages\npm, y establezca una variable de entorno global npm_config_cache en esa ruta de acceso, por ejemplo, setx /M npm_config_cache D:\packages\npm. Si ya ha instalado NodeJS en la máquina, mueva el contenido de %AppData%\npm-cache a este directorio. (En algunos sistemas, la caché de npm puede estar en %LocalAppData%\npm-cache). Más información en la documentación de npm: npm-cache y npm config: cache.

  • Carpeta global-packages de NuGet: dotnet, MSBuild y Visual Studio usan la carpeta global-packages de NuGet. Cree un directorio NuGet específico del usuario en el sistema de archivos CopyOnWrite (CoW). Por ejemplo: D:\<username>\.nuget\packages. Use una de las siguientes formas de cambiar la carpeta global-packages de la ubicación predeterminada a la carpeta recién creada (para administrar los paquetes instalados globalmente):

    • Establezca una variable de entorno global NUGET_PACKAGES en esa ruta de acceso. Por ejemplo: setx /M NUGET_PACKAGES D:\<username>\.nuget\packages.

    • Establezca globalPackagesFolder, cuando use PackageReference, o bien repositoryPath al usar packages.config, en esa ruta de acceso en los valores de configuración.

    • Establezca la propiedad RestorePackagesPath de MSBuild (solo MSBuild) en esa ruta de acceso.

      Para comprobar la carpeta global-packages, ejecute el comando dotnet nuget locals: dotnet nuget locals global-packages --list. Los paquetes se instalarán y descargarán en la nueva ruta de acceso tras la restauración. La carpeta predeterminada global-packages de NuGet se puede eliminar. Obtenga más información en la documentación de NuGet: Administración de las carpetas de paquetes globales, caché y temporal.

Nota:

Actualmente hay un problema conocido: el comando dotnet tool no respeta la ruta de acceso de los paquetes nuget. El equipo de .NET lo sabe y está investigando una corrección para .NET 10 y una actualización de versión de mantenimiento para la versión 8.0 y 9.0.

  • Caché de vcpkg cree un directorio de caché de vcpkg en la unidad de desarrollo, por ejemplo, D:\packages\vcpkg, y establezca una variable de entorno global VCPKG_DEFAULT_BINARY_CACHE en esa ruta de acceso, por ejemplo, setx /M VCPKG_DEFAULT_BINARY_CACHE D:\packages\vcpkg. Si ya ha instalado paquetes, mueva el contenido de %LOCALAPPDATA%\vcpkg\archives o %APPDATA%\vcpkg\archives a este directorio. Obtenga más información en la documentación de vcpkg: Almacenamiento en caché binario de vcpkg.

  • Caché de pip (Python): cree un directorio de caché de pip en la unidad de desarrollo, por ejemplo D:\packages\pip, y establezca una variable PIP_CACHE_DIR de entorno global en esa ruta de acceso, por ejemplo, setx /M PIP_CACHE_DIR D:\packages\pip. Si ya ha restaurado paquetes pip y Wheels en la máquina, mueva el contenido de %LocalAppData%\pip\Cache a este directorio. Obtenga más información en la documentación de pip: Almacenamiento en caché de pip y vea Cambiar el directorio de pip cache en Linux en StackOverflow.

  • Caché de cargo (Rust) cree un directorio de caché de Cargo en la unidad de desarrollo, por ejemplo, D:\packages\cargo, y establezca una variable de entorno global CARGO_HOME en esa ruta de acceso, por ejemplo, setx /M CARGO_HOME D:\packages\cargo. Si ya ha restaurado paquetes de Cargo en la máquina, mueva el contenido de %USERPROFILE%\.cargo a este directorio. Obtenga más información en la documentación de Cargo: Variables de entorno de carga.

  • Caché de Maven (Java): cree un directorio de caché de Maven en la unidad de desarrollo, por ejemplo D:\packages\maven, y establezca una variable de entorno global MAVEN_OPTS para agregar una configuración a esa ruta de acceso, por ejemplo, setx /M MAVEN_OPTS "-Dmaven.repo.local=D:\packages\maven". Mueva el contenido de %USERPROFILE%\.m2\repository a este directorio (esto incluye solo las dependencias, complementos y otros artefactos que Maven descarga en la carpeta repository y usa para los proyectos). Obtenga más información en la documentación de Maven y vea Procedimiento para especificar una ubicación alternativa para la carpeta .m2 o settings.xml permanentemente en StackOverflow.

  • Caché de Gradle (Java): cree un directorio de caché de Gradle en la unidad de desarrollo, por ejemplo, D:\packages\gradle. A continuación, establezca una variable de entorno global GRADLE_USER_HOME para que apunte a esa ruta de acceso, por ejemplo, use setx /M GRADLE_USER_HOME "D:\packages\gradle" en la línea de comandos para establecerla en todo el sistema. Después de establecer esta variable, Gradle usará el directorio especificado (D:\packages\gradle) para sus memorias caché y archivos de configuración. Si tiene archivos de Gradle existentes, mueva el contenido de %USERPROFILE%\.gradle a este nuevo directorio. Para obtener información más detallada, puede consultar la documentación de Gradle y explorar recursos de la comunidad como StackOverflow para obtener sugerencias sobre cómo administrar configuraciones de Gradle y directorios de caché.

Descripción de los riesgos de seguridad y la confianza en relación con la unidad de desarrollo

La seguridad y la confianza son consideraciones importantes al trabajar con archivos del proyecto. Normalmente, existe un equilibrio entre el rendimiento y la seguridad. El uso de una unidad de desarrollo coloca el control sobre este equilibrio en manos de los desarrolladores y administradores de seguridad, con la responsabilidad de elegir qué filtros se adjuntan y la configuración para los análisis de Antivirus de Microsoft Defender.

Los filtros antivirus, como Microsoft Defender y los filtros antivirus de terceros, se adjuntan a una unidad de desarrollo de forma predeterminada. Antivirus de Microsoft Defender tiene como valor predeterminado la nueva configuración de "modo de rendimiento" en las unidades de desarrollo, teniendo en cuenta la velocidad y el rendimiento, al tiempo que proporciona una alternativa segura a las exclusiones de carpetas. Para un mayor nivel de protección, Microsoft Defender también ofrece el "modo de protección en tiempo real".

Cualquier producto o característica que requiera filtros adicionales no funcionará a menos que el filtro se agregue a la unidad de desarrollo.

Advertencia

Las unidades de desarrollo se pueden ejecutar sin adjuntar filtros antivirus. Tenga cuidado Quitar filtros antivirus es un riesgo de seguridad y significa que los análisis de seguridad estándar no escanearán la unidad de almacenamiento. El usuario es responsable de evaluar los riesgos asociados con la desasociación de filtros antivirus y solo debe hacerlo cuando confíe en que los archivos almacenados en la unidad de desarrollo no estarán expuestos a ataques malintencionados.

Microsoft recomienda usar la configuración del modo de rendimiento predeterminada al usar una unidad de desarrollo de confianza.

¿Qué es una unidad de desarrollo de "confianza"?

Las unidades de desarrollo se designan automáticamente como de confianza mediante una marca almacenada en el registro del sistema durante el formato original, lo que proporciona el mejor rendimiento posible de manera predeterminada. Una unidad de desarrollo de confianza significa que el desarrollador que usa el volumen tiene una elevada confianza en la seguridad del contenido que se almacena allí.

Al igual que cuando un desarrollador elige Agregar una exclusión a Seguridad de Windows, asume la responsabilidad de administrar la seguridad del contenido almacenado para obtener un rendimiento adicional.

Una unidad de desarrollo marcada como de confianza es una señal para que Microsoft Defender se ejecute en modo de rendimiento. La ejecución de Microsoft Defender en modo de rendimiento proporciona un equilibrio entre la protección contra amenazas y el rendimiento. La protección en tiempo real seguirá habilitada en todos los demás volúmenes de almacenamiento.

Debido a las consideraciones de seguridad de tener filtros desasociados, el transporte de una unidad de desarrollo entre máquinas hará que el volumen se trate como un volumen normal sin directivas especiales de asociación de filtros. El volumen se debe marcar como de confianza cuando está conectado a una nueva máquina. Vea ¿Cómo se designa una unidad de desarrollo como de confianza?

Una unidad de desarrollo que no sea de confianza no tendrá los mismos privilegios que una unidad de desarrollo de confianza. La seguridad se ejecutará en modo de protección en tiempo real cuando una unidad de desarrollo no sea de confianza. Tenga cuidado al designar la confianza en una unidad de desarrollo después de crearla por primera vez.

¿Cómo se designa una unidad de desarrollo como de confianza?

Para designar una unidad de desarrollo como de confianza:

  1. Abra PowerShell (o CMD) con permisos elevados; para ello, haga clic con el botón secundario y seleccione "Ejecutar como administrador".
  2. Para designar la unidad de desarrollo como de confianza, escriba el comando siguiente y reemplace <drive-letter> por la letra de la unidad de almacenamiento a la vaya a designar la confianza. Por ejemplo, fsutil devdrv trust D:.
fsutil devdrv trust <drive-letter>:

Para confirmar si una unidad de desarrollo es de confianza, escriba el comando:

fsutil devdrv query <drive-letter>:

La unidad C: de la máquina no se puede designar como unidad de desarrollo. Las herramientas de desarrollo, como Visual Studio, MSBuild, SDK de .NET, Windows SDK, etc., se deben almacenar en la unidad C: y no en una unidad de desarrollo.

¿Qué es el modo de rendimiento de Microsoft Defender?

El modo de rendimiento ya está disponible en Windows 11 como una nueva funcionalidad de Antivirus de Microsoft Defender. Esta funcionalidad reduce el impacto en el rendimiento de los exámenes de Antivirus de Microsoft Defender de archivos almacenados en una unidad de desarrollo designada.

Para más información sobre el modo de rendimiento y cómo se compara con la protección en tiempo real, vea Microsoft Defender: Protección de la unidad de desarrollo mediante el modo de rendimiento.

Para habilitar el modo de rendimiento, la unidad de desarrollo se debe designar como de confianza y la protección en tiempo real de Microsoft Defender se debe establecer en "Activada".

¿Cómo se configuran filtros adicionales en la unidad de desarrollo?

De manera predeterminada, el Administrador de filtros desactivará todos los filtros de una unidad de desarrollo, a excepción de los filtros antivirus. Un filtro antivirus es el que está asociado en el intervalo de altitud FSFilter Anti-Virus (es decir, 320000-329999). FSFilter Anti-Virus incluye filtros que detectan y desinfecten virus durante la E/S de archivos.

La directiva predeterminada se puede configurar para no adjuntar filtros antivirus a la unidad de desarrollo mediante fsutil. PRECAUCIÓN: esta directiva se aplica a TODAS las unidades de desarrollo del sistema.

fsutil devdrv enable /disallowAv

El comando, fsutil devdrv enable [/allowAv|/disallowAv], incluye las dos opciones siguientes:

  • disallowAv: especifica que las unidades de desarrollo no tienen ningún filtro adjunto (ni siquiera antivirus). Los filtros se pueden volver a agregar mediante el comando fsutil devdrv setfiltersallowed <Filter-1>. (Reemplazando <Filter-1> por el nombre del filtro deseado).

  • allowAv: especifica que las unidades de desarrollo se van a proteger mediante el filtro antivirus predeterminado.

Para obtener ayuda, escriba el comando: fsutil devdrv enable /?. Si no se especifica ni /allowAv ni /disallowAv, la directiva antivirus de la unidad de desarrollo no está configurada y el valor predeterminado del sistema es tener unidades de desarrollo protegidas por filtro antivirus.

Advertencia

Tenga extrema precaución al desasociar filtros. Desasociar filtros antivirus es un riesgo de seguridad y significa que el almacenamiento no estará protegido a tiempo real por Microsoft Defender ni se llevarán a cabo los análisis de modo de rendimiento. El usuario es responsable de evaluar los riesgos asociados con la desasociación de filtros antivirus y solo debe hacerlo cuando confíe en que los archivos no estarán expuestos a ataques malintencionados.

Para obtener más información sobre los filtros, consulte Acerca de los controladores de filtro del sistema de archivos, Instalación de un controlador de filtro, Conceptos del Administrador de filtros, Grupos de pedidos de carga y altitudes para controladores de minifiltro.

Permitir que los filtros seleccionados se adjunten en la unidad de desarrollo

Si trabaja en un entorno profesional o empresarial, es posible que la directiva de grupo de la empresa esté configurada a fin de seleccionar filtros para adjuntar a unidades de desarrollo, además de la directiva anterior. Un administrador del sistema puede decidir adjuntar filtros adicionales a una unidad de desarrollo específica o a todas las unidades de desarrollo mediante una lista de permitidos.

Un administrador del sistema puede querer agregar un filtro llamado "Foo", nos referiremos a él como FooFlt. Es posible que solo se quiera que ese filtro esté habilitado en la unidad de desarrollo montada como D:. No necesita este filtro en otra unidad de desarrollo montada como E:. El administrador puede realizar cambios en una lista de filtros permitidos en la unidad de desarrollo mediante fsutil.exe, una utilidad de línea de comandos proporcionada por el sistema.

Los filtros que se establecen específicamente como Permitidos pueden asociarse a una unidad de desarrollo además de la directiva de filtro antivirus descrita anteriormente.

Ejemplos de filtros de lista de permitidos

En los ejemplos siguientes se muestra la capacidad de un administrador para establecer filtros permitidos en todas las unidades de desarrollo de un equipo mediante una lista de permitidos.

Para usar el comando setfiltersallowed a fin de permitir Filter-01 y Filter-02 en todas las unidades de desarrollo, use el comando:

fsutil devdrv setfiltersallowed Filter-01, Filter-02

Para mostrar la directiva de asociación de filtros para todas las unidades de desarrollo, use el comando:

fsutil devdrv query

El resultado mostrará lo siguiente:

  • Los volúmenes de desarrollador están habilitados.
  • Los volúmenes de desarrollador están protegidos por el filtro antivirus.
  • Filtros permitidos en cualquier unidad de desarrollo: Filter-01, Filter-02

Para cambiar esta configuración de Unidad de desarrollo a fin de permitir solo Filter-03 en las unidades de desarrollo, sin la posibilidad de adjuntar Filter-01 y Filter-02, use el comando:

fsutil devdrv setfiltersallowed Filter-03

Vea fsutil devdrv /? para obtener otros comandos relacionados.

Filtros para escenarios comunes

Los filtros siguientes se pueden usar con la unidad de desarrollo:

Descripción del escenario Nombre de filtro
GVFS: inscripciones dispersas de Windows PrjFlt
MSSense: Microsoft Defender para punto de conexión para el sensor EDR MsSecFlt
Defender: Filtro de Windows Defender WdFilter
Docker: ejecución de contenedores fuera de la unidad para desarrolladores bindFlt, wcifs
Windows Performance Recorder: mide las operaciones del sistema de archivos FileInfo
Monitor de recursos: muestra el uso de recursos. Necesario para mostrar los nombres de archivo en Actividad del disco FileInfo
Process Monitor: Sysinternals: Supervisión de actividades del sistema de archivos ProcMon24
Actualización de Windows: se usa durante la actualización del sistema operativo. Es obligatorio si el usuario mueve la variable de entorno TEMP a la unidad de desarrollo WinSetupMon
Control de aplicaciones de Windows Defender (WDAC): seguimiento del instalador administrado con los servicios de identidad de AppLocker applockerfltr

WdFilter está asociado de manera predeterminada. El siguiente comando es un ejemplo en el que se muestra cómo adjuntar todos estos filtros adicionales a una unidad de desarrollo:

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

Sugerencia

A fin de determinar los filtros necesarios para un escenario específico, es posible que tenga que marcar temporalmente una unidad de desarrollo como que no es de confianza. Después, ejecute el escenario y anote todos los filtros que se adjuntan al volumen. Vuelva a designar la unidad de desarrollo como de confianza y agregue los filtros a su lista Permitir para asegurarse de que el escenario sea correcto. Por último, quite todos los filtros que no sean necesarios, de uno en uno, al tiempo que se asegura de que el escenario funciona según lo previsto.

Sugerencia

El nombre de filtro de Process Monitor puede cambiar. Si agregar el nombre de filtro "ProcMon24" no parece capturar actividades del sistema de archivos en una unidad para desarrolladores, enumere los filtros mediante el comando fltmc filters, busque el nombre de filtro para Process Monitor y use ese nombre en lugar de "ProcMon24".

Compatibilidad con la clonación de bloques

A partir de Windows 11 24H2 & Windows Server 2025, la clonación de bloques ahora es compatible con Dev Drive. Dado que Dev Drive usa el formato de sistema de archivos ReFS, la compatibilidad con la clonación de bloques supondrá ventajas de rendimiento libre siempre que copie un archivo mediante Dev Drive. La clonación de bloques permite que el sistema de archivos copie un intervalo de bytes de archivo en nombre de una aplicación como una operación de metadatos de bajo coste, en lugar de realizar operaciones de lectura y escritura costosas en los datos físicos subyacentes. Esto permite una finalización más rápida de la copia, una E/S menor al almacenamiento subyacente y una capacidad de almacenamiento mejorada al permitir que varios archivos compartan los mismos clústeres lógicos. Más información sobre la clonación de bloques.

¿Qué escenarios no son compatibles con Unidad de desarrollo? ¿Cuáles son las limitaciones?

Hay algunos escenarios en los que no se recomienda usar una unidad de desarrollo. Entre ellas se incluyen las siguientes:

  • Al volver a formatear un volumen de almacenamiento existente para que sea una "unidad de desarrollo", se destruirá cualquier contenido almacenado en ese volumen. No se admite volver a formatear un volumen existente y conservar el contenido almacenado.
  • Cuando se crea un Disco Duro Virtual (VHD) alojado en un disco fijo (HDD o SSD), no se recomienda copiar el VHD, moverlo a una máquina diferente, y luego continuar usándolo como un Dev Drive.
  • Un volumen almacenado en un disco extraíble o conectable (por ejemplo, una unidad externa USB, HDD o SSD) no admite la designación como unidad de desarrollo.
  • Un volumen en un disco duro virtual hospedado por un disco extraíble o conectable no admite la designación como unidad de desarrollo.
  • La unidad C: de la máquina no se puede designar como unidad de desarrollo.
  • El propósito de una unidad de desarrollo es hospedar archivos para compilar y depurar proyectos de software designados para almacenar repositorios, cachés de paquetes, directorios de trabajo y carpetas temporales. No se recomienda instalar aplicaciones en una unidad de desarrollo.
  • El uso de Dev Drive en Administrador de discos lógicos no está admitido. En su lugar, utilice Espacios de almacenamiento, que le ayudará a proteger sus datos frente a errores de las unidades y a ampliar el almacenamiento a lo largo del tiempo a medida que agregue unidades a su PC.

Cómo eliminar una unidad de desarrollo

Puede eliminar una unidad para desarrolladores en la configuración del sistema de Windows 11: System>Storage>Disks & volumes.

Abre el menú Configuración de Windows y, a continuación, elige Almacenamiento, a continuación Configuración avanzada de almacenamiento y, a continuación, Discos y volúmenes, donde encontrarás una lista de los volúmenes de almacenamiento en el dispositivo. Seleccione Propiedades junto al volumen de almacenamiento de la unidad para desarrolladores que desee eliminar. En las propiedades de la unidad, encontrará la opción Eliminar en la etiqueta Formato.

Eliminar una unidad de desarrollo en configuración de Windows

La unidad de desarrollo ahora se eliminará. Sin embargo, si el Dev Drive se creó como un nuevo VHD, será necesario eliminar el VHD para recuperar el espacio de almacenamiento utilizado por ese VHD. Para ello, debe separar el disco virtual para que el archivo VHD que aloja el Dev Drive pueda ser eliminado, siguiendo estos pasos:

  1. Abra la herramienta Administración de discos introduciendo "Administración de equipos" en el cuadro de búsqueda de la barra de tareas. Seleccione Administración de discos en el encabezado Almacenamiento. Seleccione el Disco (no el volumen) de la unidad de desarrollo. Haga clic con el botón derecho en el disco seleccionado que hospeda la unidad de desarrollo y, en el menú resultante, seleccione Desconectar VHD.
  2. Aparecerá una ventana emergente informándole de que al desconectar un disco duro virtual, este dejará de estar disponible.
  3. Una vez desconectado, se puede eliminar el disco duro virtual.

Captura de pantalla de la herramienta Administración de discos que muestra que se puede seleccionar el disco duro virtual y que Ocultar VHD es una opción en el menú de acciones.

Preguntas más frecuentes sobre la unidad de desarrollo

Algunas preguntas más frecuentes sobre la unidad de desarrollo incluyen las siguientes:

¿Cómo puedo personalizar una unidad de desarrollo para satisfacer mis necesidades?

La configuración predeterminada de la unidad de desarrollo se ha optimizado para escenarios de desarrollo comunes, pero se puede personalizar, lo que permite controlar los controladores y los servicios que se ejecutan en el volumen de almacenamiento. Para personalizar la configuración de la unidad de desarrollo, abra el menú Configuración. En Sistema>Almacenamiento>Discos y Volúmenes, ve a Propiedades.

Importante

Si trabaja para una empresa, la configuración de la empresa seguirá administrando la unidad de desarrollo. Por tanto, es posible que, en función de la directiva de empresa, algunas personalizaciones no estén disponibles.

¿Necesito volver a instalar las aplicaciones para usar una unidad de desarrollo?

No, las aplicaciones o herramientas instaladas en la unidad C: de la máquina pueden utilizar archivos de una unidad de desarrollo. Pero en el caso de los proyectos de desarrollo, se recomienda almacenar los directorios, archivos y cachés de paquetes específicos del proyecto dentro de la unidad de desarrollo. La unidad de desarrollo se puede anclar Acceso rápido de Explorador de archivos como recordatorio.

¿ReFS usa más memoria que NTFS?

Sí, ReFS usa ligeramente más memoria que NTFS. Se recomienda una máquina con al menos 8 GB de memoria, idealmente 16 GB.

¿Puedo tener más de una unidad para desarrolladores en mi máquina?

Sí. Si tiene espacio, puedes crear tantas unidades de desarrollo como quiera. El uso de una unidad de desarrollo independiente para cada proyecto de desarrollo de software le permitiría simplemente eliminar la unidad al final del desarrollo, en lugar de volver a particionar el disco. Pero tenga en cuenta que el tamaño mínimo de una unidad de desarrollo es de 50 GB.

¿Qué necesito saber sobre el uso de Unidad de desarrollo con Visual Studio?

Una vez que haya creado una unidad de desarrollo, Visual Studio lo reconocerá automáticamente al crear un nuevo proyecto o clonar un proyecto existente y seleccionará esa ruta de archivo de manera predeterminada. Para optimizar el rendimiento al usar Visual Studio, se recomienda mover cualquier código de proyecto, cachés de paquetes y tareas de MS Build Copy on write a la unidad de desarrollo que se haya guardado anteriormente en otro lugar. (Vea Procedimiento para cambiar el directorio de salida de la compilación en la documentación de Visual Studio). También se recomienda que considere la posibilidad de redirigir las variables de entorno %TEMP% y %TMP% a la unidad de desarrollo. Para esto también se requerirá agregar el filtro WinSetupMon, que es necesario para el proceso de Windows Update. (Consulte Filtros para escenarios comunes). Se usan en muchos programas, por lo que debe tener cuidado con los posibles efectos secundarios. También se recomienda usar el modo de rendimiento para Microsoft Defender a fin de obtener mejoras de rendimiento asincrónicas mediante la unidad de desarrollo. La desactivación completa de Microsoft Defender puede dar lugar a las ganancias de rendimiento más altas, pero puede aumentar los riesgos de seguridad y es una configuración controlada por el administrador del sistema.

Para obtener más información, consulte la entrada de blog: Unidad de desarrollo para mejoras de rendimiento en Visual Studio y Dev Boxes.

¿La unidad de desarrollo funciona con archivos del proyecto WSL?

Puede acceder a los archivos del proyecto de la unidad de desarrollo, que se ejecutan en el sistema de archivos de Windows, desde una distribución de Linux que se ejecuta en WSL. Pero WSL se ejecuta en un disco duro virtual y, para obtener el mejor rendimiento, los archivos se deben almacenar en el sistema de archivos Linux. WSL está fuera del ámbito del sistema de archivos de Windows, por lo que no debería esperar ver ninguna mejora del rendimiento al acceder a los archivos del proyecto en la unidad de desarrollo desde una distribución de Linux que se ejecuta en WSL.

¿Qué método se usa para dar formato a un volumen de almacenamiento de Windows?

Vea MSFT_Volume class en la documentación de Controlador de Windows.

¿Cómo configurar y utilizar Live Unit Testing con una unidad para desarrolladores?

Puede encontrar instrucciones sobre cómo configurar y usar Live Unit Testing en la documentación de Visual Studio. Sin embargo, tenga en cuenta que hay una dependencia en ProjFS. Deberá mover la raíz del área de trabajo de Live Unit Testing a la unidad para desarrolladores y agregar el sistema de archivos proyectados de Windows a la lista de filtros permitidos. Puede hacerlo con el siguiente comando en PowerShell:

fsutil devdrv setfiltersallowed PrjFlt

¿Se cifrará un disco duro virtual creado para su uso como unidad de desarrollo si la unidad que lo almacena está habilitada para BitLocker?

Sí, el disco duro virtual de la unidad de desarrollo se incluirá en el cifrado BitLocker del volumen de hospedaje. No es necesario habilitar BitLocker en el disco duro virtual montado.

¿La unidad de desarrollo puede agilizar el desarrollo de Java en Windows?

Sí, usar una unidad de desarrollo puede mejorar la eficiencia y reducir los tiempos de compilación cuando se trabaja en un proyecto de desarrollo Java. Consulte la entrada de blog "Agilizar el desarrollo de Java en Windows con una unidad de desarrollo".

¿Se puede aplicar el modo de rendimiento de la unidad de desarrollo a programas antivirus además de Microsoft Defender?

El modo de rendimiento de la unidad de desarrollo es específicamente una funcionalidad de Antivirus de Microsoft Defender relacionada con la protección en tiempo real de Defender. Al usar programas antivirus alternativos con la unidad de desarrollo, no se aplicará el modo de rendimiento, pero es posible ajustar la lista de permitidos de los filtros de seguridad que están asociados a la unidad de desarrollo para encontrar el equilibrio adecuado entre rendimiento y seguridad para su trabajo de desarrollo. Deberá asegurarse de que comprende la función de los filtros conectados al realizar cambios en la lista de filtros adjunta. Busque una lista con descripciones en Filtros para escenarios comunes.

¿Cómo puedo encontrar una unidad de desarrollo que he creado y he perdido?

Cuando se monta una unidad de desarrollo, pero se olvida dónde se encuentra, se pueden usar los métodos siguientes para encontrarla:

¿Cómo se puede contribuir a esta documentación y a las preguntas más frecuentes?

Si encuentra algún problema en esta documentación, o bien quiere contribuir con sugerencias de preguntas más frecuentes adicionales, visite el repositorio de código abierto Windows Dev Docs en GitHub.