Si VirtualBox se niega a iniciar una máquina virtual y muestra el críptico error «NtCreateFile(\Device\VBoxDrvStub) failed: STATUS_OBJECT_NAME_NOT_FOUND (0xc0000034)», probablemente se deba a que el controlador del kernel de VirtualBox (esos archivos de controlador como VBoxDrv o VBoxSup ) no se cargó correctamente. Sinceramente, los problemas con los controladores, como los de Linux, son bastante molestos, sobre todo porque pueden ocurrir después de una actualización de Windows, una instalación incompleta o incluso si la seguridad de Windows bloquea la instalación de controladores (como Windows Defender).Básicamente, VirtualBox necesita este controlador para crear la interfaz del dispositivo (como VBoxDrvStub ), y si falta o está bloqueado, la máquina virtual simplemente no se iniciará.
Este problema es común después de actualizaciones o si se ha activado Hyper-V/VBS, ya que Windows gestiona la virtualización de forma diferente y, en ocasiones, se producen conflictos. En algunas configuraciones, VirtualBox podría no cargar su controlador en su modo nativo o, peor aún, solo ejecutarse a través de Hyper-V (lo que afecta negativamente al rendimiento y la compatibilidad).Antes de profundizar en el tema, prueba un simple reinicio; te sorprendería la frecuencia con la que esto restablece los estados de los controladores, especialmente con el inicio rápido activado. Windows suele dejar los controladores inactivos durante el apagado, así que un reinicio puede ser una maravilla.
Cómo solucionar errores del controlador “NtCreateFile” de VirtualBox
Comience con el servicio del controlador de VirtualBox (VBoxDrv / VBoxSup)
Esto es útil cuando el controlador ya está instalado, pero no se ejecuta. Es como si se pusiera en marcha el controlador sin reinstalar todo. En algunos equipos, el controlador no se carga después de arrancar Windows, y iniciarlo manualmente puede solucionar el error.
- Busca el símbolo del sistema en la búsqueda de Windows. Evita la acumulación de accesos directos: haz clic derecho y selecciona «Ejecutar como administrador».
- Escriba este comando para ver qué controladores están presentes:
sc query type= driver | findstr /i vbox. Enumera los servicios con «vbox» en el nombre, lo que le ayuda a identificar si existe vboxdrv o vboxsup. - Si ves un servicio como vboxdrv, intenta iniciarlo directamente:
net start vboxdrv. Si dice «El servicio se inició correctamente», ¡genial! De lo contrario, comprueba si hay errores. - Si al iniciar vboxdrv falla con un nombre de servicio no válido, intente con
net start vboxsup.¿Otra vez con éxito? ¡Buenas noticias! Recuerde que, a veces, el servicio no está registrado, por lo que podría no funcionar. - Después de eso, reinicie su PC (porque a Windows le encanta ser terco) e intente iniciar VirtualBox nuevamente.
Este enfoque es útil cuando el controlador simplemente permanece inactivo, sin iniciarse al arrancar. Básicamente, forzar la carga manual del controlador puede resolver el problema. Pero si recibes errores de «nombre de servicio no válido», es probable que el controlador ya no esté registrado o instalado correctamente. Pasemos a la siguiente solución.
Verifique la instalación del controlador e instale manualmente los archivos *.inf
A veces, la configuración de seguridad de Windows o instalaciones incompletas alteran el registro del controlador. Instalar manualmente el controlador con el archivo *.inf correcto puede solucionarlo, especialmente si los archivos del controlador aún están en el sistema, pero no están registrados.
- Vaya a la carpeta del controlador; las ubicaciones comunes son:
C:\Program Files\Oracle\VirtualBox\drivers\vboxdrvC:\Program Files\Oracle\VirtualBox\drivers\vboxsup
- Busque el archivo *.inf correspondiente, como VBoxDrv.inf o VBoxSup.inf.
- Haga clic derecho en el archivo *.inf y seleccione Instalar.
- Si no ve la opción Instalar (probablemente porque las extensiones de archivo están ocultas), primero vaya a Ver en el Explorador de archivos y habilite Extensiones de nombre de archivo.
- Una vez instalado, reinicie su PC. Después de reiniciar, abra el Símbolo del sistema como administrador y ejecute:
sc query vboxdrvPara verificar si el servicio del controlador ahora está en » ESTADO: 4 EN EJECUCIÓN «.Si no es así, intente:
sc query vboxsup - Si tiene éxito, inicie VirtualBox nuevamente y vea si la VM se inicia sin errores.
Recuerda que instalar manualmente los archivos *.inf hace que Windows reconozca el controlador correctamente, lo que suele solucionar el error «no encontrado».Pero si no es así, es hora de investigar más a fondo.
Deshabilitar Hyper-V y otras funciones de virtualización (diagnóstico rápido)
Esta es una prueba de último recurso, pero Hyper-V y sus funciones relacionadas pueden interferir con la carga del controlador de VirtualBox. En una configuración funcionó, en otra…no tanto. Por lo tanto, desactivarlas es rápido y vale la pena intentarlo.
- Busque Activar o desactivar características de Windows y ábralo.
- Desmarque Hyper-V, Plataforma de hipervisor de Windows, Plataforma de máquina virtual y Windows Sandbox (si está habilitado).
- Pulse Aceptar y reinicie su PC.
- Tras reiniciar, inicie VirtualBox y compruebe si la máquina virtual funciona. Tenga en cuenta que, si Hyper-V está desactivado, es posible que otras funciones de virtualización sigan activas en Seguridad de Windows, en Seguridad del dispositivo > Aislamiento del núcleo > Integridad de la memoria. Desactivarla también puede ser útil, pero hágalo con precaución.
Reinstalar o reparar VirtualBox
Esta es la opción básica, pero a veces es necesaria si los archivos de los controladores se dañaron o no coincidieron durante las actualizaciones. Primero, comprueba si VirtualBox ofrece la opción de reparación durante la desinstalación. Si no es así, realiza una reinstalación limpia:
- Desinstale VirtualBox a través de Configuración > Aplicaciones > Aplicaciones instaladas.
- Luego reinicie la PC.
- Limpieza opcional: vaya a [nombre
C:\Windows\System32\driversdel archivo] y elimine los archivos restantes, como VBoxDrv.sys o VBoxSup.sys, si aún persisten después de la desinstalación. Haga esto solo si está seguro de que son archivos restantes; de lo contrario, Windows podría bloquear la eliminación. - Descargue la última versión de VirtualBox e instálela como administrador.
- Si utiliza el paquete de extensión (USB 2/3, RDP, etc.), asegúrese de que la versión coincida con su versión de VirtualBox.
- Inicie VirtualBox, cree o inicie una máquina virtual y espere que el controlador se cargue esta vez.
Esto debería restablecer el funcionamiento del controlador y los servicios, pero a veces persisten conflictos con la seguridad de Windows o con los controladores. Solo hay que probar desde diferentes perspectivas.
Resumen
- Intente reiniciar Windows (no solo apagarlo, sino reiniciarlo por completo) primero.
- Compruebe si los servicios del controlador están presentes e inícielos manualmente.
- Instale manualmente los controladores mediante archivos *.inf si es necesario.
- Deshabilite las funciones de Hyper-V/virtualización si están causando conflictos.
- Como último recurso, repare o reinstale limpiamente VirtualBox.
Resumen
Sinceramente, problemas como estos son la parte más frustrante de la virtualización en Windows: conflictos de controladores, bloqueos de seguridad o instalaciones incompletas son problemas comunes. Normalmente, basta con reiniciar el servicio de controladores o instalarlo manualmente. Si esto falla, deshabilitar Hyper-V y realizar una reinstalación limpia soluciona la mayoría de los problemas. No olvide que Windows puede ser un poco raro con la seguridad de los controladores, así que a veces un reinicio completo o incluso desactivar la integridad de la memoria ayuda. Ojalá esto ayude a alguien a ahorrar horas y a que sus máquinas virtuales vuelvan a funcionar. Porque sí, la virtualización puede ser un poco complicada a veces, pero tiene solución.