Aprende Inteligencia Artificial y Acelera tu Futuro

Descubre cómo la IA puede multiplicar tu productividad y cambiar tu forma de trabajar.

Acceder al Curso Ahora

VirtualBox (Oracle) en Ubuntu: arreglar vboxdrv y arrancar VMs rápido

Punto de partida: ya tienes instalada la versión de Oracle (no la de repos).
Objetivo: compilar módulos, evitar conflictos con KVM y dejar la VM fluida.


1) Requisitos del kernel y compilación de módulos

sudo apt update
sudo apt install -y build-essential dkms linux-headers-$(uname -r)
sudo /sbin/vboxconfig

Comprueba que el módulo cargó:

lsmod | grep -E '^vbox| vbox'
# Debes ver: vboxdrv (y luego vboxnetflt/vboxnetadp cuando uses red)

Si te sale un error de librería (p.ej. liblzf.so.1), instala el paquete:
sudo apt install liblzf1 (o el que te pida el mensaje exacto).


2) Secure Boot (si los módulos no cargan)

Comprueba:

mokutil --sb-state
  • enabled → desactívalo en BIOS/UEFI (opción más simple) y repite sudo /sbin/vboxconfig.
    (Firmar módulos con MOK también vale, pero es más largo.)

3) Error “VT-x is being used by another hypervisor” (KVM)

VirtualBox no puede funcionar si KVM está cargado.

Temporal (hasta reiniciar):

lsmod | grep kvm
sudo rmmod kvm_intel 2>/dev/null || true
sudo rmmod kvm_amd   2>/dev/null || true
sudo rmmod kvm       2>/dev/null || true
sudo modprobe vboxdrv

Permanente (bloquear KVM):

echo -e "blacklist kvm\nblacklist kvm_intel\nblacklist kvm_amd" | \
  sudo tee /etc/modprobe.d/blacklist-kvm.conf
sudo update-initramfs -u
sudo reboot

(Si algún día quieres volver a KVM, borra ese .conf y reinicia.)


4) Ajustes recomendados en la VM (VirtualBox → Configuración)

Sistema → Procesador

  • CPUs: 2 (en portátiles de 4 hilos, no pases de 2).
  • Execution/Processing Cap: 100%.

Sistema → Aceleración

  • Habilitar VT-x/AMD-V
  • Nested Paging

Pantalla

  • Memoria de vídeo: 128 MB.
  • Aceleración 3D ✅ (si el invitado la soporta).

Memoria

  • RAM de la VM: 4 GB (deja al host ≥4 GB libres para evitar swap).

Almacenamiento

  • Disco en SSD si es posible (la diferencia es grande).
  • VDI dinámico está bien.

5) Arranque y verificación

virtualbox

Al iniciar la VM, en Registro no deben aparecer:

  • VERR_VMX_IN_VMX_ROOT_MODE (significa KVM activo).
  • vboxdrv not loaded (módulo no cargado).

6) Scripts para alternar entre VirtualBox y KVM (opcional)

Usar VirtualBox:

cat <<'SH' | sudo tee /usr/local/bin/use-virtualbox >/dev/null
#!/usr/bin/env bash
set -e
modprobe -r kvm_intel 2>/dev/null || true
modprobe -r kvm_amd   2>/dev/null || true
modprobe -r kvm       2>/dev/null || true
modprobe vboxdrv
lsmod | egrep 'kvm|vbox'
SH
sudo chmod +x /usr/local/bin/use-virtualbox

Usar KVM:

cat <<'SH' | sudo tee /usr/local/bin/use-kvm >/dev/null
#!/usr/bin/env bash
set -e
modprobe -r vboxnetflt vboxnetadp vboxdrv 2>/dev/null || true
modprobe kvm || true
modprobe kvm_intel 2>/dev/null || modprobe kvm_amd 2>/dev/null || true
lsmod | egrep 'kvm|vbox'
SH
sudo chmod +x /usr/local/bin/use-kvm

7) Resumen rápido

  1. apt install build-essential dkms linux-headers-$(uname -r)
  2. sudo /sbin/vboxconfig
  3. Desactiva Secure Boot si impide cargar módulos.
  4. Quita KVM (rmmod kvm*) o bloquéalo si usas VirtualBox.
  5. Activa VT-x + Nested Paging, 2 vCPU, 4 GB RAM, vídeo 128 MB + 3D.
  6. Arranca y comprueba que no haya errores en el log.

Tutoriales Más Vistos

Posts Más Vistos