¿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.
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
- Crea una carpeta que exista desde el arranque (mejor en C:):
C:\Scripts
. - 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
- Abre Programador de tareas → Crear tarea básica… (o Crear tarea… para más control).
- Nombre: Montar VHD.
- Desencadenador: Al iniciar el equipo.
- Acción: Iniciar un programa.
- Programa o script:
diskpart.exe
- Agregar argumentos:
/s "C:\Scripts\montar-vhd.txt"
- 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.
- Cambiar usuario o grupo… → escribe
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:
- Crea
C:\Scripts\desmontar-vhd.txt
:select vdisk file="D:\RUTA\DevDrive.vhdx" detach vdisk exit
- 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ón | Disponible en Home | Permisos | Cuándo usarla |
---|---|---|---|
Task Scheduler + DiskPart | Sí | Admin / SYSTEM | Solución más simple y robusta |
Task Scheduler + PowerShell (Mount-DiskImage ) | Sí | Admin / SYSTEM | Si prefieres PowerShell y letras forzadas |
Hyper‑V Mount‑VHD | No por defecto | Admin | Solo 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 mensaje | Causa probable | Qué hacer |
---|---|---|
The system cannot find the file specified. | Ruta al VHD incorrecta o la unidad aún no está lista | Comprueba la ruta; añade retraso a la tarea; guarda el script en C: |
Access is denied. | Tarea sin privilegios o ejecutada como usuario estándar | Ejecuta como SYSTEM y marca “Ejecutar con los privilegios más altos” |
El VHD aparece sin letra | Windows no conserva la letra o hay conflicto | Asigna letra una vez en Administración de discos o fuerza con select partition 1 + assign letter=V |
La tarea indica “Completada” pero no hay volumen | El VHD ya estaba adjunto o el script terminó antes de que el disco apareciera | Revisa el Visor de eventos, prueba el script manualmente y ajusta los tiempos |
Tras recrear el Dev Drive, vuelve a fallar | El archivo o partición cambió; letra/partición no coinciden | Actualiza 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á enC:\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
- Guarda el script en
C:\Scripts\montar-vhd.txt
:select vdisk file="D:\RUTA\DevDrive.vhdx" attach vdisk exit
- 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
- Prueba manual:
diskpart /s "C:\Scripts\montar-vhd.txt"
- (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
.