vb

Como todos saben, hay muchas distribuciones GNU/Linux, quizás demasiadas y dejando aparte las que son basadas en otras, como Ubuntu y Mint, la instalación de Virtualbox suele ser sencilla pero que funcione es otra cosa. Esto es debido a que Virtualbox necesita las cabeceras del kernel de Linux además de ciertos módulos. Esto puede ser un quebradero de cabeza algunas veces y en algún caso hasta es posible que tengas que instalar un nuevo kernel para que la máquina virtual funcione.

Este tema es quizás muy complicado. Ofreceré algunas soluciones más comunes que te puedes encontrar con Virtualbox pero posiblemente por lo que he explicado arriba, es posible que no te funcione.

Antes de nada, debes de tener el paquete DKMS instalado. En Ubuntu:

sudo apt update sudo apt -y install dkms sudo ldconfig sudo dpkg --configure -a && sudo apt-get clean

Extension pack

Ver si la extensión está instalada:

sudo vboxmanage list extpacks

Instalar un nuevo paquete de extensión y reemplazar el antiguo:

sudo vboxmanage extpack install --replace /ruta/a/Oracle_VM_VirtualBox_Extension_Pack-x.x.x.x-xxxxxx.vbox-extpack

Paso a paso:

Elimina el paquete de extensión antiguo:

sudo vboxmanage extpack uninstall "Oracle VM VirtualBox Extension Pack"

Limpiamos:

sudo vboxmanage extpack cleanup

Instalar uno nuevo:

sudo vboxmanage extpack install /ruta/a/Oracle_VM_VirtualBox_Extension_Pack-x.x.x.x-xxxxxx.vbox-extpack

Enlace para la extensión.

Falta la VM

A veces puede ocurrir que falte la VM. Existe un posible error.

Una de las razones puede ser la falta del archivo .vbox ubicado en:

~/VirtualBox VMs/Ejemplo VM/Ejemplo máquina.vbox

En la misma carpeta suele estar también el archivo:

~/VirtualBox VMs/Ejemplo VM/Ejemplo VM.vbox-prev

Una solución alternativa sería cerrar VirtualBox y copiar el archivo .vbox-prev en la misma ubicación con la extensión .vbox:

cd ~/VirtualBox VMs/Ejemplo VM/
cp “Ejemplo VM.vbox-prev” “Ejemplo VM.vbox”
…. y volver a ejecutar VirtualBox.

Si aún así la VM no aparece en la lista de VMs de VirtualBox, es posible volver a añadir la VM a través de Máquina>Menú-Añadir o la tecla de acceso directo CTRL+A navegando por el archivo .vbox y añadiéndolo.

De otra manera, cuando ya no quede ningún archivo .vbox*, crea una nueva máquina virtual utilizando el antiguo archivo de imagen de disco virtual .vdi (vdi es el disco duro virtual). Si no hay ningún archivo .vdi entonces la VM desaparece. Sería útil tener una copia de la VM ya sea sólo en la carpeta o exportada a .ova.

Copiar VM

Copiar la carpeta VM a otro almacenamiento y tratar de agregar la máquina (Machine>Add o CTRL+A) devuelve:

No se puede registrar el disco duro ‘/path/to/VMs/<VM name>/<VM name>/<VDI name>.vdi’ {a73ccd48-a9b8-4274-954a-308c40634cae} porque ya existe un disco duro ‘/path/to/VMs/<VM name>/<VDI name>/<VDI name>.vdi’ con UUID {1690f3e8-dc15-42ff-975b-4c9fa1c0b448}.

Código de resultado:
NS_ERROR_INVALID_ARG (0x80070057)
Componente:
VirtualBoxWrap
Interfaz:
IVirtualBox {0169423f-46b4-cde9-91af-1e9d5b6cd945}

Solución:
Ejecuta en la línea de comandos (reemplaza con la información apropiada sobre la ruta y el nombre del archivo):

VBoxManage internalcommands sethduuid "/ruta/a/VMs/<VM name>/<VDI name>.vdi"

Abre el archivo /ruta/a/VMs/<VM name>/<VM name>.vbox y corrige lo siguiente (en negrita):

  • .vdi nombre y ubicación del archivo (ruta)
  • reemplaza antiguo UUID con uno recién generado

líneas 11-14:

      <HardDisks>
<HardDisk uuid="{a73ccd48-a9b8-4274-954a-308c40634cae}" location="
/ruta/a/VMs/<nombre VM>/<nombre VDI>.vdi" format="VDI" type="Normal"/>
<HardDisk uuid="{a73ccd48-a9b8-4274-954a-308c40634cae}" location="
/ruta/a/VMs/<nombre VM>/<nombre VDI>.vdi" format="VDI" type="Normal"/>
</HardDisks>

líneas 195-197:

<AttachedDevice nonrotational=”true” type=”HardDisk” hotpluggable=”false” port=”0″ device=”0″>
<Image uuid=”{a73ccd48-a9b8-4274-954a-308c40634cae}”/>
</AttachedDevice>

VM no se pudo iniciar

Al instalar un nuevo kernel, etc. y por alguna razón no se compilan los nuevos módulos. A veces puede ser necesario instalar una nueva versión de GCC en el caso de una versión muy nueva del núcleo y de una distribución GNU/Linux antigua. Pero como dije al inicio del artículo, los errores algunas veces son complicados de resolver.

Posible solución:
Asegúrate de que el paquete dkms esté instalado de antemano.

sudo vboxconfig

vboxconfig suele estar ubicado en la carpeta /sbin/.

Solución (si no funciona):

sudo /usr/lib/virtualbox/vboxdrv.sh setup

Reinicio de los módulos del núcleo VB:

sudo rcvboxdrv restart

Comprueba si los módulos del núcleo están cargados:

sudo rcvboxdrv status

O bien:

sudo vboxdrv

Si no hay salida en la terminal es que todo fue bien. Recuerda que para compilar los módulos de Virtualbox se necesitan las cabeceras del kernel que usas. En la familia Debian se llama linux-headers, en las RPM kernel-devel. Para ver el kernel que tienes en uso:

uname -r

Error QT

“Qt FATAL: This application failed to start because it could not find or load the Qt platform plugin “xcb”. Suele ocurrir en plataformas de 32 bits.

Solución:

ldd /usr/lib/virtualbox/plugins/platforms/libqxcb.so | grep not
libQt5XcbQpaVBox.so.5 => not found
libQt5DBusVBox.so.5 => not found
libQt5GuiVBox.so.5 => not found
libQt5CoreVBox.so.5 => not found

sudo updatedb
locate libQt5XcbQpaVBox.so.5

/usr/lib/virtualbox/libQt5XcbQpaVBox.so.5

sudo ln -s /usr/lib/virtualbox/libQt5XcbQpaVBox.so.5  /lib/i386-linux-gnu/
sudo ln -s /usr/lib/virtualbox/libQt5DBusVBox.so.5  /lib/i386-linux-gnu/
sudo ln -s /usr/lib/virtualbox/libQt5GuiVBox.so.5  /lib/i386-linux-gnu/
sudo ln -s /usr/lib/virtualbox/libQt5CoreVBox.so.5  /lib/i386-linux-gnu/

Comprueba:
ls -l /lib/i386-linux-gnu/ | grep Qt

VERR_VMX_NO_VMX

Error: Hardware virtualization (VT-x/AMD-V) in exact virtual machine is not set.

Cambia desde los ajustes:

Máquina->Configuración o CTRL+S
Sistema->Aceleración
Virtualización de hardware -> Activar VT-X/AMD-V
o ejecuta el comando en la terminal:

VBoxManage modifyvm <uuid|vmname>[--hwvvirtex on|off]

 

Fuente: maslinux

¿Quién está en línea?

Hay 12545 invitados y ningún miembro en línea