VirtualBox (Español)
Artículos relacionados
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 invitados.
Contents
-
1 Pasos para preparar Arch Linux como sistema anfitrión
- 1.1 Instalar los paquetes principales
- 1.2 Instalar los módulos del kernel de VirtualBox
- 1.3 Cargar los módulos del kernel de VirtualBox
- 1.4 Añadir nombres de usuario al grupo vboxusers
- 1.5 Discos con complementos para el sistema huésped (guest additions)
- 1.6 Paquete de extensiones
- 1.7 Utilizar el front-end adecuado
-
2 Pasos para instalar Arch Linux como sistema huésped
- 2.1 Instalar Arch Linux dentro de la máquina virtual
- 2.2 Instalar complementos para el sistema huésped
- 2.3 Instalar los módulos del kernel de VirtualBox en el sistema huésped
- 2.4 Cargar los módulos del kernel de VirtualBox
- 2.5 Lanzar los servicios de VirtualBox en el sistema huésped
- 2.6 Activar carpetas compartidas
- 3 Importar/exportar máquinas virtuales de VirtualBox a/desde otros hipervisores
- 4 Gestionar discos virtuales
-
5 Configuración avanzada
- 5.1 Gestionar el lanzamiento de la máquina virtual
- 5.2 Utilizar dispositivos específicos en la máquina virtual
- 5.3 Acceder a un servidor huésped
- 5.4 Aceleración D3D en huéspedes Windows
- 5.5 VirtualBox en una llave USB
- 5.6 Ejecutar una instalación nativa de Arch Linux dentro de VirtualBox
- 5.7 Instalar un sistema nativo de Arch Linux desde VirtualBox
- 5.8 Mover una instalación nativa de Windows a una máquina virtual
-
6 Solución de problemas
- 6.1 Teclado y ratón bloqueados en la máquina virtual
- 6.2 No se pueden usar las teclas CTRL+ALT+Fn en la máquina virtual
- 6.3 Arreglar problemas de imágenes ISO
- 6.4 La interfaz gráfica de VirtualBox no coincide con mi tema GTK
- 6.5 OpenBSD inutilizable cuando las instrucciones de virtualización no están disponibles
- 6.6 VBOX_E_INVALID_OBJECT_STATE (0x80BB0007)
- 6.7 Subsistema USB no funciona en el sistema anfitrión o huésped
- 6.8 Error al crear la interfaz de red única del anfitrión
- 6.9 WinXP: Bit-depth no puede ser mayor que 16
- 6.10 Utilizar puerto de serie en el sistema operativo huésped
- 6.11 Windows 8.x Error Code 0x000000C4
- 6.12 Fallos de la máquina vitual de Windows 8 al arrancar con el error «ERR_DISK_FULL»
- 6.13 El sistema huésped Linux tiene audio lento/distorsionado
- 6.14 El huésped se congela después de iniciar Xorg
- 6.15 «NS_ERROR_FAILURE» y ausencia de elementos del menú
- 6.16 Error en Windows huésped «The specified path does not exist. Check the path and then try again.»
- 7 Véase también
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
El primer paso es instalar el paquete virtualbox disponible en los repositorios oficiales, que contiene la suite de VirtualBox bajo licencia GPL con las herramientas de línea de órdenes SDL y headless incluidas. El paquete virtualbox viene con virtualbox-host-dkms como una dependencia necesaria.
Puede instalar la dependencia opcional qt4 con el fin de utilizar la interfaz gráfica del usuario basada en Qt. Esto no es necesario si va a utilizar VirtualBox solamente desde la línea de órdenes. Ver abajo para conocer las diferencias.
Instalar los módulos del kernel de VirtualBox
A continuación, para virtualizar totalmente la instalación del sistema huésped, VirtualBox ofrece los siguientes módulos del kernel: vboxdrv
, vboxnetadp
, vboxnetflt
, y vboxpci
. Estos módulos deben ser añadidos al kernel del sistema anfitrión.
La compatibilidad binaria de los módulos del kernel depende de la API del kernel sobre al que va a ser compilado. El problema con el kernel de Linux es que estas interfaces podrían no ser las mismas entre una y otra versión del kernel. Con el fin de evitar problemas de compatibilidad y errores sutiles, cada vez que el kernel de Linux se actualiza, se aconseja volver a compilar los módulos del kernel respecto de la versión del kernel de Linux que acaba de ser instalada. Esto es lo que los empaquetadores de Arch Linux realmente hacen con los paquetes de los módulos del kernel de VirtualBox: cada vez que un nuevo kernel de Linux del Arch se libera, los módulos de Virtualbox se actualizan también.
Por lo tanto, hay que distinguir si se está usando un kernel de los repositorios oficiales o uno personalizado (autocompilado o instalado desde AUR), ya que el paquete de los módulos del kernel a instalar puede variar de uno a otro.
Sistema anfitrión corriendo sobre un kernel oficial
- Si está utilizando el kernel de linux, asegúrese de que el paquete virtualbox-host-dkms está instalado. Este último se ha debido instalar con el paquete virtualbox.
- Si está utilizando la versión LTS del kernel (linux-lts), es necesario instalar el paquete virtualbox-host-dkms. El paquete virtualbox-host-dkms ya no será necesario y puede ser eliminado, si quiere.
- Si está utilizando el kernel linux-ckAUR, construya el paquete virtualbox-ck-host-modulesAUR.
Sistema anfitrión corriendo sobre un kernel personalizado
Si utiliza o pretende utilizar un kernel autocompilado desde las fuentes, tiene que saber que VirtualBox no requiere ningún módulo de virtualización (por ejemplo Virtuo, kvm, ...). Los módulos del kernel de VirtualBox proporcionan todo lo necesario para que VirtualBox funcione correctamente. De este modo se pueden desactivar los archivos .config de virtualización del kernel, siempre que no use otros hipervisores como Xen, KVM o QEMU.
El paquete virtualbox-host-modules
funciona bien con kernels personalizados de la misma versión que el kernel de Arch Linux como linux-ckAUR. Dado que virtualbox-host-modules
viene con el kernel oficial de Arch Linux (linux) como una dependencia, si no usa ese kernel, instale virtualbox-host-dkms en su lugar.
Si utiliza un kernel personalizado que no es de la misma versión que el común de Arch Linux, tendrá que instalar el paquete virtualbox-host-dkms igualmente. Este último viene con la fuente de los módulos del kernel de VirtualBox que se compila para generar estos módulos para el kernel.
En la medida en que el paquete virtualbox-host-dkms necesita compilación, asegúrese de que tiene las cabeceras del kernel correspondientes a su versión del kernel personalizado para evitar que ocurra este error Your kernel headers for kernel your custom kernel version cannot be found at /usr/lib/modules/your custom kernel version/build or /usr/lib/modules/your custom kernel version/source
- Si utiliza un kernel autocompilado y ha utilizado
make modules_install
para instalar los módulos, las carpetas/usr/lib/modules/your custom kernel version/build
y(...)/source
serán un enlace simbólico a las fuentes del kernel. Estos enlaces actuarán como las cabeceras del kernel que necesita. Si no ha eliminado estas fuentes del kernel, sin embargo, no tiene nada que hacer. - Si utiliza un kernel personalizado desde AUR, asegúrese de que el paquete linux-headers está instalado.
Una vez que virtualbox-host-dkms está instalado, simplemente genere los módulos del kernel para su kernel personalizado mediante la ejecución de la siguiente orden que tiene la siguiente estructura:
# dkms install vboxhost/virtualbox-host-source version -k your custom kernel version/your architecture
Para volver a compilar automáticamente los módulos del kernel de VirtualBox cuando sus fuentes se actualicen (es decir, cuando el paquete virtualbox-host-dkms se actualiza) y evitar tener que escribir de nuevo la orden anterior dkms install
manualmente, active el servicio dkms
con:
# systemctl enable dkms.service
Si este servicio no está activado mientras el paquete virtualbox-host-dkms está siendo actualizado, no se actualizarán los módulos de VirtualBox y tendrá que escribir manualmente la orden dkms install
como se ha descrito antes, para compilar la última versión de los módulos del kernel de VirtualBox. Si no desea escribir manualmente esta orden, si el servicio dkms
se carga automáticamente al arranque, solo tiene que reiniciar el sistema para que sus módulos de VirtualBox se vuelvan a compilar en silencio.
Sin embargo, si desea mantener este demonio desactivado, puede utilizar un hook de initramfs que activará automáticamente la orden dkms install
antes descrita en el arranque. Para ello será necesario un reinicio para volver a compilar los módulos de VirtualBox. Para activar este hook, instale el vboxhost-hookAUR[broken link: archived in aur-mirror] disponible en AUR y añada vboxhost
a la matriz HOOKS en /etc/mkinitcpio.conf
. Una vez más, asegúrese de que las cabeceras de Linux correctas están disponibles para el nuevo kernel, de lo contrario la compilación fallará.
Cargar los módulos del kernel de VirtualBox
Entre los módulos del kernel que utiliza VirtualBox, hay uno necesario llamado vboxdrv
, que se debe cargar antes de que las máquinas virtuales pueden ejecutarse. Se puede cargar automáticamente cuando Arch Linux se inicia, o se puede cargar manualmente cuando sea necesario.
Para cargar el módulo manualmente:
# modprobe vboxdrv
Para cargar el módulo de VirtualBox en el arranque, remítase a Kernel modules (Español)#Cargar módulos y cree un archivo *.conf
(por ejemplo, virtualbox.conf
) en /etc/modules-load.d/
con la línea:
/etc/modules-load.d/virtualbox.conf
vboxdrv
Los siguientes módulos son opcionales, pero son recomendables si no quiere molestarse en realizar algunas configuraciones avanzadas (necesarias después): vboxnetadp
, vboxnetflt
y vboxpci
.
-
vboxnetadp
yvboxnetflt
son necesarios cuando se va a utilizar la característica «Host-only networking». Más concretamente,vboxnetadp
es necesario para crear la interfaz del sistema anfitrión en las preferencias globales de VirtualBox yvboxnetflt
se necesita para poner en marcha una máquina virtual usando la interfaz de red.
-
vboxpci
es necesario cuando su máquina virtual tiene que pasar a través de un dispositivo PCI en su sistema anfitrión.
Por último, si se utiliza la característica «Host-only networking», asegúrese de que el paquete net-tools está instalado. VirtualBox utiliza realmente ifconfig
y route
para asignar la IP y la ruta a la interfaz del sitema anfitrión configurados con VBoxManage hostonlyif
o mediante la interfaz grática del usuario en Settings > Network > Host-only Networks > Edit host-only network (space) > Adapter.
Añadir nombres de usuario al grupo vboxusers
Para utilizar los puertos USB de la máquina anfitriona en sus máquinas virtuales, cree el grupo vboxusers
, cuyos usuarios estarán autorizados a utilizar esta función. El nuevo grupo no se aplica automáticamente a las sesiones existentes; el usuario tiene que salir y entrar de nuevo, o iniciar un nuevo entorno con la orden newgrp
o con sudo -u $USER -s
. Para agregar el usuario vigente al grupo vboxusers
, escriba:
# gpasswd -a $USER vboxusers
Discos con complementos para el sistema huésped (guest additions)
También se recomienda instalar el paquete virtualbox-guest-iso en el sistema anfitrión donde se ejecuta VirtualBox. Este paquete actuará como una imagen de disco que se puede utilizar para instalar las aplicaciones huéspedes (guest additions) que no sean de Arch Linux en el sistema invitado. La imagen .iso se encuentra en /usr/lib/virtualbox/additions/VBoxGuestAdditions.iso
.
Paquete de extensiones
Desde VirtualBox 4.0, los componentes no-GPL se han separado del resto de la aplicación. A pesar de que «Oracle Extension Pack» ha sido liberado bajo una licencia no libre y está disponible solo para uso personal, podría estar interesado en instalar dicho paquete el cual proporciona características adicionales. Para evitar que tenga que manipularlo manualmente, el paquete virtualbox-ext-oracleAUR está disponible en AUR y una versión precompilada se puede encontrar en el repositorio seblu.
Si prefiere utilizar la forma tradicional y manual: descargue las extensiones e instálelas manualmente a través de la interfaz gráfica de usuario (Settings > Extensions) o mediante VBoxManage extpack install <.vbox-extpack>
, asegurándose de que tiene el conjunto de herramientas adecuadas (como Polkit, gksu, etc.) para permitirle el acceso a VirtualBox con privilegios de root. La instalación de esta extensión requiere acceder como root.
Utilizar el front-end adecuado
¡Enhorabuena! Ahora, está listo para utilizar VirtualBox.
Hay varios front-ends disponibles, de los cuales, dos por defecto:
- Si desea utilizar VirtualBox únicamente desde la línea de órdenes (solo lanzarlo y cambiar la configuración de las máquinas virtuales existentes), puede utilizar la orden
VBoxSDL
. VBoxSDL solo proporciona una ventana simple que contiene únicamente la máquina virtual pura, sin menús ni controles. - Si desea utilizar VirtualBox desde la línea de órdenes sin ninguna interfaz gráfica de usuario ejecutándose (por ejemplo, en un servidor) para crear, lanzar y configurar máquinas virtuales, utilice
VBoxHeadless
que no produce ninguna salida visible en el equipo anfitrión, enviando solo los datos VRDP.
Si ha instalado el paquete qt4 como dependencia opcional, tendrá disponible una bonita interfaz gráfica de usuario con menús que le permitirán usar el ratón.
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
Instalar Arch Linux dentro de la máquina virtual
Arranque el soporte de instalación de Arch a través de una de las unidades virtuales de la máquina virtual. A continuacion, complete la instalación de un sistema básico de Arch como se explica en la Guía para principiantes o en la Guía de instalación sin instalar ningún controlador gráfico: vamos a instalar uno proporcionado por VirtualBox justo en el paso siguiente.
Instalación en modo EFI
Si desea instalar Arch Linux en modo EFI en VirtualBox, en la configuración de la máquina virtual, vaya a la pestaña Settings, 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.
Al arrancar en modo EFI, VirtualBox primero intentará ejecutar /EFI/BOOT/BOOTX64.EFI
desde la ESP y después el script de la shell de EFI startup.nsh
desde la raíz de la ESP si la primera opción falla. A menos que desee iniciar manualmente su gestor de arranque desde la shell EFI cada vez, tendrá que mover su gestor de arranque a la ruta predeterminada. No se moleste con el gestor de arranque de VirtualBox (accesible con F2
en el arranque): añada entradas EFI al mismo manualmente al arrancar o con efibootmgr, las cuales persistirán después de cada reinicio, sin embargo, se pierden cuando la máquina virtual se apaga.
Instalar complementos para el sistema huésped
Después de completar la instalación del sistema huésped, instale los Guest Additions de VirtualBox que incluyen controladores y aplicaciones que optimizan el sistema operativo invitado.
En los sistemas huéspedes que no son Arch, estos pueden ser instalados de dos formas:
- Ya sea a través del proceso de instalación normal descrito en el manual de VirtualBox (en el sistema anfitrión, haga clic en «Install Guest Additions» en el menú VirtualBox, luego en el sistema huésped, monte el cdrom manualmente en
/mnt
y, después, ejecute/mnt/VBoxLinuxAdditions.run
);
- O bien, mediante un paquete que se puede instalar desde los repositorios oficiales de la distribución.
Cuando el sistema huésped es Arch Linux, el primer método no funciona y da como resultado el error Unable to determine your Linux distribution
. Por lo tanto, utilice el segundo camino e instale virtualbox-guest-utils, que proporciona virtualbox-guest-modules[broken link: replaced by virtualbox-guest-modules-arch] como una dependencia necesaria.
Instalar los módulos del kernel de VirtualBox en el sistema huésped
Sistemas huéspedes que ejecutan un kernel oficial
- Si está utilizando el kernel linux, asegúrese de que el paquete virtualbox-guest-modules[broken link: replaced by virtualbox-guest-modules-arch] ha sido instalado. Este último se ha debido ser instalado con el paquete virtualbox-guest-utils.
- Si está utilizando la versión LTS del kernel (linux-lts), es necesario instalar el paquete virtualbox-guest-modules-lts[broken link: replaced by virtualbox-guest-dkms]. virtualbox-guest-modules[broken link: replaced by virtualbox-guest-modules-arch] puede ser ahora eliminado.
- Si está utilizando el kernel linux-ckAUR, compile el paquete virtualbox-ck-guest-modulesAUR. virtualbox-guest-modules[broken link: replaced by virtualbox-guest-modules-arch] puede ser ahora eliminado en este caso también, si lo desea.
Sistemas huéspedes que ejecutan un kernel personalizado
Como este paso de la instalación es bastante similar a la sección de la instalación de los módulos del kernel de Vitualbox para el anfitrión que se ha descrito anteriormente, por favor consulte esta sección para más información y sustituya todos los paquetes virtualbox-host-modules[broken link: replaced by virtualbox-host-modules-arch], virtualbox-host-dkms y vboxhost-hookAUR[broken link: archived in aur-mirror] para virtualbox-guest-modules[broken link: replaced by virtualbox-guest-modules-arch], virtualbox-guest-dkms y vboxguest-hookAUR[broken link: archived in aur-mirror] respectivamente.
Cargar los módulos del kernel de VirtualBox
Para cargar los módulos manualmente, escriba:
# modprobe -a vboxguest vboxsf vboxvideo
Si al ejecutar modprobe se muestra Module not found
(vea [1], [2] y FS#40495), ejecute la siguiente orden:
# depmod $(uname -r)
Para cargar el módulo de VirtualBox en el arranque, consulte Kernel modules (Español)#Cargar módulos y cree un archivo *.conf
(por ejemplo, virtualbox.conf
) en /etc/modules-load.d/
con estas líneas:
/etc/modules-load.d/virtualbox.conf
vboxguest vboxsf vboxvideo
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 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 --draganddrop --seamless --display --checkhostversion
Otras características que también son proporcionados por los servicios de sistemas huéspedes:
- sincronización en tiempo real entre el anfitrión y el huésped;
- carpetas compartidas con funciones de solo lectura y montaje automático entre el anfitrión y el huésped.
Pero VirtualBox ofrece una característica actualmente indocumentada, un script de Bash VBoxClient-all
que activa todas estas características de forma automática y comprueba si un servidor X11 está realmente funcionando antes de activar algunas de ellas.
# VBoxClient-all
Para iniciar el script de forma automática cuando se inicia el sistema, ejecute la siguiente orden como root:
# systemctl enable vboxservice
Si no desea utilizar este servicio systemd, hay dos soluciones alternativas disponibles:
- si se está usando un Desktop environment (Español), solo necesita marcar una casilla o añadir la ruta del script
/usr/sbin/VBoxClient-all
en la sección autostart en la configuración del entorno de escritorio (en los entornos de escritorios esto se suele establecer en un archivo .desktop en~/.config/autostart
—vea la sección de inicio automático para más detalles—); - si no tiene ningún entorno de escritorio, agregue la línea siguiente en la parte superior de ~/.xinitrc por encima de cualquier opción
exec
:
~/.xinitrc
/usr/bin/VBoxClient-all
¡Enhorabuena! Ahora, debe tener un sistema Arch Linux huésped operativo.
Si quiere compartir carpetas entre el sistema anfitrión y su huésped Arch Linux, siga leyendo.
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 shared_folder_name mount_point_on_guest_system
El sistema de archivos vboxsf ofrece otras opciones que se pueden visualizar con esta orden:
# mount.vboxsf
Por ejemplo, si el usuario no estaba en el grupo vboxsf, podríamos utilizar esta orden para darle acceso a nuestro punto de montaje:
# mount -t vboxsf -o uid=1000,gid=1000 home /mnt/
Donde uid y gid son los valores correspondientes a los usuarios que queremos dar acceso. Estos valores se obtienen de la orden id
ejecutada respecto a dichos usuarios.
Montaje automático
Para que la función de montaje automático funcione, se deben cumplir las siguientes condiciones:
- vboxservice debe estar cargado en el sistema huésped (hecho en un paso anterior);
- debe haber marcado la casilla de montaje automático en la interfaz gráica o usado la opción
--automount
en la ordenVBoxManage sharedfolder
.
La carpeta compartida debe aparecer ahora en /media/sf_shared_folder_name
.
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.
desktop /media/desktop vboxsf uid=user,gid=group,rw,dmode=700,fmode=600,comment=systemd.automount 0 0
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
Importar/exportar máquinas virtuales de VirtualBox a/desde otros hipervisores
Si planea utilizar su máquina virtual en otro hipervisor o quiere importar en VirtualBox una máquina virtual creada con otro hipervisor, quizás podría estar interesado en la lectura de los siguientes pasos.
Eliminar complementos
Los complementos para el sistema huésped están disponibles en la mayoría de las soluciones de los hipervisores: VirtualBox cuenta con Guest Additions, VMware con VMware Tools, Parallels con Parallels Tools, etc. Estos componentes adicionales están diseñados para ser instalados en una máquina virtual después de que el sistema operativo huésped haya sido instalado. Se componen de controladores de dispositivos y aplicaciones del sistema que optimizan el sistema operativo invitado para un mejor rendimiento y usabilidad proporcionando estas características.
Si ha instalado los complementos en su máquina virtual, desinstalelos primero. Su huésped, especialmente si está usando un sistema operativo de la familia Windows, podría comportarse extrañamente, romperse o, incluso, puede que no arranque en absoluto si todavía se están utilizando los controladores específicos de otro hipervisor.
Utilizar el formato de disco virtual adecuado
Este paso dependerá de la capacidad de convertir la imagen de disco virtual directamente o no.
Herramientas de automatización
Algunos proveedores ofrecen herramientas que dan la posibilidad de crear máquinas virtuales desde un sistema operativo Windows o GNU/Linux ya se encuentre en una máquina virtual o, incluso, en una instalación nativa. Con este tipo de producto, no es necesario aplicar este y los siguientes pasos y puede dejar de leer aquí.
- Parallels Transporter no es gratis, es un producto de Parallels Inc. Esta solución consiste, básicamente, en una pieza de software llamada agent que será instalado en el sistema huésped que desee importar/convertir. A continuación, Parallels Transporter, que solo funciona en OS X, creará una máquina virtual conectada a través de agent bien por USB o por conexión de red cableada.
- VMware vCenter Converter es gratuita, previa inscripción en el sitio web de VMware, funciona casi de la misma manera que Parallels Transporter, con la particularidad de que la pieza de software que hará recopilar los datos para crear la máquina virtual solo funciona en una plataforma Windows.
Conversión manual
En primer lugar, familiarícese con los formatos soportados por VirtualBox y los formatos soportados por otros hipervisores.
- La importación o exportación de una máquina virtual a/desde VMware no es un problema en absoluto si utiliza el formato de disco VMDK o OVF, convirtiendo #VMDK a VDI y VDI a VMDK si es posible y tiene disponible la mencionada herramienta VMware vCenter de conversión.
- La importación o exportación de una máquina virtual a/desde QEMU no es ningún problema: algunos formatos de QEMU tienen soporte directamente en VirtualBox y la conversión entre #QCOW2 a VDI y VDI a QCOW2 la tenemos disponible si es necesario.
- La importación o exportación de una máquina virtual a/desde Parallels es el camino más difícil: solo soporta su propio formato HDD (incluso el formato estándar y portable OVF no está soportado).
- Para exportar la máquina virtual Parallels, tendrá que utilizar la herramienta de Parallels Transporter descrita anteriormente.
- Para importar a VirtualBox, tendrá que usar VMware vCenter Converter descrito anteriormente para convertir la máquina virtual al formato VMware primero. Luego, tendrá que aplicar la solución para migrar desde VMware.
Crear la configuración de la maquina virtual para su hipervisor
Cada hipervisor tiene su propio archivo de configuración de máquina virtual: .vbox
para VirtualBox, .vmx
para VMware, un archivo config.pvs
ubicado en el paquete de la máquina virtual (archivo .pvm
), etc. De este modo, tendrá que recrear una nueva máquina virtual en su nuevo hipervisor de destino y especificar su configuración de hardware tan precisa como sea posible, de modo similar a como se hizo en su máquina virtual inicial.
Preste especial atención a la interfaz del firmware (BIOS o UEFI) utilizado para instalar el sistema operativo huésped. Mientras que existe una opción disponible para elegir entre estas 2 interfaces en VirtualBox y Parallels, en VMware, en cambio, tendrá que añadir manualmente la siguiente línea a su archivo .vmx.
ArchLinux_vm.vmx
firmware = "efi"
Por último, indique a su hipervisor el disco virtual a utilizar que ha convertido y lance la máquina virtual.
Gestionar discos virtuales
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.
- 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.
- La versión 2 de HDD: 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.
- QED: El formato Enhanced Disk de QUEMU 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
VMDK a VDI y VDI a VMDK
VirtualBox puede manejar la conversión de VDI a VMDK (y viceversa) por sí mismo con VBoxManage clonehd
.
VMDK a VDI:
$ VBoxManage clonehd source.vmdk destination.vdi --format VDI
VDI a VMDK:
$ VBoxManage clonehd source.vdi destination.vmdk --format VMDK
VHD a VDI y VDI a VDH
VirtualBox puede manejar la conversión de VHD a VDI (y viceversa) con VBoxManage clonehd
también.
VHD a VDI:
$ VBoxManage clonehd source.vhd destination.vdi --format VDI
VDI a VHD:
$ VBoxManage clonehd source.vdi destination.vhd --format VHD
QCOW2 a VDI y VDI a QCOW2
VBoxManage clonehd
no puede manejar la conversión del formato de QEMU; por lo tanto, vamos a confiar en otra herramienta. La orden qemu-img
de qemu se puede utilizar para convertir imágenes de VDI a QCOW2 (y viceversa).
QCOW2 a VDI:
$ qemu-img convert -pO vdi source.qcow2 destination.vdi
VDI a QCOW2:
$ qemu-img convert -pO qcow2 source.vdi destination.qcow2
Como qcow2 viene en dos revisiones (vea #Formatos soportados por VirtualBox, utilice la etiqueta -o compat=
para especificar la revisión.
$ qemu-img convert -pO qcow2 source.vdi destination.qcow2 -o compat=0.10
o
$ qemu-img convert -pO qcow2 source.vdi destination.qcow2 -o compat=1.1
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 con:
# mount -t ext4 -o rw,noatime,noexec,loop,offset=101888 <storage.vdi> /mntpoint/
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 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>
.
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 dcfldd (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
-
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
Aumentar discos virtuales
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 $ 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á.
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
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>
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
Configuración avanzada
Gestionar el lanzamiento de la máquina virtual
Iniciar máquinas virtuales con un servicio
He aquí los detalles de la implementación de un servicio de systemd que se utilizará para considerar una máquina virtual como un servicio.
/etc/systemd/system/vboxvmservice@.service
[Unit] Description=VBox Virtual Machine %i Service Requires=systemd-modules-load.service After=systemd-modules-load.service [Service] User=username Group=vboxusers ExecStart=/usr/bin/VBoxHeadless -s %i ExecStop=/usr/bin/VBoxManage controlvm %i savestate [Install] WantedBy=multi-user.target
Para activar el servicio que pondrá en marcha la máquina virtual en el siguiente inicio, utilice:
# systemctl enable vboxvmservice@your_virtual_machine_name
Para iniciar el servicio que lance directamente la máquina virtual, utilice:
# systemctl start vboxvmservice@your_virtual_machine_name
VirtualBox 4.2 introduce una nueva forma para que sistemas tipo UNIX tengan máquinas virtuales que se inicien automáticamente, distinto al uso de un servicio systemd.
Iniciar máquinas virtuales con un atajo del teclado
Puede ser útil comenzar máquinas virtuales directamente con un atajo de teclado en lugar de utilizar la interfaz de VirtualBox (GUI o CLI). Para ello, solo tiene que definir combinaciones de teclas en .xbindkeysrc
. Remítase a Xbindkeys para más detalles.
He aquí un ejemplo, usando la tecla Fn
del portatil con una tecla no utilizada (F3
utilizada en este ejemplo):
"VBoxManage startvm 'Windows 7'" m:0x0 + c:244 XF86Battery
Utilizar dispositivos específicos en la máquina virtual
Utilizar webcam / micrófono USB
- Asegúrese de que la máquina virtual no está en funcionamiento y no se está utilizando la webcam / micrófono.
- Haga que aparezca la ventana principal de VirtualBox y vaya a la configuración de la máquina de Arch. Navegue hasta la sección USB.
- Asegúrese de que está seleccionado «Enable USB Controller». Asegúrese también de que está seleccionado «Enable USB 2.0 (EHCI) Controller».
- Haga clic en el botón «Add filter from device» (el cable con el icono '+').
- Seleccione el dispositivo de cámara web/micrófono USB de la lista.
- Ahora, haga clic en Aceptar e inicie su máquina virtual.
Detectar cámaras web y otros dispositivos USB
Asegúrese de filtrar todos los dispositivos que no sean un teclado o un ratón para que no se inicien en el arranque y garantizar, de este modo, que Windows detecte el dispositivo en el arranque.
Acceder a un servidor huésped
Para acceder a un servidor Apache en una máquina virtual de un solo equipo anfitrión, basta con ejecutar la siguientes líneas en el equipo anfitrión:
$ VBoxManage setextradata GuestName "VBoxInternal/Devices/pcnet/0/LUN#0/Config/Apache/HostPort" 8888 $ VBoxManage setextradata GuestName "VBoxInternal/Devices/pcnet/0/LUN#0/Config/Apache/GuestPort" 80 $ VBoxManage setextradata GuestName "VBoxInternal/Devices/pcnet/0/LUN#0/Config/Apache/Protocol" TCP
Donde 8888 es el puerto por el que el equipo anfitrión debe escuchar y el 80 es el puerto por el que la máquina virtual enviará la señal al servidor Apache.
Para utilizar un puerto inferior a 1024 en el equipo anfitrión, los cambios tienen que ser reflejados en el cortafuegos de la máquina anfitriona. Esto también puede ser configurado para trabajar con SSH o con cualquier otro servicio cambiando «Apache» para los servicios y puertos correspondientes.
Aceleración D3D en huéspedes Windows
Las versiones recientes de Virtualbox tienen soporte para la aceleración OpenGL dentro de los sistemas huéspedes. Esto se puede activar marcando una simple casilla en la configuración del equipo, justo debajo de donde se establece la memoria RAM de vídeo y la instalación de las aplicaciones del sistema huésped en VirtualBox. Sin embargo, la mayoría de los juegos de Windows utilizan Direct3D (parte de DirectX), no OpenGL, y, por lo tanto, no son ayudados por este método. No obstante, es posible obtener la aceleración Direct3D en los sistemas huéspedes Windows mediante préstamos de las bibliotecas D3D de wine, que traducen d3d a OpenGL, permitiendo la aceleración. Estas bibliotecas son ahora parte del software guest additions de Virtualbox.
Después de activar la aceleración OpenGL como se describió anteriormente, reinicie el sistema huésped en modo seguro (presione F8 antes de que aparezca la pantalla de Windows, pero después de que desaparezca la pantalla de Virtualbox), e instale las guest additions de Virtualbox, durante la instalación active la casilla «Direct3D support». Reinicie en modo normal y ya debería tener aceleración Direct3D.
VirtualBox en una llave USB
Al usar VirtualBox en una llave USB, por ejemplo, para iniciar una máquina instalada una imagen ISO, tendrá que crear de forma manual VDMKs desde las unidades existentes. Sin embargo, una vez que los nuevos VMDK se guardan y se mueve a otra máquina, puede experimentar problemas al iniciar una máquina de forma apropiada de nuevo. Para deshacerse de este problema, puede utilizar el siguiente script para iniciar VirtualBox. Este script va a limpiar y eliminar el registro de archivos VMDK viejos y creará nuevos VMDK adecuados:
#!/bin/bash # Borrar entradas viejas VMDK rm ~/.VirtualBox/*.vmdk # Limpiar registro VBox sed -i '/sd/d' ~/.VirtualBox/VirtualBox.xml # Eliminar discos duros antiguos de las máquinas existentes find ~/.VirtualBox/Machines -name \*.xml | while read file; do line=`grep -e "type\=\"HardDisk\"" -n $file | cut -d ':' -f 1` if [ -n "$line" ]; then sed -i ${line}d $file sed -i ${line}d $file sed -i ${line}d $file fi sed -i "/rg/d" $file done # Eliminar archivos previos creados por VirtualBox find ~/.VirtualBox/Machines -name \*-prev -exec rm '{}' \; # Recrear VMDKs ls -l /dev/disk/by-uuid | cut -d ' ' -f 9,11 | while read ln; do if [ -n "$ln" ]; then uuid=`echo "$ln" | cut -d ' ' -f 1` device=`echo "$ln" | cut -d ' ' -f 2 | cut -d '/' -f 3 | cut -b 1-3` # Determinar si la unidad está ya montada checkstr1=`mount | grep $uuid` checkstr2=`mount | grep $device` checkstr3=`ls ~/.VirtualBox/*.vmdk | grep $device` if [[ -z "$checkstr1" && -z "$checkstr2" && -z "$checkstr3" ]]; then VBoxManage internalcommands createrawvmdk -filename ~/.VirtualBox/$device.vmdk -rawdisk /dev/$device -register fi fi done # Iniciar VirtualBox VirtualBox
Tenga en cuenta que su usuario tiene que ser añadido al grupo «disk» para poder crear VMDK fuera de las unidades existentes.
Ejecutar una instalación nativa de Arch Linux dentro de VirtualBox
Si tiene un sistema de arranque dual entre Arch Linux y otro sistema operativo, puede resultar sumamente tedioso tener que alternar entre uno y otro para trabajar. Por otro lado, mediante el uso de máquinas virtuales, solo se dispone de un pequeño fragmento de energía del equipo, que puede causar problemas cuando se trabaja en proyectos de cierta envergadura.
Esta guía le permitirá utilizar, en una máquina virtual, la instalación nativa de Arch Linux cuando se está ejecutando el segundo sistema operativo. De esta forma, mantendrá la capacidad de ejecutar cada sistema operativo de forma nativa, pero con la opción de ejecutar la instalación de Arch Linux en una máquina virtual.
Asegurarse de que se tiene un esquema de nombres persistentes
Dependiendo de la configuración del disco duro, la representación de los archivos de los dispositivos del disco duro pueden aparecer de forma diferente cuando se ejecuta la instalación de Arch Linux de forma nativa o en la máquina virtual. Este problema se produce cuando se utiliza FakeRAID por ejemplo. El dispositivo FakeRAID vendrá asignado como /dev/mapper/
al ejecutar la distribución GNU/Linux de forma nativa, al tiempo que los demás dispositivos siguen siendo accesibles por separado. Sin embargo, en su máquina virtual, puede aparecer sin ningún mapeo como /dev/sdaX
por ejemplo, porque los controladores que controlan el FakeRAID en su sistema operativo anfitrión (por ejemplo, Windows) se abstraerán del dispositivo FakeRAID.
Para evitar este problema, tendremos que utilizar un esquema de direccionamiento que sea persistente en ambos sistemas. Esto se puede lograr usando UUID en su archivo /etc/fstab
. Asegúrese de que su archivo fstab utiliza UUID para solucionar este problema. Lea fstab y Persistent block device naming.
/etc/fstab
no es el único lugar en el que se utilizan los UUID. Administradores y gestores de arranque hacen uso de ellos también. Por tanto, asegúrese de que estos realmente usan UUID.
Si todavía está utilizando el antiguo GRUB Legacy, lo mejor es que actualice a GRUB2, ya que este paquete está ahora desatendido desde los repositorios oficiales de Arch Linux. Si desea mantenerlo, edite /boot/grub/menu.lst
y sustituya la declaración root=/dev/sdXX
en su entrada de arranque de Arch Linux por el mapeo UUID /dev/disk/by-uuid/
correspondiente a su partición root.
title Arch Linux root kernel /vmlinuz-linux root=/dev/disk/by-uuid/0a3407de-014b-458b-b5c1-848e92a327a3 ro vga=773 initrd /initramfs-linux-vbox.img
Repita el proceso para la entrada fallback.
Si está ejecutando la versión más reciente de GRUB no tiene nada que hacer. Sin embargo, es una razón más para actualizar a GRUB2.
Asegurarse de que su imagen mkinitcpio es correcta
Asegúrese de que la configuración de su mkinitcpio utiliza el HOOK block
:
/etc/mkinitcpio.conf
[...] HOOKS="base udev autodetect modconf block filesystems keyboard fsck" [...]
Si no está presente, añádalo y regenere su initramfs con la orden # mkinitcpio -p linux
, cuyo uso se describe aquí con detalle.
Crear una configuración de máquina virtual para arrancar desde la unidad física
Crear una imagen .vmdk de disco raw
Ahora, tenemos que crear una nueva máquina virtual que utilizará un disco RAW como unidad virtual, para lo cual vamos a utilizar un archivoVMDK de ~ 1Kio que será asignado a un disco físico. Desafortunadamente, VirtualBox no tiene esta opción en la interfaz gráfica de usuario, por lo que tendrá que utilizar la consola y utilizar una orden interna de VBoxManage
.
Arranque el sistema anfitrión que utilizará la máquina virtual de Arch Linux. La orden tendrá que ser adaptada al sistema anfitrión que tenga.
- En un sistema anfitrión GNU/Linux
Hay 3 maneras de lograr esto: iniciando sesión como root, cambiando los derechos de acceso al dispositivo con chmod
o añadiendo su usuario al grupo disk
. Esta última forma es la más elegante, así que vamos a proceder de esa manera:
# gpasswd -a your_user disk
Aplicar la nueva configuración de grupo con:
$ newgrp
Ahora, puede utilizar la orden:
$ VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sdb -register
Adaptar la orden anterior a sus características, especialmente la ruta, el nombre de la ubicación VMDK y la ubicación del disco raw para el mapeo que contiene la instalación de Arch Linux.
- En un sistema anfitrión Windows
# wmic diskdrive get name,size,model
Model Name Size WDC WD40EZRX-00SPEB0 ATA Device \\.\PHYSICALDRIVE1 4000783933440 KINGSTON SVP100S296G ATA Device \\.\PHYSICALDRIVE0 96024821760 Hitachi HDT721010SLA360 ATA Device \\.\PHYSICALDRIVE2 1000202273280 Innostor Ext. HDD USB Device \\.\PHYSICALDRIVE3 1000202273280
En este ejemplo, como la convención de Windows es \\.\PhysicalDriveX
donde X es un número, \\.\PHYSICALDRIVE1
podría ser análogo a /dev/sdb
en la terminología de los discos en Linux.
Para usar la orden VBoxManage
en Windows, puede, o bien moverse del directorio actual a la carpeta de instalación de VirtualBox primero con cd C:\Program Files\Oracle\VirtualBox\
# .\VBoxManage.exe internalcommands createrawvmdk -filename C:\file.vmdk -rawdisk \\.\PHYSICALDRIVE1
o bien, usar la ruta absoluta:
# «C:\Program Files\Oracle\VirtualBox\VBoxManage.exe» internalcommands createrawvmdk -filename C:\file.vmdk -rawdisk \\.\PHYSICALDRIVE1
- En un sistema anfitrión de otro sistema operativo
Hay otras limitaciones en cuanto a la orden antes mencionada cuando se utiliza en otros sistemas operativos como OS X, por favor lea atentamente la página del manual, si le concierne.
Crear el archivo de configuración de la máquina virtual
Después, tenemos que crear una nueva máquina (sustituir el VM_NAME a su conveniencia) y registrarla en VirtualBox.
$ VBoxManage createvm -name VM_name -register
A continuación, el disco recién creado necesita ser asociado a la máquina. Esto dependerá si el equipo o raiz vigente de la instalación nativa de Arch Linux tiene una controladora IDE o SATA.
Si necesita una controladora IDE:
$ VBoxManage storagectl VM_name --name "IDE Controller" --add ide $ VBoxManage storageattach machineA --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /path/to/file.vmdk
de otro modo:
$ VBoxManage storagectl VM_name --name "SATA Controller" --add sata $ VBoxManage storageattach machineA --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium /path/to/file.vmdk
Aunque utilice la CLI, es recomendable utilizar la interfaz gráfica de VirtualBox para personalizar la configuración de la máquina virtual. De hecho, debe especificar su configuración de hardware tan precisa como le sea posible, como si lo hiciese en una máquina nativa: conectar la aceleración 3D, aumentar la memoria de vídeo, ajustar la interfaz de red, etc.
Instalar Guest Additions
Por último, es posible que desee una integración perfecta entre su sistema Arch Linux y su sistema operativo anfitrión, permitiendo la función de pegar y copiar entre ambos sistemas operativos. Por favor, consulte #Instalar complementos para el sistema huésped ya que, no debemos olvidar que esta máquina virtual de Arch Linux no deja de ser un sistema huésped cuando se ejecuta sobre el otro sistema operativo.
Instalar un sistema nativo de Arch Linux desde VirtualBox
En algunos casos, puede ser útil instalar un sistema nativo de Linux Arch mientras se ejecuta otro sistema operativo: una forma de lograr esto es realizar la instalación a través de VirtualBox en un disco raw. Si el sistema operativo existente está basado en Linux, es posible que desee considerar el siguiente artículo Install from existing Linux en su lugar.
Este escenario es muy similar a la #Ejecutar una instalación nativa de Arch Linux dentro de VirtualBox, pero seguirá los pasos en un orden diferente: empiece por #Crear una imagen .vmdk de disco raw, y luego #Crear el archivo de configuración de la máquina virtual.
Ahora, debe tener una configuración de máquina virtual funcional cuyos discos virtuales VMDK están ligados a un disco real. El proceso de instalación es exactamente lo mismo que el descrito en #Pasos para preparar Arch Linux como sistema anfitrión, pero asegurándose de que tiene un esquema de nombres persistentes y que su imagen mkinitcpio es correcta.
Después de completar la instalación, arranque el ordenador con un soporte de instalación de GNU/Linux (ya se trate de Arch Linux o no), entre en entorno chroot[broken link: invalid section] en su recién instalado Arch Linux e #instale y configure un gestor de arranque.
Mover una instalación nativa de Windows a una máquina virtual
Si desea migrar una instalación de Windows nativa existente a una máquina virtual que se utilizará con VirtualBox en GNU/Linux, siga leyendo. Esta sección solo trata la instalación nativa de Windows utilizando el esquema de particiones MS-DOS/Intel. Su instalación de Windows debe residir en la primera partición del MBR para que esta operación tenga éxito. La operación también es posible en otras particiones, pero no ha sido probada (vea #Known limitations[broken link: invalid section] para conocer detalles).
Se requiere un par de tareas a realizar en el interior de la instalación original de Windows primero, y luego en su sistema GNU/Linux anfitrión.
Tareas en Windows
Los primeros tres siguientes puntos vienen de esta página desactualizada de la wiki de VirtualBox, pero se actualizan aquí.
- Elimine los chequeos de las controladoras de IDE/ATA (solo en Windows XP): Windows memoriza las controladoras de disco IDE/ATA cuando se ha instalado y no arrancará si detecta que estos han cambiado. La solución propuesta por Microsoft es volver a utilizar la misma controladora o utilizar una de la misma serie, lo cual es imposible de lograr ya que estamos utilizando una máquina virtual. Se puede utilizar MergeIDE, una herramienta alemana, desarrollada sobre la base de una solución propuesta por Microsoft. Esta solución consiste básicamente en tomar todos los controladores de la controladora ATA/IDE compatibles con Windows XP desde el archivo del controlador inicial (la ubicación está codificada, o especificada como el primer argumento del script
.bat
), instalándolos y registrándolos con la base de datos regedit.
- Utilice el tipo Hardware Abstraction Layer (versiones de Windows de 32 bits viejas): Microsoft incluye 3 versiones por defecto:
Hal.dll
(Standard PC),Halacpi.dll
(ACPI HAL) yHalaacpi.dll
(ACPI HAL con IO APIC). Su instalación de Windows podría venir instalado con la primera o la segunda versión. Si es así desactive la característica extendida Enable IO/APIC de VirtualBox.
- Desactive cualquier controlador del dispositivo AGP (solo versiones obsoletas de Windows): si tiene los archivos
agp440.sys
ointelppm.sys
dentro de la carpetaC:\Windows\SYSTEM32\drivers\
retírelos. Como VirtualBox utiliza una tarjeta gráfica PCI virtual, esto puede causar problemas cuando se utiliza este controlador AGP.
- Crear un disco de recuperación de Windows: en los siguientes pasos, si la operación sale mal, tendrá que reparar la instalación de Windows. Asegúrese de tener un soporte de instalación a mano, o cree uno con la utilidad Crear un disco de recuperación de Windows.
Tareas en GNU/Linux
- Reduzca el tamaño de la partición donde tenga instalado Windows nativo al tamaño que Windows necesita realmente con
ntfsresize
, disponible en el paquete ntfs-3g. El tamaño que especifique será el mismo tamaño de la VDI que se creará en el siguiente paso. Si este tamaño es demasiado bajo, es posible romper su instalación de Windows y este último podría provocar que no arranque en absoluto.
- Utilice la opción
--no-action
primero para realizar una prueba: # ntfsresize --no-action --size 52Gi /dev/sda1
- Si la prueba anterior tuvo éxito, ejecute la orden de nuevo, pero esta vez sin la opción antes mencionada.
- Instale VirtualBox en su sistema anfitrión GNU/Linux (vea #Pasos para preparar Arch Linux como sistema anfitrión si su sistema anfitrión es Arch Linux).
- Cree la imagen de disco de Windows desde el principio de la unidad hasta el final de la primera partición donde se encuentra la instalación de Windows. Es necesario copiar desde el principio del disco porque el espacio del MBR del principio de la unidad tiene que estar en la unidad virtual junto con la partición de Windows. En este ejemplo las dos siguientes particiones
sda2
ysda3
serán eliminadas de la tabla de particiones y el gestor de arranque MBR será actualizado.
# sectnum=$(( $(cat /sys/block/''sda/sda1''/start) + $(cat /sys/block/''sda/sda1''/size) ))
- El uso de
cat /sys/block/sda/sda1/size
mostrará el número de sectores totales de la primera partición del discosda
. Adaptar cuando sea necesario.
# dd if=''/dev/sda'' bs=512 count=$sectnum | VBoxManage convertfromraw stdin ''windows.vdi'' $(( $sectnum * 512 ))
- Tenemos que obtener el tamaño en bytes,
$(( $sectnum * 512 ))
convertirá los números de sector a bytes.
- Cree el archivo de configuración de la máquina virtual y utilice el disco virtual creado anteriormente como disco duro virtual principal.
# chown $USER:users windows.vdi
.
- Trate de arrancar su maquina virtual de Windows, Debería funcionar sin más. Primero, sin embargo, retire y repare los discos desde el proceso de arranque, ya que pueden interferir (y probablemente lo hagan) arrancar en modo seguro.
- Intente arrancar su máquina virtual Windows en modo seguro (pulse la tecla F8 antes de que el logotipo de Windows aparezca)... si se dan problemas de arranque, lea #Arreglar el MBR y el gestor de arranque de Microsoft. En modo seguro, los controladores se instalarán probablemente por el mecanismo de detección plug-and-play de Windows (vistas). Adicionalmente, instale los Guest Additions de VirtualBox a través del menú Devices > Insert Guest Additions CD image.... Si no aparece un nuevo diálogo para el disco, vaya a la unidad del CD e inicie el instalador manualmente.
- Finalmente, debe tener una máquina virtual de Windows funcional. No se olvide de leer las #Limitaciones conocidas.
Arreglar el MBR y el gestor de arranque de Microsoft
Si su máquina virtual Windows se niega a arrancar, puede que tenga que aplicar las siguientes modificaciones a su máquina virtual.
- Arranque una distribución GNU/Linux en su máquina virtual antes de que Windows se inicie.
- Retire las otras entradas de las particiones del MBR del disco virtual. De hecho, ya hemos copiado el MBR y dejado únicamente la partición de Windows, las entradas de las otras particiones están todavía presentes en el MBR, pero las particiones ya no están disponibles. Use
fdisk
para lograr esto, por ejemplo.
fdisk ''/dev/sda'' Command (m for help): a Partition number (''1-3'', default ''3''): ''1''
- Escriba la tabla de partición actualizada en el disco (esto volverá a crear el MBR) utilizando la orden
m
confdisk
.
# testdisk > Disk /dev/sda...' > [Proceed] > [Intel] Intel/PC partition > [MBR Code] Write TestDisk MBR to first sector > Write a new copy of MBR code to first sector? (Y/n) > Y > Write a new copy of MBR code, confirm? (Y/N) > A new copy of MBR code has been written. You have to reboot for the change to take effect. > [OK]
- Con el nuevo MBR y la tabla de particiones actualizada, su máquina virtual Windows debería ser capaz de arrancar. Si todavía encuentra problemas, arranque su disco de recuperación de Windows aconsejado realizar en la etapa anterior y, dentro de su entorno de Windows de recuperación, ejecute las órdenes descritas aquí.
Limitaciones conocidas
- Su máquina virtual, a veces, puede colgarse y desbordar la memoria RAM, lo cual puede ser causado por controladores en conflicto todavía instalados en su máquina virtual Windows. ¡Buena suerte en encontrarlos!
- El software adicional que espera un controlador dado puede, o bien estar el controlador desactivado/desinstalado, o bien el software necesita ser desinstalado primero respecto de los controladores que ya no están disponibles.
- Su instalación de Windows debe residir en la primera partición para que el proceso anterior pueda funcionar. Si no se cumple este requisito, el proceso podría lograrse también, pero esto no ha sido probado. Para ello será necesario copiar el MBR y editarlo en formato hexadecimal (vea VirtualBox: arrancar disco clonado) lo cual requerirá arreglar la tabla de particiones, bien manualmente, o bien mediante la reparación de Windows con el disco de recuperación que creó en el paso anterior. Consideremos que nuestra instalación de Windows está en la segunda partición; vamos a copiar el MBR y, a continuación, la segunda partición en la que reside la imagen del disco.
VBoxManage convertfromraw
necesita saber el número total de bytes que se escribirán: calculados gracias al tamaño del MBR (el comienzo de la primera partición) más el tamaño de la segunda partición (Windows).{ dd if=/dev/sda bs=512 count=$(cat /sys/block/sda/sda1/start) ; dd if=/dev/sda2 bs=512 count=$(cat /sys/block/sda/sda2/size) ; } | VBoxManage convertfromraw stdin windows.vdi $(( ($(cat /sys/block/sda/sda1/start) + $(cat /sys/block/sda/sda2/size)) * 512 ))
.
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 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 complementos para el sistema huésped si su sistema huésped es Arch Linux, en otro caso, lea la ayuda oficial de 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.
Arreglar problemas de imágenes ISO
Mientras que VirtualBox puede montar imágenes ISO sin problema, hay algunos formatos de imagen que no se pueden convertir a ISO de forma fiable. Por ejemplo, ccd2iso ignora archivos .ccd y .sub, lo que puede dar como resultado imágenes de disco con archivos dañados.
En estos casos, tendrá que usar CDemu para Linux dentro de VirtualBox o cualquier otra herramienta que se utiliza para montar imágenes de disco.
La interfaz gráfica de VirtualBox no coincide con mi 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.
OpenBSD inutilizable cuando las instrucciones de virtualización no están disponibles
Mientras que es sabido que OpenBSD puede funcionar bien en otros hipervisores sin las instrucciones (VT-x AMD-V) de virtualización activadas, una máquina virtual OpenBSD que se ejecuta en VirtualBox sin estas instrucciones no se podrá utilizar, dando lugar a fallos de segmentación. Iniciando VirtualBox con el argumento -norawr0 se puede resolver este problema. Puede hacerlo de esta manera:
$ VBoxSDL -norawr0 -vm name_of_OpenBSD_VM
VBOX_E_INVALID_OBJECT_STATE (0x80BB0007)
Esto puede ocurrir si una máquina virtual se apaga mal. La solución para desbloquear la máquina virtual es trivial:
$ VBoxManage controlvm virtual_machine_name poweroff
Subsistema USB no funciona en el sistema anfitrión o huésped
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.
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
.
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.
WinXP: Bit-depth no puede ser mayor que 16
Si está ejecutando una profundidad de color de 16 bits, entonces los iconos pueden aparecer borrosos/entrecortados. Sin embargo, al intentar cambiar la profundidad de color a un nivel más alto, el sistema puede estar restringido a una resolución inferior o simplemente no le permita cambiar la profundidad en absoluto. Para solucionar este problema, ejecute regedit
en Windows y agregue la siguiente clave del registro para la máquina virtual Windows:
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services] "ColorDepth"=dword:00000004
A continuación, actualice la profundidad de color en la ventana «desktop properties». Si no ocurre nada, fuerce la pantalla a redibujarse a través de algún método (es decir, Host+f
para redibujar/introducir la pantalla completa).
Utilizar puerto de serie en el sistema operativo huésped
Compruebe su permiso para el puerto de serie:
$ /bin/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
Añade su usuario al grupo uucp
.
# gpasswd -a $USER uucp
y, cierre y abra sesión de nuevo.
Windows 8.x Error Code 0x000000C4
Si recibe este código de error durante el arranque, incluso si elige sistema operativo Tipo Win 8, pruebe a activar la instrucción CMPXCHG16B
de la CPU:
$ vboxmanage setextradata virtual_machine_name VBoxInternal/CPUM/CMPXCHG16B 1
Fallos de la máquina vitual de Windows 8 al arrancar con el error «ERR_DISK_FULL»
Situación: su máquina virtual Windows 8 se niega a iniciar. VirtualBox lanza un error que indica que el disco virtual está lleno. Sin embargo, está seguro de que el disco no está lleno. Abra la configuración de su máquina virtual en Settings > Storage > Controller:SATA y seleccione «Use Host I/O Cache».
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 Virtual Box, 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 huésped se congela después de iniciar Xorg
Controladores defectuosos o ausentes pueden causar que el sistema huésped se congele después de comenzar Xorg, vea, por ejemplo, [3] y [4]. Pruebe a desactivar la aceleración 3D en Settings > Display, y comprobar si se han instalado todos los controladores Xorg.
«NS_ERROR_FAILURE» y ausencia de elementos del menú
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> ...
Esto ocurre, a veces, cuando se selecciona el formato de disco QCOW/QCOW2/QED al crear un disco virtual nuevo.
Error en Windows huésped «The specified path does not exist. Check the path and then try again.»
Este mensaje de error aparece a menudo cuando se ejecuta un archivo .exe que requiere privilegios de administrador de una carpeta compartida en un sistema huésped Windows. Vea este informe de error para más detalles.
Hay varias soluciones:
- Desactive UAC en el Panel de Control -> Action Center -> «Change User Account Control settings» del panel lateral izquierdo -> ajustar slider a «Never notify» -> OK y reiniciar.
- Copie el archivo de la carpeta compartida para el sistema huésped y ejecute desde allí
- Control Panel -> Network and Internet -> Internet Options -> Security -> Trusted Sites -> Sites -> Añada «VBOXSVR» como un sitio web
- Menú/Inicio -> escriba «gpedit.msc» y pulse Intro -> Computer Configuration -> Administrative Templates -> Windows Components -> Internet Explorer -> Internet Control Panel -> Security Page -> Size to Zone Assignment List -> Ajuste «VBOXSVR» a «2» y reinicie.