Windows 11: montar un VHD automáticamente al iniciar con DiskPart y Programador de tareas

¿Tu VHD o Dev Drive dejó de montarse solo en Windows 11? Aquí tienes una guía clara y fiable para volver a dejarlo siempre online al arrancar, sin apps de terceros: una tarea programada que ejecuta diskpart con un pequeño script. Incluyo pasos detallados, variantes con PowerShell y solución de errores.

Índice

Resumen de la pregunta

Tras eliminar un Dev Drive y crear uno nuevo en la misma partición (por ejemplo, Disco D:), el archivo .vhd/.vhdx ya no se adjunta automáticamente al iniciar Windows 11 Home 23H2. Cada reinicio obliga a abrir el archivo manualmente para que aparezca en Este equipo. Se busca un método seguro y persistente para que el VHD vuelva a montarse de forma automática.

Solución recomendada y soportada

La forma más limpia, estable y sin software adicional es crear una tarea programada que ejecute diskpart en el arranque del sistema y haga attach vdisk del VHD. Funciona en Windows 11 Home y no añade elementos al inicio de sesión del usuario: corre como SYSTEM antes de que entres a tu cuenta.

TL;DR: Crea un archivo de texto con los comandos de DiskPart y prográmalo en el arranque:

select vdisk file="D:\RUTA\DevDrive.vhdx"
attach vdisk
exit

Después, programa diskpart.exe con el argumento /s "C:\Scripts\montar-vhd.txt" “Al iniciar el equipo”, ejecutándose como SYSTEM y con privilegios elevados.

Por qué deja de montarse un VHD tras recrearlo

  • Windows recuerda la letra asignada a un volumen, pero no adjunta automáticamente el archivo VHD si este no está attach al arrancar.
  • Si borraste y volviste a crear el Dev Drive, su identificador interno cambió, y cualquier “recuerdo” previo quedó obsoleto.
  • En Windows 11 Home no hay una opción gráfica nativa que “recuerde” VHDs al boot sin usar una tarea o un script.

Pasos detallados para dejar el VHD montado automáticamente

Preparar el script de DiskPart

  1. Crea una carpeta que exista desde el arranque (mejor en C:): C:\Scripts.
  2. Crea el archivo C:\Scripts\montar-vhd.txt con este contenido (ajusta la ruta real):
select vdisk file="D:\RUTA\DevDrive.vhdx"
attach vdisk
exit

Notas importantes:

  • Usa comillas en la ruta si hay espacios.
  • Si necesitas letra fija, primero asígnala una sola vez desde Administración de discos. Windows suele conservarla. Si lo prefieres, más abajo verás cómo forzar la letra desde el propio script.
  • No pongas diskpart /s e:\mount.exe: el argumento /s espera un archivo de texto con comandos de DiskPart, no un .exe.

Crear la tarea programada

  1. Abre Programador de tareasCrear tarea básica… (o Crear tarea… para más control).
  2. Nombre: Montar VHD.
  3. Desencadenador: Al iniciar el equipo.
  4. Acción: Iniciar un programa.
  5. Programa o script: diskpart.exe
  6. Agregar argumentos: /s "C:\Scripts\montar-vhd.txt"
  7. Al finalizar el asistente, abre Propiedades de la tarea y ajusta:
    • Cambiar usuario o grupo… → escribe SYSTEM → Aceptar.
    • Marca Ejecutar con los privilegios más altos.
    • (Opcional) En Desencadenadores, pulsa Editar… y activa Retrasar tarea 20–60 s si la unidad donde está el VHD tarda en estar disponible.
    • En Condiciones, desmarca “Iniciar la tarea solo si el equipo está con corriente alterna” si usas portátil.

Probar manualmente

Antes de reiniciar, ejecuta una consola como Administrador y prueba:

diskpart /s "C:\Scripts\montar-vhd.txt"

Si el VHD se adjunta sin errores, la tarea funcionará igual al arrancar.

Cómo forzar una letra concreta desde el script

Normalmente, Windows conservará la letra una vez asignada. Si quieres que el script la fuerce cada vez (útil en equipos con cambios de letras), puedes ampliar el archivo:

select vdisk file="D:\RUTA\DevDrive.vhdx"
attach vdisk
select partition 1
assign letter=V
exit

Esto asume un VHD con una sola partición. Si tienes varias, ajusta el número de partición. Alternativamente, puedes usar un punto de montaje en una carpeta NTFS estable (montar en carpeta) para evitar conflictos de letras.

Variantes con PowerShell

Si prefieres PowerShell, Windows 11 incluye el cmdlet Mount-DiskImage (no requiere Hyper‑V). Crea un script C:\Scripts\montar-vhd.ps1 con:

# Ruta al VHD/VHDX
$path = "D:\RUTA\DevDrive.vhdx"

Montar la imagen (si ya está montada, no falla)

Mount-DiskImage -ImagePath \$path -ErrorAction SilentlyContinue

Forzar letra opcional (ejemplo: V)

\$img = Get-DiskImage -ImagePath \$path
\$disk = Get-Disk -Number \$img.Number
\$part = \$disk | Get-Partition | Where-Object { $\_.Type -ne "Reserved" } | Select-Object -First 1
if (\$part.DriveLetter -ne 'V') { \$part | Set-Partition -NewDriveLetter 'V' -ErrorAction SilentlyContinue }

Luego crea una tarea con Programa o script: powershell.exe y Argumentos:

-NoProfile -ExecutionPolicy Bypass -File "C:\Scripts\montar-vhd.ps1"

Igual que antes: ejecuta como SYSTEM y con privilegios máximos. Si tu política de ejecución es restrictiva, el parámetro -ExecutionPolicy Bypass evita bloqueos en el arranque.

¿“Aumenta” el arranque o el inicio de sesión?

No. La tarea “Al iniciar el equipo” corre en segundo plano como SYSTEM y no agrega programas a tu inicio de usuario. El impacto en tiempo de arranque es mínimo (unos milisegundos para lanzar diskpart más el tiempo de adjuntar el archivo).

Desmontaje opcional al apagar

No es estrictamente necesario desmontar el VHD al apagar, pero si te interesa asegurarte de que quede liberado:

  1. Crea C:\Scripts\desmontar-vhd.txt: select vdisk file="D:\RUTA\DevDrive.vhdx" detach vdisk exit
  2. Crea una tarea que ejecute diskpart /s "C:\Scripts\desmontar-vhd.txt" con un desencadenador de evento del sistema:
    • Registro: Sistema
    • Origen: User32
    • Id. de evento: 1074 (apagar/reiniciar)

Alternativa sencilla: desencadenador Al cerrar sesión en equipos de un solo usuario.

Tabla rápida de opciones

OpciónDisponible en HomePermisosCuándo usarla
Task Scheduler + DiskPartAdmin / SYSTEMSolución más simple y robusta
Task Scheduler + PowerShell (Mount-DiskImage)Admin / SYSTEMSi prefieres PowerShell y letras forzadas
Hyper‑V Mount‑VHDNo por defectoAdminSolo en ediciones con Hyper‑V

Casos especiales y ajustes finos

El VHD está en una unidad con BitLocker

  • Si el archivo .vhdx vive en una unidad protegida por BitLocker que no se desbloquea sola al arrancar, la tarea en el arranque fallará porque el archivo no es accesible.
  • Soluciones:
    • Habilita Desbloqueo automático para esa unidad (recomendado),
    • o añade un retraso de 30–60 s a la tarea,
    • o usa un desencadenador Al iniciar sesión en lugar de “Al iniciar el equipo”.

El VHD está en un disco externo

  • Usa un desencadenador Al conectar con el usuario o un evento de Plug and Play si el disco aparece más tarde. En muchos casos basta con un retraso de 30–120 s.
  • Verifica que la letra del disco donde reside el VHD no cambie (o referencia el volumen por GUID si necesitas máxima estabilidad).

Ruta del script

  • Guarda los scripts en C: para que estén disponibles desde el primer momento del arranque. Puedes almacenar el propio VHD en D: u otra unidad sin problema.

Solución de problemas

Síntoma o mensajeCausa probableQué hacer
The system cannot find the file specified.Ruta al VHD incorrecta o la unidad aún no está listaComprueba la ruta; añade retraso a la tarea; guarda el script en C:
Access is denied.Tarea sin privilegios o ejecutada como usuario estándarEjecuta como SYSTEM y marca “Ejecutar con los privilegios más altos”
El VHD aparece sin letraWindows no conserva la letra o hay conflictoAsigna letra una vez en Administración de discos o fuerza con select partition 1 + assign letter=V
La tarea indica “Completada” pero no hay volumenEl VHD ya estaba adjunto o el script terminó antes de que el disco aparecieraRevisa el Visor de eventos, prueba el script manualmente y ajusta los tiempos
Tras recrear el Dev Drive, vuelve a fallarEl archivo o partición cambió; letra/partición no coincidenActualiza la ruta en el script y, si fuerzas letra, confirma el número de partición

Buenas prácticas y recomendaciones

  • Nombres claros: usa rutas sin espacios si puedes (D:\Dev\DevDrive.vhdx) o comillas en el script.
  • Backups: el VHD es un único archivo; copia regular = restauración sencilla.
  • Tamaño dinámico: para Dev Drives suele convenir VHDX de crecimiento dinámico para no ocupar de golpe todo el espacio.
  • Puntos de montaje: considera montar en una carpeta NTFS si cambian a menudo las letras de unidad.
  • Registra eventos: en Propiedades → Configuración de la tarea, activa reintentos y registra la salida en el Historial para depurar más fácil.

Checklist de verificación

  • ✔ El archivo montar-vhd.txt está en C:\Scripts y contiene la ruta correcta al .vhdx.
  • ✔ La tarea se desencadena Al iniciar el equipo, ejecuta diskpart.exe con /s "C:\Scripts\montar-vhd.txt".
  • ✔ La tarea corre como SYSTEM y con privilegios elevados.
  • ✔ Si la unidad del VHD tarda, hay un retraso de 20–60 s.
  • ✔ (Opcional) Letra forzada con select partition 1 + assign letter=V si lo necesitas.

Preguntas frecuentes

¿Esto añade “cosas” al inicio? No en tu sesión. Es una tarea del sistema en el arranque, invisible al usuario.

¿Se puede hacer con un archivo por lotes? Sí. Un .cmd que llame a diskpart /s "C:\Scripts\montar-vhd.txt" funciona igual, pero no aporta ventajas sobre invocar diskpart directamente desde la tarea.

¿Puedo usar sólo PowerShell? Sí, con Mount-DiskImage como alternativa nativa. Si necesitas funciones avanzadas de VHD (p. ej., diferenciales) y tienes Hyper‑V, Mount‑VHD también sirve, pero no está en Home por defecto.

¿Qué pasa si muevo el VHD de sitio? Actualiza la ruta en el script y listo. Si cambias la letra de la unidad que lo contiene, recuerda ajustar la ruta y el retraso de la tarea si es necesario.

¿Y si el VHD está abierto al apagar? Windows lo maneja bien, pero puedes crear la tarea opcional de desmontaje para garantizar un cierre limpio (detach vdisk).

Conclusión

Para mantener un VHD o Dev Drive montado en Windows 11 Home tras cada reinicio, la opción más fiable es automatizar attach vdisk con el Programador de tareas. Un simple script de DiskPart y una tarea “Al iniciar el equipo” que se ejecuta como SYSTEM bastan para recuperar el comportamiento deseado sin utilidades de terceros. Si prefieres PowerShell, Mount‑DiskImage ofrece la misma persistencia con un guion breve. Con los ajustes y comprobaciones de esta guía, tu volumen virtual volverá a estar disponible siempre que el equipo arranque.


Instrucciones paso a paso resumidas

  1. Guarda el script en C:\Scripts\montar-vhd.txt: select vdisk file="D:\RUTA\DevDrive.vhdx" attach vdisk exit
  2. Crea la tarea “Montar VHD”:
    • Desencadenador: Al iniciar el equipo
    • Acción: diskpart.exe con /s "C:\Scripts\montar-vhd.txt"
    • Usuario: SYSTEM; activar Ejecutar con los privilegios más altos
    • (Opcional) Retraso de 20–60 s
  3. Prueba manual: diskpart /s "C:\Scripts\montar-vhd.txt"
  4. (Opcional) Tarea de apagado con detach vdisk

Tip final: si en la solución original te sugerían /s e:\mount.exe, corrígelo: debe ser un archivo de texto con comandos de DiskPart (por ejemplo, montar-vhd.txt), no un .exe.

Índice