VirtualBox (Español)
VirtualBox es un hipervisor que se utiliza para ejecutar sistemas operativos en un entorno especial, llamado máquina virtual, corriendo sobre un sistema operativo ya existente. VirtualBox está en constante desarrollo y las nuevas características se implementan continuamente. Viene con una interfaz gráfica basada en Qt, así como herramientas de línea de órdenes SDL y headless para la gestión y ejecución de máquinas virtuales.
Con el fin de integrar las funciones del sistema anfitrión en los sistemas huéspedes, incluyendo carpetas compartidas y portapapeles, aceleración de vídeo y un modo de integración de ventanas fluido, se proporcionan complementos huéspedes (guest additions) para algunos sistemas operativos huéspedes.
Pasos para preparar Arch Linux como sistema anfitrión
Para poner en marcha máquinas virtuales de VirtualBox emarcadas en su sistema Arch Linux, siga estos pasos de instalación.
Instalar los paquetes principales
Instale el paquete virtualbox. Deberá elegir un paquete para proporcionar módulos al sistema anfitrión:
- para el kernel linux elija virtualbox-host-modules-arch
- para otros kernels elija virtualbox-host-dkms
Para compilar los módulos de VirtualBox proporcionados por virtualbox-host-dkms, también será necesario instalar el paquete de encabezado apropiado para su kernel linux-lts-headers. [1] Cuando se actualice VirtualBox o el kernel, los módulos del kernel se volverán a compilar automáticamente gracias al hook DKMS de Pacman.
Firmar los módulos
Cuando use un kernel personalizado con la opción CONFIG_MODULE_SIG_FORCE
activada, debe firmar sus módulos con una clave generada durante la compilación del kernel.
Navegue a la carpeta del árbol del kernel y ejecute la siguiente orden:
# for module in `ls /lib/modules/$(uname -r)/kernel/misc/{vboxdrv.ko,vboxnetadp.ko,vboxnetflt.ko,vboxpci.ko}` ; do ./scripts/sign-file sha1 certs/signing_key.pem certs/signing_key.x509 $module ; done
Cargar los módulos del kernel de VirtualBox
virtualbox-host-modules-arch y virtualbox-host-dkms usa systemd-modules-load.service
para cargar los cuatro módulos de VirtualBox automáticamente en el momento del arranque. Para que los módulos se carguen después de la instalación, reinicie o cargue los módulos una vez manualmente.
/usr/lib/modules-load.d/virtualbox-host-modules-arch.conf
(o /usr/lib/modules-load.d/virtualbox-host-dkms.conf
)creando un archivo vacío (o enlace simbólico a /dev/null
) con el mismo nombre en /etc/modules-load.d/
.Entre los módulos del kernel de VirtualBo que puede utilizar, hay uno obligatorio llamado vboxdrv
, que se debe cargar antes de que se pueda ejecutar cualquier máquina virtual.
Para cargar el módulo manualmente, ejecute:
# modprobe vboxdrv
Los siguientes módulos solo serán necesarios con algunas configuraciones avanzadas:
-
vboxnetadp
yvboxnetflt
son necesarios cuando intenta usar la característica de bridged o conexión de red solo para el sistema anfitrión. Más precisamente, se necesitavboxnetadp
para crear la interfaz del sistema anfitrión en las preferencias globales de VirtualBox, yvboxnetflt
para iniciar una máquina virtual usando esa interfaz de red. -
vboxpci
es necesario cuando su máquina virtual necesita pasar a través de un dispositivo PCI del sistema anfitrión.
vboxreload
como root.Acceder al dispositivos USB del anfitrión desde el huésped
Para usar los puertos USB del equipo anfitrión en sus máquinas virtuales, agregue usuarios que estén autorizados para usar esta función a vboxusers
del grupo de usuarios.
Disco de «Guest Additions»
También se recomienda instalar el paquete virtualbox-guest-iso en el equipo que ejecuta VirtualBox. Este paquete actuará como una imagen de disco que se puede usar para instalar los complementos («guest additions») en sistemas huéspedes que no sean Arch Linux. El archivo .iso se ubicará en /usr/lib/virtualbox/additions/VBoxGuestAdditions.iso
, y puede que tenga que ser montado manualmente dentro de la máquina virtual. Una vez montado puede ejecutar el instalador de complementos adicionales dentro del huésped.
Paquete de extensiones
El paquete Oracle Extension proporciona additional features (características adicionales) y se lanza bajo una licencia no gratuita solo disponible para uso personal. Para instalarlo, está disponible el paquete virtualbox-ext-oracleAUR, y se puede encontrar una versión precompilada en el repositorio seblu.
Si prefiere usar la forma tradicional y manual: descargue la extensión manualmente e instálela a través de la interfaz gráfica (Archivo > Preferencias > Extensiones) o a través de VBoxManage extpack install <.vbox-extpack>
, asegúrese de tener un conjunto de herramientas como Polkit para otorgar acceso privilegiado a VirtualBox. La instalación de esta extensión requiere acceso de root.
Utilizar el front-end adecuado
VirtualBox viene con tres front-ends:
- Si desea usar VirtualBox con la interfaz gráfica normal, use
VirtualBox
. - Si desea iniciar y administrar sus máquinas virtuales desde la línea de órdenes, use la orden
VBoxSDL
,que solo proporciona una ventana simple para la máquina virtual sin superposiciones. - Si desea usar VirtualBox sin ejecutar ninguna interfaz gráfica (por ejemplo, en un servidor), use la orden
VBoxHeadless
. Con la extensión VRDP, aún puede acceder de forma remota a las pantallas de sus máquinas virtuales.
Por último, puede utilizar PhpVirtualBox para administrar sus máquinas virtuales a través de una interfaz web.
Remítase al manual de VirtualBox para aprender cómo crear máquinas virtuales.
Pasos para instalar Arch Linux como sistema huésped
Inicie el soporte de instalación de Arch a través de una de las unidades virtuales de la máquina virtual. Luego, complete la instalación de un sistema Arch básico como se explica en la Installation guide (Español).
Instalación en modo EFI
Si desea instalar Arch Linux en modo EFI en VirtualBox, en la configuración de la máquina virtual, choose System item from the panel on the left and Motherboard tab from the right panel, y marque la casilla Enable EFI (special OSes only). Después seleccione el kernel desde el menú del soporte de instalación de Arch Linux, el soporte demorará por un minuto o dos y continuará con el arranque del kernel normalmente después. Sea paciente.
Una vez que el sistema y el cargador de arranque estén instalados, VirtualBox intentará ejecutar primero /EFI/BOOT/BOOTX64.EFI
desde la partición EFI system partition (Español). Si esa primera opción falla, VirtualBox probará el script del intérprete de órdenes de EFI startup.nsh
desde la raíz de la ESP. Esto significa que para iniciar el sistema tiene las siguientes opciones:
- Inicie el cargador de arranque manualmente desde el intérprete de órdenes de EFI cada vez;
- Mueva el gestor de arranque a la ruta predeterminada
/EFI/BOOT/BOOTX64.EFI
; - Crea un script que se llame
startup.nsh
en la raíz de la partición ESP que contenga la ruta a la aplicación del cargador de arranque, por ejemplo\EFI\grub\grubx64.efi
. - Arranque directamente desde la partición ESP usando un script startup.nsh.
No se moleste con el «VirtualBox Boot Manager» (accesible con F2
en el inicio), ya que está defectuoso e incompleto. No almacena efivars establecidos de forma interactiva. Por lo tanto, las entradas EFI agregadas manualmente en el firmware (a las que se accede con F12
en el momento del inicio) o con efibootmgr persistirán después de un reinicio pero se pierden cuando la máquina virtual se apaga.
Véase también Problemas de arranque de la instalación de UEFI VirtualBox.
Instalar los «Guest Additions»
Los Guest Additions de VirtualBox proporcionan controladores y aplicaciones que optimizan el sistema operativo huésped, incluida una resolución de imagen mejorada y un mejor control del ratón. Dentro del sistema huésped instalado, instale:
- virtualbox-guest-utils y xf86-video-vmware (FS#61183) para las utilidades de VirtualBox Guest con soporte para X;
- virtualbox-guest-utils-nox para las utilidades de VirtualBox Guest sin soporte de X.
Para compilar los módulos de virtualbox proporcionados por virtualbox-guest-dkms[enlace roto: replaced by virtualbox-guest-utils], también será necesario instalar los paquetes de encabezados adecuados para su kernel instalado (por ejemplo, linux-lts-headers para linux-lts). [2] Cuando se actualice VirtualBox o el kernel, los módulos del kernel se volverán a compilar automáticamente gracias al hook [[DKMS] ] de Pacman.
- Alternativamente, puede instalar los «Guest Additions» con la ISO del paquete virtualbox-guest-iso, siempre que lo haya instalado en el sistema anfitrión. Para ello, vaya al menú del dispositivo y haga clic en Insertar imagen del CD de «Guest Additions».
- Para recompilar los módulos del kernel de vbox, ejecuten
rcvboxdrv
como root.
Los complementos adicionales para el sistema huésped («guest additions») que se ejecutan en su sistema huésped y la aplicación VirtualBox que se ejecuta en su sistema anfitrión deben tener versiones coincidentes, de lo contrario los complementos adicionales (como el portapapeles compartido) pueden dejar de funcionar. Si actualiza su sistema huésped (por ejemplo, pacman -Syu
), asegúrese de que su aplicación VirtualBox presente en el sistema anfitrión también sea la última versión. «Check for updates» en la interfaz gráfica de VirtualBox a veces no es suficiente; visite el sitio web VirtualBox.org.
Establecer la resolución óptima de framebuffer
Normalmente, después de instalar Guest Additions, un huésped de Arch en pantalla completa que ejecuta X se configurará en la resolución óptima para su pantalla; sin embargo, el framebuffer de la consola virtual se configurará en una resolución estándar, a menudo más pequeña, detectada desde el controlador VESA personalizado de VirtualBox.
Para usar las consolas virtuales con una resolución óptima, Arch debe reconocer que la resolución es válida, lo que a su vez requiere que VirtualBox pase esta información al sistema operativo huésped.
Primero, verifique si su resolución deseada no está ya reconocida al ejecutar la orden:
hwinfo --framebuffer
Si la resolución óptima no se muestra, entonces deberá ejecutar la herramienta VBoxManage
en el equipo anfitrión y agregue «resoluciones extras» a su máquina virtual (en un sistema anfitrión de Windows, vaya al directorio de instalación de VirtualBox para encontrar VBoxManage.exe
). Por ejemplo:
$ VBoxManage setextradata "Arch Linux" "CustomVideoMode1" "1360x768x24"
Los parámetros "Arch Linux" y "1360x768x24" en el ejemplo anterior deben reemplazarse con el nombre de su máquina virtual y la resolución de framebuffer deseada. Por cierto, esta orden permite definir hasta 16 resoluciones adicionales ("CustomVideoMode1" hasta "CustomVideoMode16").
Luego, reinicie la máquina virtual y ejecute hwinfo --framebuffer
una vez más para verificar que el sistema huésped ha reconocido las nuevas resoluciones (lo que no garantiza que funcionen, lo que dependerá de las limitaciones del hardware).
hwinfo --framebuffer
puede que no muestre ningún resultado, pero aún así debería poder establecer una resolución personalizada siguiendo este procedimiento.Finalmente, agregue un parámetro del kernel video=resolution
para configurar el framebuffer a la nueva resolución, por ejemplo::
video=1360x768
Además, es posible que desee configurar su Arch boot process (Español)#Gestor de arranque para usar la misma resolución. Si usa GRUB, consul GRUB (Español)/Tips and tricks (Español)#Ajustar la resolución del framebuffer.
vga
ni la configuración de resolución del cargador de arranque (por ejemplo, GRUB_GFXPAYLOAD_LINUX
) de GRUB, pueden arreglar el framebuffer, ya que están superados por la configuración de modo del kernel. La resolución del framebuffer debe ser establecida por el parámetro del kernel video
como se describió anteriormente.Cargar los módulos del kernel de VirtualBox
Para cargar los módulos automáticamente, active vboxservice.service
que carga los módulos y sincroniza la hora del sistema del sistema huésped con el sistema anfitrión.
Para cargar los módulos manualmente, escriba:
# modprobe -a vboxguest vboxsf vboxvideo
virtualbox-guest-dkms[enlace roto: replaced by virtualbox-guest-utils] utiliza systemd-modules-load.service
para cargar los módulos en el momento del arranque.
/usr/lib/modules-load.d/virtualbox-guest-dkms.conf
creando un archivo vacío (o enlace simbólico a /dev/null
) con el mismo nombre en /etc/modules-load.d/
.Lanzar los servicios de VirtualBox en el sistema huésped
Después de instalar los módulos del kernel, ahora se necesita iniciar los servicios en el sistema huésped. Los servicios de los huéspedes son en realidad un ejecutable binario llamado VBoxClient
que interactuará con el sistema de ventanas X (X11) y que gestionará las siguientes funciones:
- portapapeles compartido y función arrastrar y soltar entre el anfitrión y el huésped;
- modo de ventanas integradas;
- la pantalla del huésped se redimensiona automáticamente en función del tamaño de la ventana del sistema huésped;
- y, finalmente, la comprobación de la versión del anfitrión de VirtualBox.
Todas estas características se pueden activar, separada y manualmente, con sus estiquetas dedicadas.
$ VBoxClient --clipboard $ VBoxClient --draganddrop $ VBoxClient --seamless $ VBoxClient --display $ VBoxClient --checkhostversion $ VBoxClient --vmsvga-x11
Tenga en cuenta que VBoxClient
solo se puede llamar con un indicador a la vez, cada llamada genera un proceso de servicio dedicado. Como método abreviado, el script de bash VBoxClient-all
activa todas estas características.
virtualbox-guest-utils instala /etc/xdg/autostart/vboxclient.desktop
que lanza VBoxClient-all
al iniciar sesión. Si su entorno de escritorio o gestor de ventanas no es compatible con XDG Autostart, deberá configurar el inicio automático usted mismo, consulte Autostarting#On desktop environment startup y Autostarting#On window manager startup para más detalles.
VirtualBox también puede sincronizar el tiempo entre el sistema anfitrión y el sistema huésped, para hacer esto, inicie/active el servicio vboxservice.service
.
Ahora, debería tener un sistema huésped de Arch Linux funcional. Tenga en cuenta que características como el uso compartido del portapapeles están desactivadas de manera predeterminada en VirtualBox, y tendrá que activarlas en la configuración para la máquina virtual si realmente quiere usarlas (por ejemplo, Configuración > General > Avanzado > Portapapeles compartido).
Aceleracion de hardware
La aceleración de hardware se puede activar en las opciones de VirtualBox. Se sabe que el gestor de pantallas GDM rompe el soporte de aceleración de hardware. [3] Si es el caso, y tiene problemas con la aceleración de hardware, pruebe con otro gestor de pantallas (lightdm parece funcionar bien). [4] [5]
Si la aceleración por hardware no funciona como esperaba, intente cambiar la opción Graphics Controller que encontrará en la pestaña Screen en las opciones Display del menú de configuración. Parece que, según el tipo de GPU del equipo anfitrión, no todos los controladores emulados funcionarán igual de bien.
Activar carpetas compartidas
Las carpetas compartidas se gestionan en el sistema anfitrión, en la configuración de la máquina virtual, accesible a través de la interfaz gráfica del usuario de VirtualBox, en la pestaña Shared Folders. Ahí se pueden especificar, la Ruta de la carpeta, el nombre del punto de montaje identificado por el Nombre de la carpeta , y opciones como Solo lectura, Montaje automático y Hacer permanente. Estos parámetros se pueden definir con la utilidad de línea de órdenes VBoxManage
. Vea esto para más detalles.
Independientemente del método que utilice para montar su carpeta, todos los métodos requieren algunos pasos previos.
Para evitar este problema /sbin/mount.vboxsf: mounting failed with the error: No such device
, asegúrese de que el módulo del kernel vboxsf
se ha cargado adecuadamente. Esto ya ha debido ser así, ya que se activaron todos los módulos del kernel del sistema huésped previamente.
Se necesitan dos pasos adicionales para que el punto de montaje sea accesible a los usuarios sin privilegios de root:
- el paquete virtualbox-guest-utils habrá creado un grupo
vboxsf
(hecho en un paso anterior); - su nombre de usuario debe estar en este grupo. Utilice esta orden
gpasswd -a $USER vboxsf
para añadir su nombre de usuario y esta otranewgrp
para aplicar los cambios inmediatamente;
Montaje manual
Utilice la siguiente orden para montar su carpeta en el sistema huésped Arch Linux:
# mount -t vboxsf -o gid=vboxsf shared_folder_name mount_point_on_guest_system
donde shared_folder_name
es el nombre de la carpeta asignado por el hipervisor cuando se creó el recurso compartido.
Si el usuario no está en el grupo vboxsf, para darle acceso a nuestro punto de montaje, podemos especificar las opciones mount(8), uid=
y gid=
con los valores correspondientes del usuario. Estos valores se pueden obtener de la orden id
ejecutada frente a este usuario. Por ejemplo:
# mount -t vboxsf -o uid=1000,gid=1000 home /mnt
Montaje automático
Para que la función de montaje automático funcione debe haber marcado la casilla de montaje automático en la interfaz gráica o usado la opción --automount
en la orden VBoxManage sharedfolder
.
La carpeta compartida debe aparecer ahora como /media/sf_shared_folder_name
. Si los usuarios en media
no pueden acceder a las carpetas compartidas, verifique que /media
tenga permisos 755
o sea propiedad del grupo vboxsf
si usa permisos 750
. Actualmente, este no es el valor predeterminado si el directorio /media
es creado por vboxservice.service
.
Puede usar enlaces simbólicos si quiere tener un acceso más cómodo a dicha carpeta y ahorrarse tener que navegar hasta ese directorio, por ejemplo:
$ ln -s /media/sf_shared_folder_name ~/my_documents
Montaje durante el arranque
Puede montar su directorio con fstab (Español). Sin embargo, para evitar problemas de inicio con systemd, debe añadir comment=systemd.automount
a /etc/fstab
. De esta manera, las carpetas compartidas serán montadas bajo demanda, solo cuando se acceda a los puntos de montaje y no durante el inicio. Esto puede evitar algunos problemas, especialmente si las aplicaciones del sistema huésped no están aún cargadas mientras systemd lee fstab y monta las particiones.
sharedFolderName /path/to/mntPtOnGuestMachine vboxsf uid=user,gid=group,rw,dmode=700,fmode=600,noauto,x-systemd.automount
-
sharedFolderName
: el valor del menú para la máquina virtual Settings > SharedFolders > Edit > FolderName. Este valor puede ser diferente del nombre de la carpeta real en equipo anfitrión. Para ver la Configuración para la máquina virtual vaya a la aplicación de VirtualBox del sistema operativo del sistema anfitrión, seleccione la máquina virtual correspondiente y haga clic en Settings. -
/path/to/mntPtOnGuestMachine
: si no existe, este directorio debe crearse manualmente (por ejemplo, utilizando mkdir). -
dmode
/fmode
son permisos de directorio/archivo para directorios/archivos dentro de/path/to/mntPtOnGuestMachine
.
A partir de 2012-08-02, mount.vboxsf no admite la opción nofail
:
desktop /media/desktop vboxsf uid=user,gid=group,rw,dmode=700,fmode=600,nofail 0 0
SSH de anfitrión a huésped
La pestaña network e la configuración de la máquina virtual contiene, en Avanzado, una herramienta para crear el reenvío de puertos.
Es posible usarlo para reenviar el puerto ssh del sistema huésped 22
a un puerto del sistema anfitrión, por ejemplo 3022
:
user@host$ ssh -p 3022 $USER@localhost
establecerá una conexión del sistema anfitrión al sistema huésped.
SSHFS como alternativa a la carpeta compartida
Al usar este reenvío de puertos y sshfs, es sencillo montar el sistema de archivos del sistema huésped en el sistema anfitrión:
user@host$ sshfs -p 3022 $USER@localhost:$HOME ~/shared_folder
y luego transferir archivos entre ambos.
Gestionar discos virtuales
Véase también VirtualBox#Import/export VirtualBox virtual machines from/to other hypervisors.
Formatos soportados por VirtualBox
VirtualBox es compatible con los siguientes formatos de disco virtual:
- VDI: la «Virtual Disk Image» es el propio contenedor abierto de VirtualBox utilizado por defecto al crear una máquina virtual con VirtualBox.
- VMDK: el «Virtual Machine Disk» fue desarrollado inicialmente por VMware para sus productos. La especificación fue inicialmente de código cerrado, pero ahora se ha convertido en un formato abierto que está totalmente respaldado por VirtualBox. Este formato ofrece la posibilidad de dividirse en varios archivos de 2 GB. Esta característica es especialmente útil si desea almacenar la máquina virtual en máquinas que no soportan archivos muy grandes. Otros formatos, excluyendo el formato HDD de Parallels, no proporcionan una característica equivalente.
- VHD: el «Virtual Hard Disk» es el formato utilizado por Microsoft en Windows Virtual PC y Hyper-V. Si tiene intención de utilizar cualquiera de estos productos de Microsoft, tendrá que elegir este formato.
- Sugerencia: desde Windows 7, este formato se puede montar directamente sin ninguna aplicación adicional.
- VHDX (solo lectura): esta es la versión extendida del formato de «Virtual Hard Disk» desarrollada por Microsoft, que ha sido liberado el 2012-09-04 con Hyper-V 3.0 que viene con Windows Server 2012. Esta nueva versión del formato de disco no ofrece un rendimiento mejorado (mejora, eso sí, la alineación de bloques), permite mayor tamaño de los bloques, y da soporte a journal que aporta resiliencia a los fallos de energía. VirtualBox soporta este formato en solo lectura.
-
HDD (versión 2): el formato HDD es desarrollado por Parallels Inc y utilizado en sus soluciones de hipervisor como Parallels Desktop para Mac. Las nuevas versiones de este formato (es decir, 3 y 4) no son compatibles debido a la falta de documentación de este formato propietario. Nota: en la actualidad existe una controversia con respecto al soporte de la versión 2 del formato. Si bien el manual oficial de VirtualBox informa que solo la segunda versión del formato de archivo HDD está soportado, los colaboradores de Wikipedia informan que la primera versión puede funcionar también. Si es posible realizar algunas pruebas con la primera versión del formato HDD, la ayuda será bienvenida.
- QED: el formato «QUEMU Enhanced Disk» es un formato de archivo antiguo de QEMU, otro hipervisor de código libre y abierto. Este formato fue diseñado a partir de 2010 como una forma de ofrecer una alternativa superior a qcow2 y otros. Este formato cuenta con una trayectoria de E/S totalmente asíncrona, integridad de datos solida, respaldo de archivos y archivos dispersos. El formato QED solo se admite para la compatibilidad con máquinas virtuales creadas con versiones antiguas de QEMU.
- QCOW: el formato «QEMU Copy On Write» es el formato actual de QEMU. El formato qcow soporta compresión transparente basada en zlib y cifrado (este último tiene defectos y no es recomendable). Qcow está disponible en dos versiones: QCOW y QCOW2. El último tiende a reemplazar al primero. QCOW es en la actualidad plenamente soportado por VirtualBox. QCOW2 viene en dos revisiones: QCOW2 0.10 y QCOW2 1.1 (que es el valor por defecto cuando se crea un disco virtual con QEMU). VirtualBox no soporta este formato qcow2 (ambas revisiones se han probado).
- OVF: El «Open Virtualization Format» es un formato abierto que ha sido diseñado para la interoperabilidad y la distribución de las máquinas virtuales entre diferentes hipervisores. VirtualBox es compatible con todas las revisiones de este formato a través de la característica importar/exportar de VBoxManage pero con limitaciones conocidas.
- RAW: este es el modo cuando el disco virtual se expone directamente al disco sin ser contenida en un contenedor específico de formato de archivo. VirtualBox soporta esta característica de varias maneras: la conversión de disco RAW a un formato específico, o por clonación de un disco a RAW, o utilizando directamente un archivo VMDK que apunte a un disco físico o a un simple archivo.
Conversión de formatos de imagen de disco
VBoxManage clonehd se puede usar para convertir entre VDI, VMDK, VHD y RAW.
$ VBoxManage clonehd inputfile outputfile --format outputformat
Por ejemplo para convertir VDI a VMDK:
$ VBoxManage clonehd source.vdi destination.vmdk --format VMDK
QCOW
VirtualBox no admite el formato de imagen de disco QCOW2 de QEMU. Para usar una imagen de disco QCOW2 con VirtualBox, por lo tanto, debe convertirla, lo que puede hacerse con la orden qemu-img
del paquete qemu-desktop. qemu-img
puede convertir QCOW a / desde VDI, VMDK, VHDX, RAW y varios otros formatos (que puede ver ejecutando
$ qemu-img convert -O output_fmt inputfile outputfile
Por ejemplo, para convertir QCOW2 a VDI:
$ qemu-img convert -O vdi source.qcow2 destination.vdi
-p
se usa para obtener la progresión de la tarea de conversión.Hay dos revisiones de QCOW2: 0.10 y 1.1. Puede especificar la revisión para usar con -o compat=revision
.
Montar discos virtuales
VDI
El montaje de imágenes VDI solo funciona con imágenes de tamaño fijo (también conocidas como imágenes estáticas); las imágenes dinámicas (asignación dinámica de tamaño) no son fáciles de montar.
El desplazamiento de la partición (en el VDI) es necesario, luego hay que agregar el valor offData
a 32256
(por ejemplo, 69632 + 32256 = 101888):
$ VBoxManage internalcommands dumphdinfo <storage.vdi> | grep "offData"
Ahora se puede montar el almacenamiento con:
# mount -t ext4 -o rw,noatime,noexec,loop,offset=101888 <storage.vdi> /mntpoint/
Para discos VDI con más particiones, también puede utilizar losetup
:
# losetup -o $offData -Pf
Después de esto, debería encontrar las particiones en /dev/loop*
(por ejemplo /dev/loop0p1
). Luego puede montarlos como de costumbre (por ejemplo, mount mount /dev/loop0p1 /mnt/
).
También puede utilizar el script mount.vdi script that, which you can use as (install script itself to /usr/bin/
):
# mount -t vdi -o fstype=ext4,rw,noatime,noexec vdi_file_location /mnt/
Alternativamente, puede usar el módulo del kernel qemu-desktop que puede hacer este attrib:
# modprobe nbd max_part=16 # qemu-nbd -c /dev/nbd0 <storage.vdi> # mount /dev/nbd0p1 /mnt/dir/ # # to unmount: # umount /mnt/dir/ # qemu-nbd -d /dev/nbd0
Si los nodos de partición no se desplazan, pruebe usando partprobe /dev/nbd0
; en otro caso, una partición vdi se puede asignar directamente a un nodo con: qemu-nbd -P 1 -c /dev/nbd0 <storage.vdi>
.
VHD
Al igual que VDI, las imágenes VHD se pueden montar con el módulo nbd de QEMU:
# modprobe nbd # qemu-nbd -c /dev/nbd0 storage.vhd # mount /dev/nbd0p1 /mnt
Para desmontar:
# umount /mnt # qemu-nbd -d /dev/nbd0
Discos virtuales compactos
La compactación de discos virtuales solo funciona con archivos .vdi
y, básicamente, consiste en los siguientes pasos.
Arranque su máquina virtual y quite todo el espacio sobrante manualmente o mediante el uso de una herramienta de limpieza como bleachbit disponible para sistemas windows también.
Limpie el espacio libre con ceros que puede lograrse con varias herramientas:
- Si se estaba utilizando BleachBit, puede seguir usando esta utilidad para esta función, marcando la casilla System > Free disk space de la interfaz, o, en otro caso, utilizando
bleachbit -c system.free_disk_space
en la línea de intérprete de órdenes (CLI); - En los sistemas basados en UNIX, usando
dd
o, preferiblemente dcflddAUR (vea esto para conocer las diferencias):
# dcfldd if=/dev/zero of=/fillfile bs=4M
- Cuando
fillfile
haya alcanzado el límite de la partición, se recibirá un mensaje como1280 blocks (5120Mb) written.dcfldd:: No space left on device
. Esto significa que todos los bloques del espacio de usuario y no reservados de la partición se llenarán con ceros. Utilice esta orden como root ya que es importante asegurarse de que todos los bloques libres han sido sobrescritos. De hecho, por defecto, al utilizar particiones con sistema de archivos ext, un porcentaje específico de bloques del sistema de archivos está reservada para el superusuario (vea el argumento-m
en la página del manual demkfs.ext4
o utilicetune2fs -l
para ver cuánto espacio está reservado para aplicaciones de root). - Cuando el proceso antes mencionado se ha completado, puede eliminar el archivo
fillfile
creado.
- En Windows, hay dos herramientas disponibles:
-
sdelete
de la suite Sysinternals, escribasdelete -s c:
, necesitará repetir la orden para cada unidad que tenga en su máquina virtual; - o, si se prefiere los scripts, hay una solución PowerShell, pero que aún así necesita ser repetido para todas las unidades.
-
PS> ./Write-ZeroesToFreeSpace.ps1 -Root c:\ -PercentFree 0
- Nota: este script se debe ejecutar en un entorno de PowerShell con privilegios de administrador. De forma predeterminada, los scripts no se pueden ejecutar, por lo que tendrá que asegurarse que la política de ejecución esté, al menos, en
RemoteSigned
y no enRestricted
. Esto se puede comprobar conGet-ExecutionPolicy
y la política requerida se puede establecer conSet-ExecutionPolicy RemoteSigned
.
Una vez que el espacio libre en el disco ha sido anulado, apague su máquina virtual.
La próxima vez que arranque su máquina virtual, es recomendable hacer una verificación del sistema de archivos.
- En los sistemas basados en UNIX, puede usar
fsck
manualmente;- En los sistemas GNU / Linux, y por lo tanto en Arch Linux, puede forzar una comprobación de disco en el arranque gracias a un parámetro de arranque del kernel;
- En los sistemas Windows, puede utilizar:
- o bien,
chkdsk c: /F
dondec:
necesita ser reemplazado por cada disco que necesita ser analizado y corregir errores; - o,
FsckDskAll
desde aquí, que es básicamente el mismo software quechkdsk
, pero sin la necesidad de repetir la orden para todas las unidades;
- o bien,
Ahora, hay que quitar los ceros del archivo .|vdi con VBoxManage modifyhd:
$ VBoxManage modifyhd your_disk.vdi --compact
.vdi
que tenga.Aumentar discos virtuales
Procedimiento general
Si se está quedando sin espacio, debido al pequeño tamaño del disco duro que ha seleccionado al crear la máquina virtual, la solución aconsejada por el manual de VirtualBox es utilizar VBoxManage modifyhd. Sin embargo, esta orden solo funciona para los discos VDI y VHD, y solo para las variantes asignadas dinámicamente. Si desea cambiar el tamaño de un disco virtual que también es un disco de tamaño fijo, siga este arreglo que funciona bien para una máquina virtual Windows o UNIX.
En primer lugar, crear un nuevo disco virtual junto al que quiere aumentar:
$ VBoxManage createhd -filename new.vdi --size 10000
donde el tamaño es en MiB, en este ejemplo 10000MiB ~= 10GiB, y new.vdi es el nombre del nuevo disco duro que se creará.
--variant Fixed
.A continuación, el viejo disco virtual necesita ser clonado para el nuevo, lo cual puede tomar algún tiempo:
$ VBoxManage clonehd old.vdi new.vdi --existing
Separe el viejo disco duro y adjunte uno nuevo, sustituyendo todos los argumentos en cursiva obligatoriamente, según sus características:
$ VBoxManage storageattach VM_name --storagectl SATA --port 0 --medium none $ VBoxManage storageattach VM_name --storagectl SATA --port 0 --medium new.vdi --type hdd
Para obtener el nombre del controlador del almacenamiento y el número del puerto, puede utilizar la orden VBoxManage showvminfo VM_name
. De la salida obtendrá tal resultado (lo que busca está en cursiva):
[...] Storage Controller Name (0): IDE Storage Controller Type (0): PIIX4 Storage Controller Instance Number (0): 0 Storage Controller Max Port Count (0): 2 Storage Controller Port Count (0): 2 Storage Controller Bootable (0): on Storage Controller Name (1): SATA Storage Controller Type (1): IntelAhci Storage Controller Instance Number (1): 0 Storage Controller Max Port Count (1): 30 Storage Controller Port Count (1): 1 Storage Controller Bootable (1): on IDE (1, 0): Empty SATA (0, 0): /home/wget/IT/Virtual_machines/GNU_Linux_distributions/ArchLinux_x64_EFI/Snapshots/{6bb17af7-e8a2-4bbf-baac-fbba05ebd704}.vdi (UUID: 6bb17af7-e8a2-4bbf-baac-fbba05ebd704) [...]
Descargue la imagen de GParted live y móntela como un archivo de disco CD/DVD virtual, arranque su máquina virtual, aumente/mueva las particiones, desmonte GParted live y reinicie el sistema.
Por último, anule el registro del disco virtual de VirtualBox y elimine el archivo:
$ VBoxManage closemedium disk old.vdi $ rm old.vdi
Aumentar el tamaño de los discos VDI
Si su disco es VDI, ejecute:
$ VBoxManage modifyhd your_virtual_disk.vdi --resize the_new_size
Luego salte de nuevo al paso Gparted, para aumentar el tamaño de la partición en el disco virtual.
Reemplazar un disco virtual de forma manual desde el archivo .vbox
Si piensa que la edición de un simple archivo XML es más eficaz que jugar con la interfaz gráfica del usuario o con VBoxManage
y desea reemplazar (o añadir) un disco virtual a la máquina virtual, basta con reemplazar la GUID en el archivo de configuración .vbox correspondiente a su máquina virtual, con el archivo de ubicación y el formato que necesite:
ArchLinux_vm.vbox
<HardDisk uuid="{670157e5-8bd4-4f7b-8b96-9ee412a712b5}" location="ArchLinux_vm.vdi" format="VDI" type="Normal"/>
a continuación, en la subetiqueta <AttachedDevice>
de <StorageController>
, sustituya la GUID por la nueva.
ArchLinux_vm.vbox
<AttachedDevice type="HardDisk" port="0" device="0"> <Image uuid="{670157e5-8bd4-4f7b-8b96-9ee412a712b5}"/> </AttachedDevice>
VBoxManage showhdinfo file
. Si ha utilizado previamente VBoxManage clonehd
para copiar/convertir su disco virtual, esta orden debería haber emitido el GUID justo después de la copia/conversión completada. El uso de un GUID aleatorio no funciona, ya que cada UUID se almacena en el interior de cada imagen de disco.Transferencia entre el anfitrión de Linux y otro sistema operativo
La información sobre la ruta a los discos duros y las instantáneas se almacena entre las etiquetas <HardDisks> .... </HardDisks>
en el archivo con la extensión .vbox. Puede editarlos manualmente o usar este script donde necesitará cambiar solo la ruta o usar los valores predeterminados, asumiendo que .vbo está en el mismo directorio con un disco duro virtual y la carpeta de instantáneas. Se imprimirá nueva configuración a la salida estándar.
#!/bin/sh NewPath="${PWD}/" Snapshots="Snapshots/" Filename="$1" awk -v SetPath="$NewPath" -v SnapPath="$Snapshots" '{if(index($0,"<HardDisk uuid=") != 0){A=$3;split(A,B,"="); L=B[2]; gsub(/\"/,"",L); sub(/^.*\//,"",L); sub(/^.*\\/,"",L); if(index($3,"{") != 0){SnapS=SnapPath}else{SnapS=""}; print $1" "$2" location="\"SetPath SnapS L"\" "$4" "$5} else print $0}' "$Filename"
- Si va a preparar una máquina virtual para su uso en un sistema Windows como anfitrión, en el final de la ruta debe usar la barra invertida \ en lugar de /.
- El script detecta las instantáneas buscando
{
en el nombre del archivo. - Para hacer que se ejecute en un nuevo equipo, deberá agregarlo primero al registro haciendo clic en Máquina -> Agregar... o usar las teclas de acceso rápido Ctrl+A y luego ir al archivo .vbox que contiene la configuración o utilizar la línea de órdenes
VBoxManage registervm filename.vbox
Clonar un disco virtual y asignarle un UUID nuevo
Los UUID son ampliamente utilizados por VirtualBox. Cada máquina virtual y cada disco virtual de una máquina virtual deben tener un UUID diferente. Cuando se lanza una máquina virtual en VirtualBox, este último hace un seguimiento de todos los UUID de la instancia de la máquina virtual. Consulte la VBoxManage list
para listar los elementos registrados por VirtualBox.
Si ha clonado un disco virtual de forma manual copiando el archivo del disco virtual, tendrá que asignar un nuevo UUID a la unidad virtual clonada, si quiere utilizar el disco en la misma máquina virtual o, incluso, en otra (si esta ya ha sido abierta y, por lo tanto, registrada, con VirtualBox).
Puede utilizar esta orden para asignar un nuevo UUID a su disco virtual:
$ VBoxManage internalcommands sethduuid /path/to/disk.vdi
VBoxManage clonehd
en su lugar.Consejos y trucos
Para una configuración avanzada, vea VirtualBox (Español)/Tips and tricks (Español).
Solución de problemas
Teclado y ratón bloqueados en la máquina virtual
Esto significa que su máquina virtual ha capturado la entrada de su teclado y del ratón. Basta con pulsar la tecla Ctrl
derecho y su entrada debería volver al control de su sistema anfitrión de nuevo.
Para controlar de forma transparente su máquina virtual con el ratón de modo que este pueda pasear entre esta y el equipo anfitrión sin tener que pulsar ninguna tecla y con una integración perfecta, instale las guest additions dentro del sistema huésped. Lea los pasos para #Instalar los «Guest Additions» si su sistema huésped es Arch Linux, en otro caso, lea la ayuda oficial de VirtualBox.
No hay opciones del sistema operativo de 64 bits para el cliente
Cuando inicia un cliente VM, y no hay opciones de 64 bits disponibles, asegúrese de que las capacidades de virtualización de su CPU (generalmente llamadas VT-x
) estén activadas en el BIOS.
Si está utilizando un sistema Windows como anfitrión, es posible que deba desactivar Hyper-V, ya que evita que VirtualBox use VT-x. [6]
La interfaz gráfica de VirtualBox no coincide con el tema GTK
Vea Uniform look for Qt and GTK applications para obtener información sobre la tematización de aplicaciones basadas en Qt como VirtualBox.
No se pueden usar las teclas CTRL+ALT+Fn en la máquina virtual
Si su sistema operativo huésped es una distribución de GNU/Linux puede abrir una nueva shell TTY con Ctrl+Alt+F2
o salir de su sesión X actual con Ctrl+Alt+Retroceso
. No obstante, si escribe estos atajos de teclado sin ninguna adaptación, el sistema huésped no recibirá ninguna entrada y el anfitrión (si se trata de una distribución GNU/Linux, tampoco) no interpretando estas teclas de acceso directo. Para enviar Ctrl+Alt+F2
al sistema huésped, por ejemplo, basta con pulsar «Host Key», (normalmente la tecla Ctrl
) y F2
simultáneamente.
El subsistema USB no funciona
Su usuario debe estar en el grupo vboxusers
, necesario para instalar el paquete de extensiones si desea apoyo de USB 2. Entonces será capaz de activar USB 2 en la configuración de la máquina virtual y añadir uno o varios filtros para los dispositivos a los que desee acceder desde el sistema operativo huésped.
Si VBoxManage list usbhost
no muestra ningún dispositivo USB, incluso si se ejecuta como root, asegúrese de que no haya reglas udev antiguas (de VirtualBox 4.x) en /etc/udev/rules.d/
. VirtualBox 5.0 instala las reglas udev en /usr/lib/udev/rules.d/
. Puede utilizar órdenes comopacman -Qo /usr/lib/udev/rules.d/60-vboxdrv.rules
para determinar si el archivo de reglas de udev está desactualizado.
A veces, en equipos con Linux antiguo, el subsistema USB no se detecta automáticamente lo que da el error Could not load the Host USB Proxy service: VERR_NOT_FOUND
o la unidad USB no es visible en el equipo, incluso cuando el usuario está en el grupo vboxusers. Este problema es debido al hecho de que VirtualBox cambió de usbfs a sysfs en la versión 3.0.8. Si el sistema anfitrión no entiende este cambio, puede revertir el comportamiento definiendo la siguiente variable de entorno en cualquier archivo fuente de la shell (por ejemplo, su ~/.bashrc
si usa bash):
~/.bashrc
VBOX_USB=usbfs
A continuación, asegúrese de que el entorno ha sido informado de este cambio (reconectar usb, recargar el archivo fuente manualmente, iniciar una instancia de shell o reiniciar equipo de nuevo).
También asegúrese de que su usuario es miembro del grupo storage
.
El módem USB no funciona en el sistema anfitrión
Si tiene un módem USB que está siendo utilizado por el sistema operativo huésped, eliminar el sistema operativo huésped, puede hacer que el sistema anfitrión no pueda utilizar el módem. Matar y reiniciar VBoxSVC
debería solucionar este problema.
El dispositivo USB bloquea al sistema invitado
Si conectar un dispositivo USB al huésped causa un bloqueo o cualquier otro comportamiento erróneo, pruebe cambiando la controladora del USB de USB 2 (EHCI) a USB 3 (xHCI) o viceversa.
Acceder al puerto de serie desde el sistema huésped
Verifique su permiso para el puerto serie:
$ ls -l /dev/ttyS*
crw-rw---- 1 root uucp 4, 64 Feb 3 09:12 /dev/ttyS0 crw-rw---- 1 root uucp 4, 65 Feb 3 09:12 /dev/ttyS1 crw-rw---- 1 root uucp 4, 66 Feb 3 09:12 /dev/ttyS2 crw-rw---- 1 root uucp 4, 67 Feb 3 09:12 /dev/ttyS3
Agregue el usuario uucp
al grupo de usuarios.
El sistema huésped se congela después de iniciar Xorg
Los controladores defectuosos o ausentes pueden provocar que el sistema huésped se congele después de iniciar Xorg, consulte por ejemplo [7] y [8]. Intente desactivar la aceleración 3D en Configuración > Pantalla, y compruebe que todos los controladores de Xorg están instalados.
El modo de pantalla completa muestra la pantalla en blanco
En algunos gestores de ventanas (i3, awesome), VirtualBox tiene problemas con el modo de pantalla completa debido a la barra de superposición. Para solucionar este problema, desactive la opción «Mostrar en pantalla completa/Sin márgenes» en «Configuración de invitado > Interfaz de usuario > Barra de herramientas mini». Consulte el informe de errores de los desarrolladores para obtener más información.
El sistema anfitrión se congela en el inicio de la máquina virtual
Posibles causas/soluciones:
- SMAP
Esta es una incompatibilidad conocida con los kernels activados para SMAP que afectan (en su mayoría) a los conjuntos de chips Intel Broadwell. Una solución a este problema es desactivar el soporte SMAP en el kernel agregando la opción nosmap
a sus parámetros del kernel.
- Virtualización de hardware
Desactivar la virtualización de hardware (VT-x/AMD-V) puede resolver el problema.
En general, estos problemas se observan después de actualizar VirtualBox o el kernel de Linux. La degradación a las versiones anteriores de ellos podría resolver el problema.
El sistema huésped Linux tiene audio lento/distorsionado
El controlador de audio AC97 dentro del kernel de Linux de vez en cuando define los ajustes del reloj de forma equivocada cuando se ejecuta dentro de VirtualBox, lo que lleva a que el audio sea demasiado lento o demasiado rápido. Para solucionar este problema, cree un archivo en /etc/modprobe.d
con la siguiente línea:
options snd-intel8x0 ac97_clock=48000
El micrófono analógico no funciona
Si la entrada de audio de un micrófono analógico funciona correctamente en el sistema anfitrión, pero no parece que el sonido llegue al sistema huésped, a pesar de que el dispositivo de micrófono se detecta normalmente, instalando un servidor de sonido como PulseAudio (Español) en el sistema anfitrión puede solucionar el problema.
Si después de instalar PulseAudio (Español) el micrófono aún se niega a funcionar, la configuración de Host Audio Driver (en VirtualBox > Machine > Settings > Audio) para ALSA Audio Driver podría ayudar.
El micrófono no funciona después de la actualización
Ha habido problemas informados sobre la entrada de sonido en las versiones 5.1.x [11]
Degradar la versión puede resolver el problema. Puede usar virtualbox-bin-5.0AUR para facilitar la degradación.
Problemas con imágenes convertidas a ISO
Algunos formatos de imagen no se pueden convertir de forma fiable a ISO. Por ejemplo, ccd2iso ignora los archivos .ccd y .sub, lo que puede resultar en imágenes de disco con archivos rotos.
En este caso, tendrá que usar CDemu para Linux dentro de VirtualBox o cualquier otra utilidad utilizada para montar imágenes de disco.
Error al crear la interfaz de red única del anfitrión
Asegúrese de que todos los módulos del kernel necesarios están cargados. Véase #Cargar los módulos del kernel de VirtualBox.
Si todos los módulos del kernel necesarios están cargados y aún no puede crear el adaptador solo para el anfitrión, vaya a File > Host Network Manager y haga clic en el botón Create para añadir la interfaz de red.
Error al insertar el módulo
Cuando obtiene el siguiente error al intentar cargar módulos:
Failed to insert 'vboxdrv': Required key not available
Firme los módulos o desactive CONFIG_MODULE_SIG_FORCE
en la configuración de tu kernel.
VBOX_E_INVALID_OBJECT_STATE (0x80BB0007)
Esto puede ocurrir si una máquina virtual se cierra de forma forzosa. Ejecute la siguiente orden:
$ VBoxManage controlvm virtual_machine_name poweroff
«NS_ERROR_FAILURE» y ausencia de elementos del menú
Esto ocurre, a veces, cuando se selecciona el formato de disco QCOW/QCOW2/QED al crear un disco virtual nuevo.
Si encuentra este mensaje cada vez que inicia la máquina virtual:
Failed to open a session for the virtual machine debian. Could not open the medium '/home/.../VirtualBox VMs/debian/debian.qcow'. QCow: Reading the L1 table for image '/home/.../VirtualBox VMs/debian/debian.qcow' failed (VERR_EOF). VD: error VERR_EOF opening image file '/home/.../VirtualBox VMs/debian/debian.qcow' (VERR_EOF). Result Code: NS_ERROR_FAILURE (0x80004005) Component: Medium
Salga de VirtualBox, elimine todos los archivos de la nueva máquina y del archivo de configuración de VirtualBox elimine la última línea del menú MachineRegistry
(o la máquina hostil que lo está creando):
~/.config/VirtualBox/VirtualBox.xml
... <MachineRegistry> <MachineEntry uuid="{00000000-0000-0000-0000-000000000000}" src="/home/void/VirtualBox VMs/debian/debian.vbox"/> <MachineEntry uuid="{00000000-0000-0000-0000-000000000000}" src="/home/void/VirtualBox VMs/ubuntu/ubuntu.vbox"/><MachineEntry uuid="{00000000-0000-0000-0000-000000000000}" src="/home/void/VirtualBox VMs/lastvmcausingproblems/lastvmcausingproblems.qcow"/></MachineRegistry> ...
Arch: el script pacstrap falla
Si usó pacstrap en #Pasos para instalar Arch Linux como sistema huésped también para #Instalar los «Guest Additions» antes de realizar un primer arranque en el nuevo sistema huésped, necesita umount -l /mnt/dev
como root antes de usar pacstrap nuevamente; Si no lo hace, se volverá inutilizable.
OpenBSD queda inutilizable cuando las instrucciones de virtualización no están disponibles
Aunque se informa que OpenBSD funciona bien en otros hipervisores sin instrucciones de virtualización (VT-x AMD-V) activadas, una máquina virtual OpenBSD que se ejecute en VirtualBox sin estas instrucciones será inutilizable, manifestándose con un montón de fallas de segmentación. Iniciar VirtualBox con el argumento -noraw puede resolver el problema. Puede hacerlo así:
$ VBoxSDL -norawr0 -vm name_of_OpenBSD_VM
Anfitrión Windows: VERR_ACCESS_DENIED
Para acceder a la imagen VMDK en crudo en un sistema Windows que actúe de anfitrión, ejecute la interfaz gráfica de VirtualBox como administrador.
Windows: «La ruta especificada no existe. Verifique la ruta y luego inténtelo nuevamente».
Este mensaje de error puede aparecer cuando se ejecuta un archivo .exe
que requiere privilegios de administrador de una carpeta compartida en los sistemas huéspedes de Windows. [12]
Como solución alternativa, copie el archivo en la unidad virtual o use Rutas UNC (\\vboxsvr
). Consulte [13] para obtener más información.
Código de error 0x000000C4 de Windows 8.x
Si obtiene este código de error al iniciar, incluso si elige SO Type Win 8, pruebe activar la instrucción CMPXCHG16B
de la CPU :
$ vboxmanage setextradata virtual_machine_name VBoxInternal/CPUM/CMPXCHG16B 1
Windows 8, 8.1 o 10 no se instala, no se inicia o da el error «ERR_DISK_FULL»
Actualice la configuración de la máquina virtual navegando a Settings > Storage > Controller:SATA y marque «Use Host I/O Cache».
WinXP: la profundidad de bits no puede ser mayor que 16
Si está ejecutando a una profundidad de color de 16 bits, entonces los iconos pueden aparecer borrosos/entrecortados. Sin embargo, al intentar cambiar la profundidad del color a un nivel superior, el sistema puede restringirlo a una resolución más baja o simplemente no permitirle cambiar la profundidad en absoluto. Para solucionar este problema, ejecute regedit
en Windows y agregue la siguiente clave al registro de la máquina virtual de Windows XP:
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services] "ColorDepth"=dword:00000004
Luego actualice la profundidad de color en la ventana «propiedades del escritorio». Si no sucede nada, fuerce la pantalla para redefinirse a través de algún método (esto es, Host+f
para redefinir/ingresar a pantalla completa).
Windows: la pantalla parpadea si la aceleración 3D está activada
VirtualBox > 4.3.14 tiene una regresión en la que los sistemas huéspedes de Windows parpadean si tienen activada la aceleración 3D. Desde r120678 se implementó un parche para reconocer una configuración de variable de entorno, inicie VirtualBox así:
$ CR_RENDER_FORCE_PRESENT_MAIN_THREAD=0 VirtualBox
Asegúrese de que no hay servicios de VirtualBox en ejecución. Consulte VirtualBox bug 13653.
Sin aceleración 3D de hardware en Arch Linux huésped
El paquete virtualbox-guest-utils a partir de la versión 5.2.16-2 no contiene el archivo VBoxEGL.so
. Esto hace que el sistema huésped de Arch Linux no tenga la aceleración 3D adecuada. Vea FS#49752.
Para resolver este problema, aplique el parche establecido en FS#49752#comment152254. Se requiere alguna solución al conjunto de parches para que funcione en la versión 5.2.16-2.
No se puede iniciar VirtualBox en Wayland: «Segmentation fault»
Este problema generalmente es causado por Qt en Wayland, consulte FS#58761.
Lo mejor, para no afectar al resto de las aplicaciones Qt (que, generalmente, funcionan bien en Wayland), es desactivar la variable de entorno QT_QPA_PLATFORM
en la entrada de escritorio de VirtualBox. Siga las instrucciones de Desktop entries#Modify environment variables y cambie las líneas que comienzan con:
Exec=VirtualBox ...
a
Exec=env -u QT_QPA_PLATFORM VirtualBox ...
Si eso no funciona, es posible que deba configurar QT_QPA_PLATFORM
para xcb
en su lugar:
Exec=env QT_QPA_PLATFORM=xcb VirtualBox ...
Problemas conocidos
El montaje automático no funciona
El montaje automático no funciona con los paquetes de compementos huéspedes («packaged guest additions») virtualbox-guest-utils y virtualbox-guest-utils-nox a partir de la versión 6.0.0-1. Vea FS#61307.