Difference between revisions of "VirtualBox (Español)"

From ArchWiki
Jump to navigation Jump to search
(Traducción inexacta)
(traducción actualizada)
Line 12: Line 12:
 
[[ru:VirtualBox]]
 
[[ru:VirtualBox]]
 
[[zh-hans:VirtualBox]]
 
[[zh-hans:VirtualBox]]
 +
{{TranslationStatus (Español)|VirtualBox|018-11-09|550472}}
 
{{Related articles start (Español)}}
 
{{Related articles start (Español)}}
 +
{{Related|VirtualBox/Tips and tricks (Español)}}
 
{{Related|:Category:Hypervisors (Español)}}
 
{{Related|:Category:Hypervisors (Español)}}
 
{{Related|PhpVirtualBox}}
 
{{Related|PhpVirtualBox}}
 +
{{Related|RemoteBox}}
 
{{Related|Moving an existing install into (or out of) a virtual machine}}
 
{{Related|Moving an existing install into (or out of) a virtual machine}}
 
{{Related articles end}}
 
{{Related articles end}}
{{Bad translation (Español)|Traducción inexacta en comparación con la versión en inglés}}
 
  
 
[https://www.virtualbox.org VirtualBox] es un [[Wikipedia:es:Hypervisor|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 [[Wikipedia: Simple DirectMedia Layer|SDL]] y ''headless'' para la gestión y ejecución de máquinas virtuales.
 
[https://www.virtualbox.org VirtualBox] es un [[Wikipedia:es:Hypervisor|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 [[Wikipedia: Simple DirectMedia Layer|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.
+
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 ==
 
== Pasos para preparar Arch Linux como sistema anfitrión ==
Line 29: Line 31:
 
=== Instalar los paquetes principales ===
 
=== Instalar los paquetes principales ===
  
El primer paso es instalar el paquete {{Pkg|virtualbox}} disponible en los [[official repositories (Español)|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 {{Pkg|virtualbox}} viene con {{Pkg|virtualbox-host-dkms}} como una dependencia necesaria.
+
[[Install|Instale]] el paquete {{Pkg|virtualbox}}. Deberá elegir un paquete para proporcionar módulos al sistema anfitrión:
 +
* para el kernel {{Pkg|linux}} elija {{Pkg|virtualbox-host-modules-arch}}
 +
* para otros [[kernels]] elija {{Pkg|virtualbox-host-dkms}}
 +
** También es necesario instalar los paquetes de encabezados adecuados para su kernel(s) instalado(s): {{Pkg|linux-headers}} o {{Pkg|linux-lts-headers}}. [https://lists.archlinux.org/pipermail/arch-dev-public/2016-March/027808.html] 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.
  
Puede instalar la dependencia opcional {{Pkg|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. [[#Utilizar el front-end adecuado|Ver abajo para conocer las diferencias]].
+
=== Firmar los módulos ===
  
=== Instalar los módulos del kernel de VirtualBox ===
+
Cuando use un kernel personalizado con la opción {{ic|CONFIG_MODULE_SIG_FORCE}} activada, debe firmar sus módulos con una clave generada durante la compilación del kernel.
  
A continuación, para virtualizar totalmente la instalación del sistema huésped, VirtualBox ofrece los siguientes [[kernel modules (Español)|módulos del kernel]]: {{ic|vboxdrv}}, {{ic|vboxnetadp}}, {{ic|vboxnetflt}}, y {{ic|vboxpci}}. Estos módulos deben ser añadidos al kernel del sistema anfitrión.
+
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
  
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.
+
{{Nota|el algoritmo de hash no tiene que coincidir con el configurado, pero debe estar integrado en el kernel.}}
  
Por lo tanto, hay que distinguir si se está usando un kernel de los [[official repositories (Español)|repositorios oficiales]] o uno personalizado (autocompilado o instalado desde [[AUR (Español)|AUR]]), ya que el paquete de los módulos del kernel a instalar puede variar de uno a otro.
+
=== Cargar los módulos del kernel de VirtualBox ===
  
==== Sistema anfitrión corriendo sobre un kernel oficial ====
+
{{Pkg|virtualbox-host-modules-arch}} y {{Pkg|virtualbox-host-dkms}} usa {{ic|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.
  
* Si está utilizando el kernel de {{Pkg|linux}}, asegúrese de que el paquete {{Pkg|virtualbox-host-dkms}} está instalado. Este último se ha debido instalar con el paquete {{Pkg|virtualbox}}.
+
{{Nota|si no desea que los módulos de VirtualBox se carguen automáticamente en el momento del arranque, debe [[mask|enmascarar]] el archivo predeterminado {{ic|/usr/lib/modules-load.d/virtualbox-host-modules-arch.conf}} (o {{ic|/usr/lib/modules-load.d/virtualbox-host-dkms.conf}})creando un archivo vacío (o enlace simbólico a {{ic|/dev/null}}) con el mismo nombre en {{ic|/etc/modules-load.d/}}.}}
* Si está utilizando la versión LTS del kernel ({{pkg|linux-lts}}), es necesario instalar el paquete {{Pkg|virtualbox-host-dkms}}. El paquete {{Pkg|virtualbox-host-dkms}} ya no será necesario y puede ser eliminado, si quiere.
 
* Si está utilizando el kernel {{aur|linux-ck}}, construya el paquete {{aur|virtualbox-ck-host-modules}}.
 
  
==== Sistema anfitrión corriendo sobre un kernel personalizado ====
+
Entre los [[kernel modules (Español)|módulos del kernel]] de VirtualBo que puede utilizar, hay uno obligatorio llamado {{ic|vboxdrv}}, que se debe cargar antes de que se pueda ejecutar cualquier máquina virtual.
  
{{Merge|Dynamic Kernel Module Support|The general tips on DKMS usage do not belong on this page.}}
+
Para cargar el módulo manualmente, ejecute:
  
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.
+
# modprobe vboxdrv
  
El paquete {{ic|virtualbox-host-modules}} funciona bien con kernels personalizados de la misma versión que el kernel de Arch Linux como {{AUR|linux-ck}}. Dado que {{ic|virtualbox-host-modules}} viene con el kernel oficial de Arch Linux ({{Pkg|linux}}) como una dependencia, si no usa ese kernel, instale {{Pkg|virtualbox-host-dkms}} en su lugar.
+
Los siguientes módulos son opcionales, pero se recomiendan si no quiere que le den problebms con algunas configuraciones avanzadas (que son los que siguen):  {{ic|vboxnetadp}}, {{ic|vboxnetflt}} y {{ic|vboxpci}}.
  
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 {{Pkg|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.
+
* {{ic|vboxnetadp}} y {{ic|vboxnetflt}} son necesarios cuando intenta usar la característica de [https://www.virtualbox.org/manual/ch06.html#network_bridged bridged] o [https://www.virtualbox.org/manual/ch06.html#network_hostonly conexión de red solo para el sistema anfitrión]. Más precisamente, se necesita {{ic|vboxnetadp}} para crear la interfaz del sistema anfitrión en las preferencias globales de VirtualBox, y {{ic|vboxnetflt}} para iniciar una máquina virtual usando esa interfaz de red.
  
En la medida en que el paquete {{Pkg|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 {{ic|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}}
+
* {{ic|vboxpci}} es necesario cuando su máquina virtual necesita pasar a través de un dispositivo PCI del sistema anfitrión.
* Si utiliza un kernel autocompilado y ha utilizado {{ic|make modules_install}} para instalar los módulos, las carpetas {{ic|/usr/lib/modules/''your custom kernel version''/build}} y {{ic|(...)/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 {{Pkg|linux-headers}} está instalado.
 
  
Una vez que {{Pkg|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:
+
{{Nota|si los módulos del kernel de VirtualBox se cargaron en el kernel mientras actualizaba los módulos, debe volver a cargarlos manualmente para usar la nueva versión actualizada. Para hacerlo, ejecute {{ic|vboxreload}} como root.}}
  # dkms install vboxhost/''virtualbox-host-source version'' -k ''your custom kernel version''/''your architecture''
 
  
{{Sugerencia|Utilice esta orden única en su lugar, si no necesita personalizar la orden anterior:
+
=== Acceder al dispositivos USB del anfitrión desde el huésped ===
{{bc|<nowiki># dkms install vboxhost/$(pacman -Q virtualbox|awk '{print $2}'|sed 's/\-.\+//') -k $(uname -rm|sed 's/\ /\//')</nowiki>}}
 
}}
 
  
Para volver a compilar automáticamente los módulos del kernel de VirtualBox cuando sus fuentes se actualicen (es decir, cuando el paquete {{Pkg|virtualbox-host-dkms}} se actualiza) y evitar tener que escribir de nuevo la orden anterior {{ic|dkms install}} manualmente, active el servicio {{ic|dkms}} con:
+
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 {{ic|vboxusers}} del [[user group|grupo de usuarios]].
# systemctl enable dkms.service
 
  
Si este servicio no está activado mientras el paquete {{Pkg|virtualbox-host-dkms}} está siendo actualizado, no se actualizarán los módulos de VirtualBox y tendrá que escribir manualmente la orden {{ic|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 {{ic|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.
+
=== Disco de «Guest Additions» ===
  
Sin embargo, si desea mantener este demonio desactivado, puede utilizar un [[mkinitcpio (Español)|hook de initramfs]] que activará automáticamente la orden {{ic|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 {{AUR|vboxhost-hook}}{{Broken package link (Español)|{{aur-mirror|vboxhost-hook}}}} disponible en [[Arch User Repository (Español)|AUR]] y añada {{ic|vboxhost}} a la matriz HOOKS en {{ic|/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á.
+
También se recomienda instalar el paquete {{Pkg|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 {{ic|/usr/lib/virtualbox/additions/VBoxGuestAdditions.iso}}, y puede que tenga que ser montado manualmente dentro de la máquina virtual. Una vez montadao puede ejecutar el instalador de complementos adicionales dentro del huésped.
  
{{Sugerencia|Al igual que la orden {{ic|dkms}}, el hook {{ic|vboxhost}}  le dirá si algo sale mal durante la reconstrucción de los módulos de VirtualBox.}}
+
=== Paquete de extensiones ===
  
=== Cargar los módulos del kernel de VirtualBox ===
+
El paquete ''Oracle Extension'' proporciona [https://www.virtualbox.org/manual/ch01.html#intro-installing additional features] características adicionales] y se lanza bajo una licencia no gratuita '''solo disponible para uso personal''' . Para instalarlo, está disponible el paquete {{aur|virtualbox-ext-oracle}}, y se puede encontrar una versión precompilada en el repositorio [[Unofficial user repositories#seblu|seblu]].
  
Entre los [[kernel modules (Español)|módulos del kernel]] que utiliza VirtualBox, hay uno necesario llamado {{ic |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.
+
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 {{ic|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 [https://www.virtualbox.org/ticket/8473 requiere acceso de root].
  
Para cargar el módulo manualmente:
+
=== Utilizar el front-end adecuado ===
# 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 {{ic|*.conf}} (por ejemplo, {{ic|virtualbox.conf}}) en {{ic|/etc/modules-load.d/}} con la línea:
+
VirtualBox viene con tres [[wikipedia:es:Front-end y back-end|front-ends]]:
{{hc|/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): {{ic|vboxnetadp}}, {{ic|vboxnetflt}} y {{ic|vboxpci}}.
+
* Si desea usar VirtualBox con la interfaz gráfica normal, use {{ic|VirtualBox}}.
 +
* Si desea iniciar y administrar sus máquinas virtuales desde la línea de órdenes, use la orden {{ic|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 {{ic|VBoxHeadless}}. Con la extensión VRDP, aún puede acceder de forma remota a las pantallas de sus máquinas virtuales.
  
* {{ic|vboxnetadp}} y {{ic|vboxnetflt}} son necesarios cuando se va a utilizar la característica [https://www.virtualbox.org/manual/ch06.html#network_hostonly «Host-only networking»]. Más concretamente, {{ic|vboxnetadp}} es necesario para crear la interfaz del sistema anfitrión en las preferencias globales de VirtualBox y {{ic|vboxnetflt}} se necesita para poner en marcha una máquina virtual usando la interfaz de red.
+
Por último, puede utilizar [[PhpVirtualBox]] para administrar sus máquinas virtuales a través de una interfaz web.
  
* {{ic|vboxpci}} es necesario cuando su máquina virtual tiene que pasar a través de un dispositivo PCI en su sistema anfitrión.
+
Remítase al [https://www.virtualbox.org/manual manual de VirtualBox] para aprender cómo crear máquinas virtuales.
  
{{Nota|Si los módulos del kernel de VirtualBox fueron cargados en el kernel durante la actualización de los módulos, necesita recargarlos manualmente para utilizar la nueva versión actualizada. Para hacerlo, ejecute como root {{ic|vboxreload}}.}}
+
{{Advertencia|si va a guardar imágenes de discos virtuales en un sistema de archivos [[Btrfs]], antes de crear cualquier imagen, debería considerar desactivar [[Btrfs#Copy-on-Write (CoW)|Copy-on-Write]] para el directorio de destino de estas imágenes.}}
  
Por último, si se utiliza la característica «Host-only networking», asegúrese de que el paquete {{pkg|net-tools}} está instalado. VirtualBox utiliza realmente {{ic|ifconfig}} y {{ic|route}} para asignar la IP y la ruta a la interfaz del sitema anfitrión configurados con {{ic|VBoxManage hostonlyif}} o mediante la interfaz grática del usuario en  ''Settings > Network > Host-only Networks > Edit host-only network (space) > Adapter''.
+
== Pasos para instalar Arch Linux como sistema huésped ==
  
=== Añadir nombres de usuario al grupo vboxusers ===
+
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)]].
  
Para utilizar los puertos USB de la máquina anfitriona en sus máquinas virtuales, cree el [[Users and groups (Español)|grupo]] {{ic|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 {{ic|newgrp}} o con {{ic|sudo -u $USER -s}}. Para agregar el usuario vigente al grupo {{ic|vboxusers}}, escriba:
+
==== Instalación en modo EFI ====
# gpasswd -a $USER vboxusers
 
  
=== Discos con complementos para el sistema huésped (''guest additions'') ===
+
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.
  
También se recomienda instalar el paquete {{Pkg|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 {{ic|/usr/lib/virtualbox/additions/VBoxGuestAdditions.iso}}.
+
Una vez que el sistema y el cargador de arranque estén instalados, VirtualBox intentará ejecutar primero {{ic|/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 {{ic|startup.nsh}} desde la raíz de la ESP. Esto significa que para iniciar el sistema tiene las siguientes opciones:
  
=== Paquete de extensiones ===
+
* [[Unified Extensible Firmware Interface (Español)#Lanzar el intérprete de órdenes UEFI|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 {{ic|/EFI/BOOT/BOOTX64.EFI}};
 +
* Crea un script que se llame {{ic|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 {{ic|\EFI\grub\grubx64.efi}}.
 +
* Arranque directamente desde la partición ESP usando un [[EFISTUB#Using a startup.nsh script|script startup.nsh]].
  
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 [https://www.virtualbox.org/manual/ch01.html#intro-installing características adicionales]. Para evitar que tenga que manipularlo manualmente, el paquete {{aur|virtualbox-ext-oracle}} está disponible en [[AUR (Español)|AUR]] y una versión precompilada se puede encontrar en el repositorio [[Unofficial user repositories#seblu|seblu]].
+
No se moleste con el «''VirtualBox Boot Manager''» (accesible con {{ic|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 {{ic|F12}} en el momento del inicio) o con {{Pkg|efibootmgr}} persistirán después de un reinicio [https://www.virtualbox.org/ticket/11177 pero se pierden cuando la máquina virtual se apaga].
  
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 {{ic|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 [https://www.virtualbox.org/ticket/8473 requiere acceder como root].
+
Véase también [https://bbs.archlinux.org/viewtopic.php?id=158003 Problemas de arranque de la instalación de UEFI VirtualBox].
  
=== Utilizar el front-end adecuado ===
+
=== Instalar los «Guest Additions» ===
  
¡Enhorabuena! Ahora, está listo para utilizar VirtualBox.  
+
Los [https://www.virtualbox.org/manual/ch04.html 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:
  
Hay varios front-ends disponibles, de los cuales, dos por defecto:
+
* {{Pkg|virtualbox-guest-utils}} para las utilidades de VirtualBox Guest con soporte para X;
* 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 {{ic|VBoxSDL}}. VBoxSDL solo proporciona una ventana simple que contiene únicamente la máquina virtual ''pura'', sin menús ni controles.
+
* {{Pkg|virtualbox-guest-utils-nox}} para las utilidades de VirtualBox Guest sin soporte de X.
* 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 {{ic | VBoxHeadless}} que no produce ninguna salida visible en el equipo anfitrión, enviando solo los datos VRDP.
 
  
Si ha instalado el paquete {{Pkg|qt4}} como dependencia opcional, tendrá disponible una bonita interfaz gráfica de usuario con menús que le permitirán usar el ratón.
+
Ambos paquetes le darán a elegir un paquete para proporcionar módulos al huésped:
  
Por último, puede utilizar [[PhpVirtualBox]] para administrar sus máquinas virtuales a través de una interfaz web.
+
* para el kernel {{Pkg|linux}} predeterminado elija {{Pkg|virtualbox-guest-modules-arch}};
 +
* para [[kernels]] no predeterminados elija {{Pkg|virtualbox-guest-dkms}}.
  
Remítase al [https://www.virtualbox.org/manual manual de VirtualBox] para aprender cómo crear máquinas virtuales.
+
Para compilar los módulos de virtualbox proporcionados por {{Pkg|virtualbox-guest-dkms}}, también será necesario instalar los paquetes de encabezados adecuados para su kernel instalado (por ejemplo, {{Pkg|linux-lts-headers}} para {{Pkg|linux-lts}}). [https://lists.archlinux.org/pipermail/arch-dev-public/2016-March/027808.html] 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.
  
{{Advertencia|Si va a guardar imágenes de discos virtuales en un sistema de archivos [[Btrfs]], antes de crear cualquier imagen, debería considerar desactivar [[Btrfs#Copy-on-Write (CoW)|Copy-on-Write]] para el directorio de destino de estas imágenes.}}
+
{{Nota|<nowiki></nowiki>
 +
* Alternativamente, puede instalar los «''Guest Additions''» con la ISO del paquete {{Pkg|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 {{ic|rcvboxdrv}} como root.
 +
}}
  
== Pasos para instalar Arch Linux como sistema huésped ==
+
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, {{ic|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 [https://www.virtualbox.org/ VirtualBox.org].
  
=== Instalar Arch Linux dentro de la máquina virtual ===
+
=== Establecer la resolución óptima de framebuffer ===
  
{{Nota|En Windows como sistema anfitrión, puede que tenga que desactivar Hyper-V con el fin de utilizar las funciones de virtualización del hardware y poder crear máquinas virtuales de 64 bits en VirtualBox. Para aprender a desactivar/reactivar Hyper-V [http://superuser.com/questions/684966/switch-off-hyper-v-without-disable-functionality-in-windows-8-1 vea este post de stackoverflow]. }}
+
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.
  
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 [[Beginners' guide (Español)|Guía para principiantes]] o en la [[Installation guide (Español)|Guía de instalación]] sin instalar ningún controlador gráfico: vamos a instalar uno proporcionado por VirtualBox justo en el paso siguiente.
+
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.
  
==== Instalación en modo EFI ====
+
Primero, verifique si su resolución deseada no está ya reconocida al ejecutar la orden:
  
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.
+
hwinfo --framebuffer
  
Al arrancar en modo EFI, VirtualBox primero intentará ejecutar {{ic|/EFI/BOOT/BOOTX64.EFI}} desde la ESP y después el script de la shell de EFI {{ic|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 {{ic|F2}} en el arranque): añada entradas EFI al mismo manualmente al arrancar o con {{Pkg|efibootmgr}}, las cuales persistirán después de cada reinicio, [https://www.virtualbox.org/ticket/11177 sin embargo, se pierden cuando la máquina virtual se apaga].
+
Si la resolución óptima no se muestra, entonces deberá ejecutar la herramienta {{ic|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 {{ic|VBoxManage.exe}}). Por ejemplo:
  
=== Instalar complementos para el sistema huésped ===
+
$ VBoxManage setextradata "Arch Linux" "CustomVideoMode1" "1360x768x24"
  
Después de completar la instalación del sistema huésped, instale los [https://www.virtualbox.org/manual/ch04.html Guest Additions] de VirtualBox que incluyen controladores y aplicaciones que optimizan el sistema operativo invitado.
+
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").
  
En los sistemas huéspedes que no son Arch, estos pueden ser instalados de dos formas:
+
Luego, reinicie la máquina virtual y ejecute {{ic|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).
  
* 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 {{ic|/mnt}} y, después, ejecute {{ic|/mnt/VBoxLinuxAdditions.run}}); {{Nota|Si ha probado este primer método, el segundo fallará con un [[Pacman (Español)#Error «Failed to commit transaction (conflicting files)»|file conflict]]: {{ic|/usr/bin/VBox*}} y {{ic|/usr/lib/VBox* exists in filesystem}}. Quite los archivos afectados (que son enlaces simbólicos a {{ic|/opt}}), y repita la operación.}}
+
{{Nota|a partir de VirtualBox 5.2, {{ic|hwinfo --framebuffer}} puede que no muestre ningún resultado, pero aún así debería poder establecer una resolución personalizada siguiendo este procedimiento.}}
  
* O bien, mediante un paquete que se puede instalar desde los repositorios oficiales de la distribución.
+
Finalmente, agregue un [[Kernel parameters (Español)|parámetro del kernel]] {{ic|1=video=''resolution''}} para configurar el framebuffer a la nueva resolución, por ejemplo::
  
Cuando el sistema huésped es Arch Linux, el primer método no funciona y da como resultado el error {{ic|Unable to determine your Linux distribution}}. Por lo tanto, utilice el segundo camino e instale {{Pkg|virtualbox-guest-utils}}, que proporciona {{Pkg|virtualbox-guest-modules}}{{Broken package link (Español)|replaced by {{Pkg|virtualbox-guest-modules-arch}}}} como una dependencia necesaria.
+
video=1360x768
  
=== Instalar los módulos del kernel de VirtualBox en el sistema huésped  ===
+
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/Tips and tricks (Español)#Setting the framebuffer resolution]].
  
==== Sistemas huéspedes que ejecutan un kernel oficial ====
+
{{Nota|ni el parámetro del kernel {{ic|vga}} ni la configuración de resolución del cargador de arranque (por ejemplo, {{ic|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 {{ic|video}} como se describió anteriormente.}}
  
* Si está utilizando el kernel {{Pkg|linux}}, asegúrese de que el paquete {{pkg|virtualbox-guest-modules}}{{Broken package link (Español)|replaced by {{Pkg|virtualbox-guest-modules-arch}}}} ha sido instalado. Este último se ha debido ser instalado con el paquete {{Pkg|virtualbox-guest-utils}}.
+
=== Cargar los módulos del kernel de VirtualBox ===
* Si está utilizando la versión LTS del kernel ({{pkg|linux-lts}}), es necesario instalar el paquete {{AUR|virtualbox-guest-modules-lts}}. {{Pkg|virtualbox-guest-modules}}{{Broken package link (Español)|replaced by {{Pkg|virtualbox-guest-modules-arch}}}} puede ser ahora eliminado.
 
* Si está utilizando el kernel {{aur|linux-ck}}, compile el paquete {{aur|virtualbox-ck-guest-modules}}{{Broken package link (Español)|package not found}}. {{Pkg|virtualbox-guest-modules}}{{Broken package link (Español)|replaced by {{Pkg|virtualbox-guest-modules-arch}}}} puede ser ahora eliminado en este caso también, si lo desea.
 
  
==== Sistemas huéspedes que ejecutan un kernel personalizado ====
+
Para cargar los módulos automáticamente, [[enable|active]] {{ic|vboxservice.service}} que carga los módulos y sincroniza la hora del sistema del sistema huésped con el sistema anfitrión.
  
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 [[#Instalar los módulos del kernel de VirtualBox|esta sección]] para más información y sustituya todos los paquetes {{Pkg|virtualbox-host-modules}}{{Broken package link (Español)|replaced by {{Pkg|virtualbox-host-modules-arch}}}}, {{Pkg|virtualbox-host-dkms}} y {{AUR|vboxhost-hook}}{{Broken package link (Español)|{{aur-mirror|vboxhost-hook}}}} para {{Pkg|virtualbox-guest-modules}}{{Broken package link (Español)|replaced by {{Pkg|virtualbox-guest-modules-arch}}}}, {{Pkg|virtualbox-guest-dkms}} y {{AUR|vboxguest-hook}}{{Broken package link (Español)|{{aur-mirror|vboxguest-hook}}}} respectivamente.
+
Para cargar los módulos manualmente, escriba:
 
 
=== Cargar los módulos del kernel de VirtualBox ===
 
  
Para cargar los módulos manualmente, escriba:
 
 
  # modprobe -a vboxguest vboxsf vboxvideo
 
  # modprobe -a vboxguest vboxsf vboxvideo
  
Si al ejecutar modprobe se muestra {{ic|Module not found}} (vea [http://unix.stackexchange.com/questions/131792/virtualbox-modprobe-cant-find-vboxguest-vboxsf-vboxvideo], [https://bbs.archlinux.org/viewtopic.php?id=181938] y {{Bug|40495}}), ejecute la siguiente orden:
+
{{Pkg|virtualbox-guest-dkms}} utiliza {{ic|systemd-modules-load.service}} para cargar los módulos en el momento del arranque.
# 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 {{ic|*.conf}} (por ejemplo, {{ic|virtualbox.conf}}) en {{ic|/etc/modules-load.d/}} con estas líneas:
+
{{Nota|si no desea que los módulos de VirtualBox se carguen en el momento del arranque, debe [[mask|enmascarar]] el archivo predeterminado {{ic|/usr/lib/modules-load.d/virtualbox-guest-dkms.conf}} creando un archivo vacío (o enlace simbólico a {{ic|/dev/null}}) con el mismo nombre en {{ic|/etc/modules-load.d/}}.}}
{{hc|/etc/modules-load.d/virtualbox.conf|
 
vboxguest
 
vboxsf
 
vboxvideo}}
 
  
 
=== Lanzar los servicios de VirtualBox en el sistema huésped  ===
 
=== 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 {{ic|VBoxClient}} que interactuará con el sistema de ventanas X (X11) y que gestionará las siguientes funciones:
 
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 {{ic|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;
 
* portapapeles compartido y función arrastrar y soltar entre el anfitrión y el huésped;
 
* modo de ventanas integradas;
 
* modo de ventanas integradas;
* la pantalla del huésped se redimensiona automáticamente en función del tamaño de la ventana huésped;
+
* 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.
 
* 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.
 
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:
+
$ VBoxClient --clipboard --draganddrop --seamless --display --checkhostversion
* 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.
+
Como método abreviado, el script de bash {{ic|VBoxClient-all}} activa todas estas características.
  
Pero VirtualBox ofrece una característica actualmente indocumentada, un script de Bash {{ic|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.
+
{{Pkg|virtualbox-guest-utils}} instala {{ic|/etc/xdg/autostart/vboxclient.desktop}} que lanza {{ic|VBoxClient-all}} al iniciar sesión. Si su [[desktop environment (Español)|entorno de escritorio]] o [[window manager (Español)|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.
# VBoxClient-all
 
  
Para iniciar el script de forma automática cuando se inicia el sistema, ejecute la siguiente orden como root:
+
VirtualBox también puede sincronizar el tiempo entre el sistema anfitrión y el sistema huésped, para hacer esto,[[start/enable|inicie/active]] el servicio {{ic|vboxservice.service}}.
# systemctl enable vboxservice
 
  
Si no desea utilizar este servicio systemd, hay dos soluciones alternativas disponibles:
+
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'').
* si se está usando un [[Desktop environment (Español)]], solo necesita marcar una casilla o añadir la ruta del script {{ic|/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 {{ic|~/.config/autostart}} —[[Autostarting_(Español)#Entradas_de_Desktop|vea la sección de inicio automático para más detalles]]{{Broken section link}}—);
 
* si no tiene ningún [[Desktop environment (Español)|entorno de escritorio]], agregue la línea siguiente en la parte superior de [[Xinitrc (Español)|~/.xinitrc]] por encima de cualquier opción {{ic|exec}}:
 
{{hc|~/.xinitrc|
 
/usr/bin/VBoxClient-all}}
 
  
¡Enhorabuena! Ahora, debe tener un sistema Arch Linux huésped operativo.
+
=== Aceleracion de hardware ===
  
Si quiere compartir carpetas entre el sistema anfitrión y su huésped Arch Linux, siga leyendo.
+
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. [https://bugzilla.gnome.org/show_bug.cgi?id=749390] Si es el caso, y tiene problemas con la aceleración de hardware, pruebe con otro gestor de pantallas (lightdm parece funcionar bien). [https://bbs.archlinux.org/viewtopic.php?id=200025] [https://bbs.archlinux.org/viewtopic.php?pid=1607593#p1607593]
  
 
=== Activar carpetas compartidas ===
 
=== Activar carpetas compartidas ===
Line 221: Line 207:
  
 
Se necesitan dos pasos adicionales para que el punto de montaje sea accesible a los usuarios sin privilegios de root:
 
Se necesitan dos pasos adicionales para que el punto de montaje sea accesible a los usuarios sin privilegios de root:
 +
 
* el paquete {{Pkg|virtualbox-guest-utils}} habrá creado un grupo {{ic|vboxsf}} (hecho en un paso anterior);
 
* el paquete {{Pkg|virtualbox-guest-utils}} habrá creado un grupo {{ic|vboxsf}} (hecho en un paso anterior);
 
* su nombre de usuario debe estar en este grupo. Utilice esta orden {{ic|gpasswd -a $USER vboxsf}} para añadir su nombre de usuario y esta otra {{ic|newgrp}} para aplicar los cambios inmediatamente;
 
* su nombre de usuario debe estar en este grupo. Utilice esta orden {{ic|gpasswd -a $USER vboxsf}} para añadir su nombre de usuario y esta otra {{ic|newgrp}} para aplicar los cambios inmediatamente;
Line 227: Line 214:
  
 
Utilice la siguiente orden para montar su carpeta en el sistema huésped Arch Linux:
 
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''
 
  # 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:
 
El sistema de archivos vboxsf ofrece otras opciones que se pueden visualizar con esta orden:
 +
 
  # mount.vboxsf
 
  # 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:
 
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/
+
 
 +
  # 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 {{ic|id}} ejecutada respecto a dichos usuarios.
 
Donde ''uid'' y ''gid'' son los valores correspondientes a los usuarios que queremos dar acceso. Estos valores se obtienen de la orden {{ic|id}} ejecutada respecto a dichos usuarios.
Line 239: Line 229:
 
==== Montaje automático ====
 
==== Montaje automático ====
  
Para que la función de montaje automático funcione, se deben cumplir las siguientes condiciones:
+
{{Nota|El montaje automático requiere que el servicio {{ic|vboxservice.service}} esté [[enabled|activado]]/[[started|iniciado]].}}
* 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 {{ic|--automount}} en la orden {{ic|VBoxManage sharedfolder}}.
+
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 {{ic|--automount}} en la orden {{ic|VBoxManage sharedfolder}}.
  
La carpeta compartida debe aparecer ahora en {{ic|/media/sf_''shared_folder_name''}}.
+
La carpeta compartida debe aparecer ahora en {{ic|/media/sf_''shared_folder_name''}}. If users in {{ic|media}} cannot access the shared folders, check that {{ic|media}} has permissions {{ic|755}} or has group ownership {{ic|vboxsf}} if using permission {{ic|750}}. This is currently not the default if media is created by installing {{Pkg|virtualbox-guest-utils}}.
  
 
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:
 
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''
 
  $ ln -s /media/sf_''shared_folder_name'' ~/''my_documents''
  
Line 251: Line 242:
  
 
Puede montar su directorio con [[fstab (Español)]]. Sin embargo, para evitar problemas de inicio con systemd, debe añadir {{ic|1=comment=systemd.automount}} a {{ic|/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.
 
Puede montar su directorio con [[fstab (Español)]]. Sin embargo, para evitar problemas de inicio con systemd, debe añadir {{ic|1=comment=systemd.automount}} a {{ic|/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
+
 
 +
  ''sharedFolderName''  ''/path/to/mntPtOnGuestMachine''  vboxsf  uid=''user'',gid=''group'',rw,dmode=700,fmode=600,noauto,x-systemd.automount
 +
 
 +
* {{ic|''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''.
 +
* {{ic|''/path/to/mntPtOnGuestMachine''}}: si no existe, este directorio debe crearse manualmente (por ejemplo, utilizando [[Core utilities#Essentials|mkdir]]).
 +
* {{ic|dmode}}/{{ic|fmode}} son permisos de directorio/archivo para directorios/archivos dentro de {{ic|''/path/to/mntPtOnGuestMachine''}}.
  
 
A partir de 2012-08-02, mount.vboxsf  no admite la opción ''nofail'':
 
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
 
  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 ==
+
=== SSH de anfitrión a huésped ===
  
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.
+
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 {{ic|22}} a un puerto del sistema anfitrión, por ejemplo {{ic|3022}}:
  
=== Eliminar complementos ===
+
user@host$ ssh -p 3022 $USER@localhost
  
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 [https://www.virtualbox.org/manual/ch04.html proporcionando estas características].
+
establecerá una conexión del sistema anfitrión al sistema huésped.
  
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.
+
==== SSHFS como alternativa a la carpeta compartida ====
  
=== Utilizar el formato de disco virtual adecuado ===
+
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:
  
Este paso dependerá de la capacidad de convertir la imagen de disco virtual directamente o no.
+
user@host$ sshfs -p 3022 $USER@localhost:$HOME ~/shared_folder
  
==== Herramientas de automatización ====
+
y luego transferir archivos entre ambos.
  
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í.
+
== Gestionar discos virtuales ==
* ''[http://www.parallels.com/products/transporter 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, <u>que solo funciona en OS X</u>, creará una máquina virtual conectada a través de ''agent'' bien por USB o por conexión de red cableada.
 
* ''[https://www.vmware.com/products/converter/ 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  [[#Formatos soportados por VirtualBox|los formatos soportados por VirtualBox]] y [[Wikipedia:Comparison of platform virtual machines#Image type compatibility|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:  {{ic|.vbox}} para VirtualBox, {{ic|.vmx}} para VMware, un archivo {{ic|config.pvs}} ubicado en el paquete de la máquina virtual (archivo {{ic|.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''.
 
 
 
{{hc|ArchLinux_vm.vmx|2=
 
firmware = "efi"
 
}}
 
 
 
Por último, indique a su hipervisor el disco virtual a utilizar que ha convertido y lance la máquina virtual.
 
{{Sugerencia|
 
* En VirtualBox, si no desea navegar por la interfaz gráfica de usuario para encontrar la ubicación adecuada para agregar el nuevo dispositivo de disco virtual, puede [[#Reemplazar un disco virtual de forma manual desde el archivo .vbox]], o utilizar {{ic|VBoxManage storageattach}} descrito en [[#Aumentar discos virtuales]] o en la [https://www.virtualbox.org/manual/ch08.html#vboxmanage-storageattach página del manual de VirtualBox].
 
* Del mismo modo, en los productos de VMware, puede reemplazar el lugar de la ubicación actual del disco virtual adaptando la ubicación del archivo ''.vmdk'' en su archivo de configuración ''.vmx''}}
 
  
== Gestionar discos virtuales ==
+
Véase también [[VirtualBox/Tips and tricks (Español)#Importar/exportar máquinas virtuales de VirtualBox a/desde otros hipervisores]].
  
 
=== Formatos soportados por VirtualBox ===
 
=== Formatos soportados por VirtualBox ===
Line 309: Line 277:
 
VirtualBox es compatible con los siguientes formatos de disco virtual:
 
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.
+
* '''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.
+
* '''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.
+
* '''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.}}  
+
:{{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 [https://www.virtualbox.org/manual/ch15.html#idp63002176 soporta este formato en solo lectura].
+
* '''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 [https://www.virtualbox.org/manual/ch15.html#idp63002176 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. {{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 [https://www.virtualbox.org/manual/ch05.html#vdidetails informa que solo la segunda versión del formato de archivo HDD está soportado], los colaboradores de Wikipedia  [[Wikipedia:Comparison of platform virtual machines#Image type compatibility|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.}}
+
* '''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 [https://www.virtualbox.org/manual/ch05.html#vdidetails informa que solo la segunda versión del formato de archivo HDD está soportado], los colaboradores de Wikipedia  [[Wikipedia:Comparison of platform virtual machines#Image type compatibility|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 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.
+
* '''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 [https://www.virtualbox.org/manual/ch15.html#idp63002176 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).
+
* '''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 [https://www.virtualbox.org/manual/ch15.html#idp63002176 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 [https://www.virtualbox.org/manual/ch08.html#idp55423424 característica importar/exportar de {{ic|VBoxManage}}] pero con [https://www.virtualbox.org/manual/ch14.html#KnownProblems limitaciones conocidas].
+
* '''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 [https://www.virtualbox.org/manual/ch08.html#idp55423424 característica importar/exportar de VBoxManage] pero con [https://www.virtualbox.org/manual/ch14.html#KnownProblems 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 [https://www.virtualbox.org/manual/ch08.html#idp59139136 a un formato específico], o por [https://www.virtualbox.org/manual/ch08.html#vboxmanage-clonevdi clonación de un disco a RAW], o utilizando directamente un archivo VMDK [https://www.virtualbox.org/manual/ch09.html#idp57804112 que apunte a un disco físico o a un simple archivo].
+
* '''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 [https://www.virtualbox.org/manual/ch08.html#idp59139136 a un formato específico], o por [https://www.virtualbox.org/manual/ch08.html#vboxmanage-clonevdi clonación de un disco a RAW], o utilizando directamente un archivo VMDK [https://www.virtualbox.org/manual/ch09.html#idp57804112 que apunte a un disco físico o a un simple archivo].
  
 
=== Conversión de formatos de imagen de disco ===
 
=== Conversión de formatos de imagen de disco ===
  
==== VMDK a VDI y VDI a VMDK ====
+
[https://www.virtualbox.org/manual/ch08.html#vboxmanage-clonevdi VBoxManage clonehd] se puede usar para convertir entre VDI, VMDK, VHD y RAW.
 
 
VirtualBox puede manejar la conversión de VDI a VMDK (y viceversa) por sí mismo con [https://www.virtualbox.org/manual/ch08.html#vboxmanage-clonevdi {{ic|VBoxManage clonehd}}].
 
  
VMDK a VDI:
+
$ VBoxManage clonehd ''inputfile'' ''outputfile'' --format ''outputformat''
  
$ VBoxManage clonehd ''source.vmdk'' ''destination.vdi'' --format VDI
+
Por ejemplo para convertir VDI a VMDK:
 
 
VDI a VMDK:
 
  
 
  $ VBoxManage clonehd ''source.vdi'' ''destination.vmdk'' --format VMDK
 
  $ VBoxManage clonehd ''source.vdi'' ''destination.vmdk'' --format VMDK
  
==== VHD a VDI y VDI a VDH ====
+
==== QCOW ====
  
VirtualBox puede manejar la conversión de VHD a VDI (y viceversa) con [https://www.virtualbox.org/manual/ch08.html#vboxmanage-clonevdi {{ic|VBoxManage clonehd}}] también.
+
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 {{ic|qemu-img}} del paquete {{Pkg|qemu}}. {{ic|qemu-img}} puede convertir QCOW a / desde VDI, VMDK, VHDX, RAW y varios otros formatos (que puede ver ejecutando
  
VHD a VDI:
+
$ qemu-img convert -O ''output_fmt'' ''inputfile'' ''outputfile''
  
$ VBoxManage clonehd ''source.vhd'' ''destination.vdi'' --format VDI
+
Por ejemplo, para convertir QCOW2 a VDI:
  
VDI a VHD:
+
$ qemu-img convert -O vdi ''source.qcow2'' ''destination.vdi''
  
$ VBoxManage clonehd ''source.vdi'' ''destination.vhd'' --format VHD
+
{{Sugerencia|el parámetro {{ic|-p}} se usa para obtener la progresión de la tarea de conversión.}}
  
==== QCOW2 a VDI y VDI a QCOW2 ====
+
Hay dos revisiones de QCOW2: 0.10 y 1.1. Puede especificar la revisión para usar con {{ic|1=-o compat=''revision''}}.
 
 
[https://www.virtualbox.org/manual/ch08.html#vboxmanage-clonevdi {{ic|VBoxManage clonehd}}] no puede manejar la conversión del formato de QEMU; por lo tanto, vamos a confiar en otra herramienta. La orden {{ic|qemu-img}} de {{Pkg|qemu}} se puede utilizar para convertir imágenes de VDI a QCOW2 (y viceversa). {{Nota|{{ic|qemu-img}} puede manejar otros formatos también. De acuerdo con {{ic|qemu-img --help}}, estos son los formatos soportados que admite: «''vvfat vpc vmdk vhdx vdi ssh sheepdog sheepdog sheepdog raw host_cdrom host_floppy host_device file qed qcow2 qcow parallels nbd nbd nbd iscsi dmg tftp ftps ftp https http cow cloop bochs blkverify blkdebug'».}}
 
 
 
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 {{ic|1=-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
 
 
 
{{Sugerencia|El parámetro {{ic|-p}} se usa para mostrar el progreso de la tarea de conversión.}}
 
  
 
=== Montar discos virtuales ===
 
=== Montar discos virtuales ===
Line 378: Line 324:
 
==== VDI ====
 
==== 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 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 {{ic|offData}} a {{ic|32256}} (por ejemplo, 69632 + 32256 = 101888):
 
El desplazamiento de la partición (en el VDI) es necesario, luego hay que agregar el valor {{ic|offData}} a {{ic|32256}} (por ejemplo, 69632 + 32256 = 101888):
Line 420: Line 366:
 
:* o, si se prefiere los scripts, hay una [http://blog.whatsupduck.net/2012/03/powershell-alternative-to-sdelete.html solución PowerShell], pero que aún así necesita ser repetido para todas las unidades.
 
:* o, si se prefiere los scripts, hay una [http://blog.whatsupduck.net/2012/03/powershell-alternative-to-sdelete.html solución PowerShell], pero que aún así necesita ser repetido para todas las unidades.
 
::{{bc|PS> ./Write-ZeroesToFreeSpace.ps1 -Root ''c:\'' -PercentFree 0}}
 
::{{bc|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 {{ic|RemoteSigned}} y no en {{ic|Restricted}}. Esto se puede comprobar con {{ic|Get-ExecutionPolicy}} y la política requerida se puede establecer con {{ic|Set-ExecutionPolicy RemoteSigned}}.}}
+
::{{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 {{ic|RemoteSigned}} y no en {{ic|Restricted}}. Esto se puede comprobar con {{ic|Get-ExecutionPolicy}} y la política requerida se puede establecer con {{ic|Set-ExecutionPolicy RemoteSigned}}.}}
  
 
Una vez que el espacio libre en el disco ha sido anulado, apague su máquina virtual.
 
Una vez que el espacio libre en el disco ha sido anulado, apague su máquina virtual.
Line 431: Line 377:
 
:* o, {{ic|FsckDskAll}} [http://therightstuff.de/2009/02/14/ChkDskAll-ChkDsk-For-All-Drives.aspx desde aquí], que es básicamente el mismo software que {{ic|chkdsk}}, pero sin la necesidad de repetir la orden para todas las unidades;
 
:* o, {{ic|FsckDskAll}} [http://therightstuff.de/2009/02/14/ChkDskAll-ChkDsk-For-All-Drives.aspx desde aquí], que es básicamente el mismo software que {{ic|chkdsk}}, pero sin la necesidad de repetir la orden para todas las unidades;
  
Ahora, hay que quitar los ceros del archivo {{ic|vdi}} con {{ic|[https://www.virtualbox.org/manual/ch08.html#vboxmanage-modifyvdi VBoxManage modifyhd]}}:
+
Ahora, hay que quitar los ceros del archivo ''.|vdi'' con [https://www.virtualbox.org/manual/ch08.html#vboxmanage-modifyvdi VBoxManage modifyhd]:
 
  $ VBoxManage modifyhd ''your_disk.vdi'' --compact
 
  $ VBoxManage modifyhd ''your_disk.vdi'' --compact
  
{{Nota|Si su máquina virtual dispone de instantáneas, es necesario aplicar la orden anterior en cada archivo {{ic|.vdi}} que tenga.}}
+
{{Nota|si su máquina virtual dispone de instantáneas, es necesario aplicar la orden anterior en cada archivo {{ic|.vdi}} que tenga.}}
  
 
=== Aumentar discos virtuales ===
 
=== 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 [https://www.virtualbox.org/manual/ch08.html#vboxmanage-modifyvdi {{ic|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.
+
==== 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 [https://www.virtualbox.org/manual/ch08.html#vboxmanage-modifyvdi 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:
 
En primer lugar, crear un nuevo disco virtual junto al que quiere aumentar:
$ VBoxManage createhd -filename
+
 
 
  $ VBoxManage createhd -filename ''new.vdi'' --size ''10000''
 
  $ 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á.
 
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á.
 +
 +
{{Nota|por defecto, esta orden utiliza el ''estándar'' de la variante de formato de archivo (correspondiente a la asignación dinámica) y, por lo tanto, no va a utilizar la misma variante de formato de archivo que la del disco virtual de origen. Si su archivo ''old.vdi'' tiene un tamaño fijo y desea mantener esta variante, agregue el parámetro {{ic|--variant Fixed}}.}}
  
 
A continuación, el viejo disco virtual necesita ser clonado para el nuevo, lo cual puede tomar algún tiempo:
 
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
 
  $ VBoxManage clonehd ''old.vdi'' ''new.vdi'' --existing
  
{{Nota|Por defecto, esta orden utiliza el ''estándard'' de la variante de formato de archivo (correspondiente a la asignación dinámica) y, por lo tanto, no va a utilizar la misma variante de formato de archivo que la del disco virtual de origen. Si su archivo  ''old.vdi'' tiene un tamaño fijo y desea mantener esta variante, agregue el parámetro {{ic|--variant Fixed}}.}}
+
Separe el viejo disco duro y adjunte uno nuevo, sustituyendo todos los argumentos en cursiva obligatoriamente, según sus características:
  
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 none
 
  $ VBoxManage storageattach ''VM_name'' --storagectl ''SATA'' --port ''0'' --medium ''new.vdi'' --type hdd
 
  $ VBoxManage storageattach ''VM_name'' --storagectl ''SATA'' --port ''0'' --medium ''new.vdi'' --type hdd
Line 473: Line 423:
 
IDE (1, 0): Empty
 
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)
 
''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 [http://gparted.org/download.php 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.
 
Descargue la [http://gparted.org/download.php 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.
  
{{Nota|En discos GPT, al aumentar el tamaño del disco dará como resultado una copia de respaldo en la cabecera de GPT, pero dicho respaldo no se verá reflejado al final del dispositivo. GParted le preguntará si desea solucionar este problema, haga clic en ''Fix'' en ambas ocasiones. En los discos MBR, no se tiene un problema como este, ya que esta tabla de particiones no cuenta con respaldo al final del disco.}}
+
{{Nota|en discos GPT, al aumentar el tamaño del disco dará como resultado una copia de respaldo en la cabecera de GPT, pero dicho respaldo no se verá reflejado al final del dispositivo. GParted le preguntará si desea solucionar este problema, haga clic en ''Fix'' en ambas ocasiones. En los discos MBR, no se tiene un problema como este, ya que esta tabla de particiones no cuenta con respaldo al final del disco.}}
  
 
Por último, anule el registro del disco virtual de VirtualBox y elimine el archivo:
 
Por último, anule el registro del disco virtual de VirtualBox y elimine el archivo:
 +
 
  $ VBoxManage closemedium disk ''old.vdi''
 
  $ VBoxManage closemedium disk ''old.vdi''
 
  $ rm ''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 ===
 
=== Reemplazar un disco virtual de forma manual desde el archivo .vbox ===
Line 499: Line 459:
 
}}
 
}}
  
{{Nota|Si no sabe el GUID de la unidad que desea agregar, puede utilizar el archivo {{ic|VBoxManage showhdinfo ''file''}}. Si ha utilizado previamente {{ic|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 [http://www.virtualbox.org/manual/ch05.html#cloningvdis UUID se almacena en el interior de cada imagen de disco].}}
+
{{Nota|si no sabe el GUID de la unidad que desea agregar, puede utilizar el archivo {{ic|VBoxManage showhdinfo ''file''}}. Si ha utilizado previamente {{ic|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 [http://www.virtualbox.org/manual/ch05.html#cloningvdis UUID se almacena en el interior de cada imagen de disco].}}
 
 
=== 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 [http://www.virtualbox.org/manual/ch08.html#vboxmanage-list {{ic|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''
 
  
{{Sugerencia|En el futuro, para evitar la copia del disco virtual y la asignación de un nuevo UUID a su archivo de forma manual, use {{ic|[http://www.virtualbox.org/manual/ch08.html#vboxmanage-clonevdi VBoxManage clonehd]}} en su lugar.}}
+
==== Transferencia entre el anfitrión de Linux y otro sistema operativo ====
  
{{Nota|Las órdenes anteriores soportan [[#Formatos soportados por VirtualBox|todos los formatos de disco virtual admitidos por VirtualBox]].}}
+
La información sobre la ruta a los discos duros y las instantáneas se almacena entre las etiquetas {{ic | <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.
  
== Configuración avanzada ==
+
{{bc|1=
 
+
#!/bin/bash
=== Gestionar el lanzamiento de la máquina virtual ===
+
NewPath="${PWD}/"
 
+
Snapshots="Snapshots/"
==== Iniciar máquinas virtuales con un servicio ====
+
Filename="$1"
 
 
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.
 
 
 
{{hc|/etc/systemd/system/vboxvmservice@.service|2=
 
[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]
+
awk -v SetPath="$NewPath" -v SnapPath="$Snapshots" '{if(index($0,"<HardDisk uuid=") != 0){A=$3;split(A,B,"=");
WantedBy=multi-user.target
+
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"
 
}}
 
}}
  
 
{{Nota|
 
{{Nota|
*Reemplace {{ic|''username''}} con un usuario que sea miembro del grupo {{ic|vboxusers}}. Asegúrese de que el usuario elegido es el mismo usuario que creará/importará las máquinas virtuales, de lo contrario el usuario no verá las aplicaciones de la máquina virtual.
+
* 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 /.
*Si tiene varias máquinas virtuales gestionadas por systemd y las mismas no se detienen correctamente, pruebe añadiendo {{ic|RemainAfterExit&#61;true}} y {{ic|KillMode&#61;none}} al final de la sección {{ic|[Service]}}.}}
+
* El script detecta las instantáneas buscando {{ic|{}} 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 {{ic|VBoxManage registervm ''filename''.vbox}}
 +
}}
  
Para activar el servicio que pondrá en marcha la máquina virtual en el siguiente inicio, utilice:
+
=== Clonar un disco virtual y asignarle un UUID nuevo ===
# systemctl enable vboxvmservice@''your_virtual_machine_name''
 
  
Para iniciar el servicio que lance directamente la máquina virtual, utilice:
+
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 [http://www.virtualbox.org/manual/ch08.html#vboxmanage-list {{ic|VBoxManage list}}] para listar los elementos registrados por VirtualBox.
# systemctl start vboxvmservice@''your_virtual_machine_name''
 
  
VirtualBox 4.2 introduce [http://lifeofageekadmin.com/how-to-set-your-virtualbox-vm-to-automatically-startup/  una nueva forma] para que sistemas tipo UNIX tengan máquinas virtuales que se inicien automáticamente, distinto al uso de un servicio systemd.
+
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).
  
==== Iniciar máquinas virtuales con un atajo del teclado ====
+
Puede utilizar esta orden para asignar un nuevo UUID a su disco virtual:
  
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 {{ic|.xbindkeysrc}}. Remítase a [[Xbindkeys]] para más detalles.
+
$ VBoxManage internalcommands sethduuid ''/path/to/disk.vdi''
  
He aquí un ejemplo, usando la tecla {{ic|Fn}} del portatil con una tecla no utilizada ({{ic|F3}} utilizada en este ejemplo):
+
{{Sugerencia|en el futuro, para evitar la copia del disco virtual y la asignación de un nuevo UUID a su archivo de forma manual, use {{ic|[http://www.virtualbox.org/manual/ch08.html#vboxmanage-clonevdi VBoxManage clonehd]}} en su lugar.}}
"VBoxManage startvm 'Windows 7'"
 
m:0x0 + c:244
 
XF86Battery
 
  
{{Nota|Si se tiene un espacio en el nombre de la máquina virtual, entonces se encierra entre comillas simples, como se ha hecho en el ejemplo que acabamos de poner.}}
+
{{Nota|las órdenes anteriores soportan [[#Formatos soportados por VirtualBox|todos los formatos de disco virtual admitidos por VirtualBox]].}}
  
=== Utilizar dispositivos específicos en la máquina virtual ===
+
== Consejos y trucos ==
  
==== Utilizar  webcam / micrófono USB ====
+
Para una configuración avanzada, vea [[VirtualBox/Tips and tricks (Español)]].
  
{{Nota|Necesita tener el paquete de extensiones de VirtualBox instalado antes de seguir los pasos de abajo. Vea la sección [[#Paquete de extensiones]] para más detalles.}}
+
== Solución de problemas ==
  
# Asegúrese de que la máquina virtual no está en funcionamiento y no se está utilizando la webcam / micrófono.
+
=== Teclado y ratón bloqueados en la máquina virtual ===
# 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 ====
+
Esto significa que su máquina virtual ha capturado la entrada de su teclado y del ratón. Basta con pulsar la tecla {{ic|Ctrl}} derecho y su entrada debería volver al control de su sistema anfitrión de nuevo.
  
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.
+
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 complementos para el sistema huésped]] si su sistema huésped es Arch Linux, en otro caso, lea la ayuda oficial de VirtualBox.
  
=== Acceder a un servidor huésped ===
+
=== No hay opciones del sistema operativo de 64 bits para el cliente  ===
  
Para acceder a un [[Wikipedia:es:Servidor_HTTP_Apache|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:
+
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 {{ic|VT-x}}) estén activadas en el BIOS.
$ 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.  
+
Si está utilizando un sistema Windows como anfitrión, es posible que deba desactivar Hyper-V, ya que evita que VirtualBox use VT-x. [https://www.virtualbox.org/ticket/12350]
  
{{Nota|{{ic|pcnet}} se refiere a la tarjeta de red de la máquina virtual. Si utiliza una tarjeta de Intel en la configuración de la máquina virtual, cambie {{ic|pcnet}} a {{ic|e1000}}.}}
+
=== La interfaz gráfica de VirtualBox no coincide con el tema GTK ===
  
=== Aceleración D3D en huéspedes Windows ===
+
Vea [[Uniform look for Qt and GTK applications]] para obtener información sobre la tematización de aplicaciones basadas en Qt como VirtualBox.
  
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.
+
=== No se pueden usar las teclas CTRL+ALT+Fn en la máquina virtual ===
 
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.
 
  
{{Nota|
+
Si su sistema operativo huésped es una distribución de GNU/Linux puede abrir una nueva shell TTY con {{ic|Ctrl+Alt+F2}} o salir de su sesión X actual con {{ic|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 {{ic|Ctrl+Alt+F2}} al sistema huésped, por ejemplo, basta con pulsar ''«Host Key»'', (normalmente la tecla {{ic|Ctrl}}) y {{ic|F2}} simultáneamente.
*Este truco puede o no funcionar para algunos juegos en función de las comprobaciones que se haga del hardware y qué partes de D3D se utilice.
 
*Esto fue probado en Windows XP, 7 y 8,1. Si el método no funciona en su versión de Windows, por favor agregue los datos aquí.}}
 
  
=== VirtualBox en una llave USB ===
+
=== El subsistema USB no funciona ===
  
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:
+
Su usuario debe estar en el grupo {{ic|vboxusers}}, necesario para instalar el [[#Paquete de extensiones|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.
{{bc|<nowiki>
 
#!/bin/bash
 
  
# Borrar entradas viejas VMDK
+
If {{ic|VBoxManage list usbhost}} does not show any USB devices even if run as root, make sure that there is no old udev rules (from VirtualBox 4.x) in {{ic|/etc/udev/rules.d/}}. VirtualBox 5.0 installs udev rules to {{ic|/usr/lib/udev/rules.d/}}. You can use command like {{ic|pacman -Qo /usr/lib/udev/rules.d/60-vboxdrv.rules}} to determine if the udev rule file is outdated.
rm ~/.VirtualBox/*.vmdk
 
  
# Limpiar registro VBox
+
A veces, en equipos con Linux antiguo, el subsistema USB no se detecta automáticamente lo que da el error {{ic|Could not load the Host USB Proxy service: VERR_NOT_FOUND}} o la unidad USB no es visible en el equipo, [https://bbs.archlinux.org/viewtopic.php?id=121377 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  {{ic|~/.bashrc}} si usa ''bash''):
sed -i '/sd/d' ~/.VirtualBox/VirtualBox.xml
 
  
# Eliminar discos duros antiguos de las máquinas existentes
+
{{hc|~/.bashrc|2=
find ~/.VirtualBox/Machines -name \*.xml | while read file; do
+
VBOX_USB=usbfs
  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
+
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).
find  ~/.VirtualBox/Machines -name \*-prev -exec rm '{}' \;
 
  
# Recrear VMDKs
+
También asegúrese de que su usuario es miembro del grupo {{ic|storage}}.
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
+
=== El módem USB no funciona en el sistema anfitrión ===
    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
+
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 {{ic|VBoxSVC}} debería solucionar este problema.
VirtualBox
 
</nowiki>}}
 
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 ===
+
=== Acceder al puerto serie desde el sistema huésped ===
  
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.
+
Verifique su permiso para el puerto serie:
 +
{{hc|$ 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
 +
}}
  
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.
+
Agregue el usuario {{ic|uucp}} al [[user group (Español)|grupo de usuarios]].
  
==== Asegurarse de que se tiene un esquema de nombres persistentes ====
+
=== El sistema huésped se congela después de iniciar Xorg ===
  
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 [[RAID#Implementation|FakeRAID]] por ejemplo. El dispositivo FakeRAID vendrá asignado como {{ic|/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 {{ic|/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.
+
Los controladores defectuosos o ausentes pueden provocar que el sistema huésped se congele después de iniciar Xorg, consulte por ejemplo [https://bbs.archlinux.org/viewtopic.php?pid=1167838] y [https://bbs.archlinux.org/viewtopic.php?id=156079]. Intente desactivar la aceleración 3D en ''Configuración > Pantalla'', y compruebe que  todos los controladores de [[Xorg (Español)]] están instalados.
  
Para evitar este problema, tendremos que utilizar un esquema de direccionamiento que sea persistente en ambos sistemas. Esto se puede lograr usando [[Fstab_(Español)#UUID|UUID]] en su archivo {{ic|/etc/fstab}}. Asegúrese de que su archivo [[fstab]] utiliza UUID para solucionar este problema. Lea [[fstab]] y [[Persistent block device naming]].
+
=== El modo de pantalla completa muestra la pantalla en blanco ===
  
{{ic|/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.
+
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 [https://www.virtualbox.org/ticket/14323 informe de errores de los desarrolladores] para obtener más información.
  
; [[GRUB Legacy]]
+
=== El sistema anfitrión se congela en el inicio de la máquina virtual ===
Si todavía está utilizando el antiguo [[GRUB Legacy]], lo mejor es que [[GRUB Legacy#Upgrading to GRUB2|actualice a GRUB2]], ya que este paquete está ahora desatendido desde los repositorios oficiales de Arch Linux. Si desea mantenerlo, edite {{ic|/boot/grub/menu.lst}} y sustituya la declaración {{ic|1=root=/dev/sdXX}} en su entrada de arranque de Arch Linux por el mapeo UUID {{ic|/dev/disk/by-uuid/}} correspondiente a su partición root.
 
  
title  Arch Linux
+
Posibles causas/soluciones:
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.
+
* 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 {{ic|nosmap}} a sus [[kernel parameters (Español)|parámetros del kernel]].
 +
* Virtualización de hardware
 +
Desactivar la virtualización de hardware (VT-x/AMD-V) puede resolver el problema.
 +
* Varios errores de Kernel
 +
** Particiones montadas fuse (como ntfs) [https://bbs.archlinux.org/viewtopic.php?id=185841], [https://bugzilla.kernel.org/show_bug.cgi?id=82951#c12]
  
; [[GRUB (Español)|GRUB]]
+
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.
Si está ejecutando la versión más reciente de [[GRUB (Español)|GRUB]] no tiene nada que hacer. Sin embargo, es una razón más para actualizar a GRUB2.
 
  
{{Advertencia|
+
=== El sistema huésped Linux tiene audio lento/distorsionado ===
* Asegúrese de que su partición anfitriona solo es accesible en modo solo lectura desde su máquina virtual Arch Linux, esto evitará el riesgo de corrupción si estando en la partición anfitriona escribe en ella por descuido.
 
* NUNCA debe permitir que VirtualBox arranque desde la entrada de su segundo sistema operativo, que, a modo de recordatorio, es usado como anfitrión de esta máquina virtual. Preste especial cuidado en colocar la entrada de su otro sistema operativo por defecto en su gestor de arranque. De un mayor margen de espera o póngalo debajo en el orden de preferencias.}}
 
  
==== Asegurarse de que su imagen mkinitcpio es correcta ====
+
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 {{ic|/etc/modprobe.d}} con la siguiente línea:
  
Asegúrese de que la configuración de su [[Mkinitcpio (Español)|mkinitcpio]] utiliza el [[Mkinitcpio_(Español)#HOOKS|HOOK]] {{ic|block}}:
+
options snd-intel8x0 ac97_clock=48000
  
{{hc|/etc/mkinitcpio.conf|2=
+
=== El micrófono analógico no funciona ===
[...]
 
HOOKS="base udev autodetect modconf ''block'' filesystems keyboard fsck"
 
[...]}}
 
  
Si no está presente, añádalo y regenere su initramfs con la orden {{ic|# mkinitcpio -p linux}}, cuyo [[Mkinitcpio#Image creation and activation|uso se describe aquí con detalle]].
+
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 [[Sound system#Sound servers|servidor de sonido]] como [[PulseAudio (Español)]] en el sistema anfitrión puede solucionar el problema.
  
==== Crear una configuración de máquina virtual para arrancar desde la unidad física ====
+
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.
  
===== Crear una imagen .vmdk de disco raw  =====
+
=== El micrófono no funciona después de la actualización ===
  
Ahora, tenemos que crear una nueva máquina virtual que utilizará un [https://www.virtualbox.org/manual/ch09.html#rawdisk 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 {{ic|VBoxManage}}.
+
Ha habido problemas informados sobre la entrada de sonido en las versiones 5.1.x [https://forums.virtualbox.org/viewtopic.php?f=7&t=78797]
  
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.
+
[[Downgrading|Degradar]] la versión puede resolver el problema. Puede usar {{aur|virtualbox-bin-5.0}} para facilitar la degradación.
  
; En un sistema anfitrión GNU/Linux:
+
=== Problemas con imágenes convertidas a ISO ===
  
Hay 3 maneras de lograr esto: iniciando sesión como root, cambiando los derechos de acceso al dispositivo con {{ic|chmod}} o añadiendo su usuario al grupo {{ic|disk}}. Esta última forma es la más elegante, así que vamos a proceder de esa manera:
+
Algunos formatos de imagen no se pueden convertir de forma fiable a ISO. Por ejemplo, {{Pkg|ccd2iso}} ignora los archivos .ccd y .sub, lo que puede resultar en imágenes de disco con archivos rotos.
  
# gpasswd -a ''your_user'' disk
+
En este caso, tendrá que usar [[CDemu]] para Linux dentro de VirtualBox o cualquier otra utilidad utilizada para montar imágenes de disco.
  
Aplicar la nueva configuración de grupo con:
+
=== Error al crear la interfaz de red única del anfitrión ===
  
$ newgrp
+
Asegúrese de que todos los módulos del kernel necesarios están cargados. Véase [[#Cargar los módulos del kernel de VirtualBox]].
  
Ahora, puede utilizar la orden:
+
=== Error al insertar el módulo ===
  
$ VBoxManage internalcommands createrawvmdk -filename ''/path/to/file.vmdk'' -rawdisk ''/dev/sdb'' -register
+
Cuando obtiene el siguiente error al intentar cargar módulos:
  
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.
+
Failed to insert 'vboxdrv': Required key not available
  
; En un sistema anfitrión Windows:
+
[[#Sign modules|Firme]] los módulos o desactive {{ic|CONFIG_MODULE_SIG_FORCE}} en la configuración de tu kernel.
  
Abra un símbolo del sistema como administrador. {{Sugerencia|En Windows, abra la pantalla menú/inicio, escriba {{ic|cmd}}, y pulse {{ic|Ctrl+Mayús+Intro}}, esto es un acceso directo para ejecutar el programa seleccionado con derechos de administrador.}}
+
=== VBOX_E_INVALID_OBJECT_STATE (0x80BB0007) ===
  
En Windows, como la convención de nombres de archivos del disco es diferente de UNIX, utilice esta orden para determinar qué unidades tiene en su sistema Windows y cuál es su ubicación:{{hc|# wmic diskdrive get name,size,model|
+
Esto puede ocurrir si una máquina virtual se cierra de forma forzosa. Ejecute la siguiente orden:
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 {{ic|\\.\PhysicalDriveX}} donde X es un número, {{ic|\\.\PHYSICALDRIVE1}} podría ser análogo a {{ic|/dev/sdb}} en la terminología de los discos en Linux.
+
$ VBoxManage controlvm ''virtual_machine_name'' poweroff
  
Para usar la orden {{ic|VBoxManage}} en Windows, puede, o bien moverse del directorio actual a la carpeta de instalación de VirtualBox primero con {{ic|cd C:\Program Files\Oracle\VirtualBox\}}
+
=== «NS_ERROR_FAILURE» y ausencia de elementos del menú ===
  
# .\VBoxManage.exe internalcommands createrawvmdk -filename C:\file.vmdk -rawdisk \\.\PHYSICALDRIVE1
+
Esto ocurre, a veces, cuando se selecciona el formato de disco ''QCOW''/''QCOW2''/''QED'' al crear un disco virtual nuevo.
  
o bien, usar la ruta absoluta:  
+
Si encuentra este mensaje cada vez que inicia la máquina virtual:
  
# «C:\Program Files\Oracle\VirtualBox\VBoxManage.exe» internalcommands createrawvmdk -filename C:\file.vmdk -rawdisk \\.\PHYSICALDRIVE1
+
{{bc|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).
  
; En un sistema anfitrión de otro sistema operativo:
+
Result Code:  
 +
NS_ERROR_FAILURE (0x80004005)
 +
Component:
 +
Medium
 +
}}
  
Hay otras limitaciones en cuanto a la orden antes mencionada cuando se utiliza en otros sistemas operativos como OS X, por favor [https://www.virtualbox.org/manual/ch09.html#rawdisk lea atentamente la página del manual], si le concierne.
+
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ú {{ic|MachineRegistry}} (o la máquina hostil que lo está creando):
  
===== Crear el archivo de configuración de la máquina virtual =====
+
{{hc|~/.config/VirtualBox/VirtualBox.xml|2=
 +
...
 +
<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"/>
 +
  <strike><MachineEntry uuid="{00000000-0000-0000-0000-000000000000}" src="/home/void/VirtualBox VMs/lastvmcausingproblems/lastvmcausingproblems.qcow"/></strike>
 +
</MachineRegistry>
 +
...
 +
}}
  
{{Nota|
+
=== Arch: el script pacstrap falla ===
* Para hacer uso de la orden VBoxManage en Windows, es necesario primero moverse del directorio actual a la carpeta de instalación de VirtualBox: cd C:\Program Files\Oracle\VirtualBox\.
 
* Windows hace uso de las barras invertidas en lugar de barras normales, de modo que no olvide cambiar las barras normales / a las barras invertidas \ cuando aparezcan en las órdenes que siguen.}}
 
  
Después, tenemos que crear una nueva máquina (sustituir el ''VM_NAME'' a su conveniencia) y registrarla en VirtualBox.
+
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 {{ic|umount -l /mnt/dev}} como root antes de usar ''pacstrap'' nuevamente; Si no lo hace, se volverá inutilizable.
  
$ VBoxManage createvm -name ''VM_name'' -register
+
=== OpenBSD queda inutilizable cuando las instrucciones de virtualización no están disponibles ===
  
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.
+
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 '' [https://www.virtualbox.org/ticket/3947 puede resolver el problema]. Puede hacerlo así:
 +
$ VBoxSDL -norawr0 -vm ''name_of_OpenBSD_VM''
  
Si necesita una controladora IDE:
+
=== Anfitrión Windows: VERR_ACCESS_DENIED ===
  
$ VBoxManage storagectl ''VM_name'' --name "IDE Controller" --add ide
+
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.
$ VBoxManage storageattach machineA --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /path/to/file.vmdk
 
  
de otro modo:
+
=== Windows: «La ruta especificada no existe. Verifique la ruta y luego inténtelo nuevamente». ===
  
$ VBoxManage storagectl ''VM_name'' --name "SATA Controller" --add sata
+
Este mensaje de error puede aparecer cuando se ejecuta un archivo {{ic|.exe}} que requiere privilegios de administrador de una carpeta compartida en los sistemas huéspedes de Windows. [https://www.virtualbox.org/ticket/5732#comment:39]
$ 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.
+
Como solución alternativa, copie el archivo en la unidad virtual o use [[Wikipedia:es:Ruta_(informática)#Uniform_Naming_Convention|Rutas UNC]] ({{ic|\\vboxsvr}}). Consulte [https://support.microsoft.com/de-de/help/2019185/copying-files-from-a-mapped-drive-to-a-local-directory-fails-with-erro] para obtener más información.
  
==== Instalar Guest Additions ====
+
=== Código de error 0x000000C4 de Windows 8.x ===
  
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.
+
Si obtiene este código de error al iniciar, incluso si elige SO Type Win 8, pruebe activar la instrucción {{ic|CMPXCHG16B}} de la CPU :
  
{{Advertencia|Para que [[Xorg (Español)|Xorg]] pueda funcionar tanto en forma nativa como en la máquina virtual, dado que va a utilizar diferentes controladores en uno u otro entorno, la mejor opción es que no exista un archivo {{ic|/etc/X11/xorg.conf}}, de modo que se deje a Xorg que recoja todo lo que necesita sobre la marcha. Sin embargo, si realmente necesita su propia configuración Xorg, tal vez valga la pena establecer su target predefinido de systemd a {{ic|multi-user.target}} con {{ic|# systemctl isolate graphical.target}} (más detalles en [[Systemd (Español)#Tabla de targets]]y [[Systemd (Español)#Cambiar el target vigente]]. De este modo, la interfaz gráfica estará desactivada (es decir Xorg no se pondrá en marcha) y, después de iniciar sesión, podrá ejecutar {{ic|startx}} manualmente con un archivo {{ic|xorg.conf}} personalizado.}}
+
  $ vboxmanage setextradata ''virtual_machine_name'' VBoxInternal/CPUM/CMPXCHG16B 1
 
 
=== 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 [http://www.virtualbox.org/manual/ch09.html#rawdisk 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 [[#Asegurarse de que se tiene un esquema de nombres persistentes|asegurándose de que tiene un esquema de nombres persistentes]] y [[#Asegurarse de que su imagen mkinitcpio es correcta|que su imagen mkinitcpio es correcta]].
 
 
 
{{Advertencia|
 
*Para los sistemas BIOS con un esquema de particionado MBR, no instale un gestor de arranque en su máquina virtual, esto no funcionará ya que el MBR no está vinculado con el MBR de su máquina real y su disco virtual solo se asignaŕa como una partición real sin MBR.
 
*Para los sistemas UEFI sin [[Wikipedia:Compatibility Support Module#CSM|Compatibility Support Module (CSM)]] y con esquema de particionado GPT, la instalación no funcionará en absoluto, dado que:
 
:*la partición [[Wikipedia:EFI System partition|EFI System partition (ESP)]] no está asignada en el disco virtual y Arch Linux requiere tener el kernel de Linux en ella para arrancar como una aplicación EFI (vea [[EFISTUB (Español)]] para más detalles);
 
:*y las variables efivars, si va a instalar Arch Linux usando el modo EFI por intermediación de VirtualBox, no se corresponden con la de su sistema real: por lo tanto, las entradas de su gestor de arranque no serán registradas.
 
*Esta razones hacen recomendable crear, primero, las particiones en una instalación nativa, de lo contrario las particiones no serán tomadas en consideración en su tabla de particiones MBR/GPT.}}
 
 
 
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 [[Installation guide (Español)#Chroot|chroot]] en su recién instalado Arch Linux y [[Installation guide (Español)#Gestor de arranque|configure un gestor de arranque]]{{Broken section link}}.
 
 
 
=== 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 (Consulte [[#Limitaciones conocidas]] para conocer detalles).
 
 
 
{{Advertencia|Si está utilizando una versión OEM de Windows, este proceso no está autorizado por la licencia de usuario final. De hecho, la licencia OEM normalmente establece las instalación de Windows ligada al hardware específico del equipo donde se instala. Al transferir una instalación de Windows a una máquina virtual se elimina esa vinculación. Asegúrese de que tiene una instalación completa de Windows o un modelo de licencia por volumen antes de continuar. Si tiene una licencia completa de Windows, pero este último no viene en volumen, ni como una licencia especial para varios PC, esto significa que tendrá que quitar la instalación nativa después de que se haya logrado la operación de transferencia.}}
 
 
 
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 [https://www.virtualbox.org/wiki/Migrate_Windows#HAL 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 [https://www.virtualbox.org/wiki/Migrate_Windows#HardDiskSupport 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 {{ic|.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: {{ic|Hal.dll}} (Standard PC), {{ic|Halacpi.dll}} (ACPI HAL) y {{ic|Halaacpi.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í [https://www.virtualbox.org/manual/ch08.html#idp56927888 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 {{ic|agp440.sys}} o {{ic|intelppm.sys}} dentro de la carpeta {{ic|C:\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 {{ic|ntfsresize}}, disponible en el paquete {{Pkg|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 {{ic|--no-action}} primero para realizar una prueba:
 
:{{bc|# 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).
+
=== Windows 8, 8.1 o 10 no se instala, no se inicia o da el error «ERR_DISK_FULL» ===
  
* 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 {{ic|sda2}} y {{ic|sda3}} serán eliminadas de la tabla de particiones y el gestor de arranque MBR será actualizado.
+
Actualice la configuración de la máquina virtual navegando a ''Settings > Storage > Controller:SATA'' y marque «Use Host I/O Cache».
  
:{{bc|<nowiki># sectnum=$(( $(cat /sys/block/''sda/sda1''/start) + $(cat /sys/block/''sda/sda1''/size) ))</nowiki>}}
+
=== WinXP: la profundidad de bits no puede ser mayor que 16 ===
:El uso de {{ic|cat /sys/block/''sda/sda1''/size}} mostrará el número de sectores totales de la primera partición del disco {{ic|sda}}. Adaptar cuando sea necesario.
 
  
:{{bc|<nowiki># dd if=''/dev/sda'' bs=512 count=$sectnum | VBoxManage convertfromraw stdin ''windows.vdi'' $(( $sectnum * 512 ))</nowiki>}}
+
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 {{ic|regedit}} en Windows y agregue la siguiente clave al registro de la máquina virtual de Windows XP:
:Tenemos que obtener el tamaño en bytes, {{ic|$(( $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. {{ic|# 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 ([http://i.imgur.com/hh1RrSp.png 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 {{ic|fdisk}} para lograr esto, por ejemplo.
 
:{{bc|<nowiki>fdisk ''/dev/sda''
 
Command (m for help): a
 
Partition number (''1-3'', default ''3''): ''1''</nowiki>}}
 
 
*Escriba la tabla de partición actualizada en el disco (esto volverá a crear el MBR) utilizando la orden {{ic|m}} con {{ic|fdisk}}.
 
 
*Utilice {{Pkg|testdisk}} (vea [http://www.cgsecurity.org/index.html?testdisk.html esto] para más detalles) para añadir un MBR genérico:
 
:{{bc|# 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 [http://support.microsoft.com/kb/927392 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 [http://superuser.com/questions/237782/virtualbox-booting-cloned-disk/253417#253417 VirtualBox: arrancar disco clonado]) lo cual requerirá arreglar la tabla de particiones, bien [http://gparted.org/h2-fix-msdos-pt.php 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. {{ic|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). {{ic|<nowiki>{ 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 ))</nowiki>}}.
 
 
== 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 {{ic|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 {{ic|Ctrl+Alt+F2}} o salir de su sesión X actual con {{ic|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 {{ic|Ctrl+Alt+F2}} al sistema huésped, por ejemplo, basta con pulsar ''«Host Key»'', (normalmente la tecla {{ic|Ctrl}}) y {{ic|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'' [https://www.virtualbox.org/ticket/3947 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 {{ic|vboxusers}}, necesario para instalar el [[#Paquete de extensiones|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 {{ic|Could not load the Host USB Proxy service: VERR_NOT_FOUND}} o la unidad USB no es visible en el equipo, [https://bbs.archlinux.org/viewtopic.php?id=121377 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  {{ic|~/.bashrc}} si usa ''bash''):
 
 
{{hc|~/.bashrc|VBOX_USB<nowiki>=</nowiki>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 {{ic|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 {{ic|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]
 
  [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services]
 
  "ColorDepth"=dword:00000004
 
  "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, {{ic|Host+f}} para redibujar/introducir la pantalla completa).
+
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, {{ic|Host+f}} para redefinir/ingresar a 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 {{ic|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 {{ic|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 {{ic|/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, [https://bbs.archlinux.org/viewtopic.php?pid=1167838] y [https://bbs.archlinux.org/viewtopic.php?id=156079]. 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:
+
=== Windows: la pantalla parpadea si la aceleración 3D está activada ===
  
{{bc|Failed to open a session for the virtual machine debian.
+
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 [[environment variable (Español)|variable de entorno]], inicie VirtualBox así:
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:
+
$ CR_RENDER_FORCE_PRESENT_MAIN_THREAD=0 VirtualBox
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ú {{ic|MachineRegistry}} (o la máquina hostil que lo está creando):
 
 
 
{{hc|~/.config/VirtualBox/VirtualBox.xml|2=
 
...
 
<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"/>
 
  <strike><MachineEntry uuid="{00000000-0000-0000-0000-000000000000}" src="/home/void/VirtualBox VMs/lastvmcausingproblems/lastvmcausingproblems.qcow"/></strike>
 
</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.» ===
+
Asegúrese de que no hay servicios de VirtualBox en ejecución. Consulte [https://www.virtualbox.org/ticket/13653 VirtualBox bug 13653].
  
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 [https://www.virtualbox.org/ticket/5732 este informe de error] para más detalles.
+
=== Sin aceleración 3D de hardware en Arch Linux huésped ===
  
Hay varias soluciones:
+
El paquete {{Pkg|virtualbox-guest-utils}} a partir de la versión 5.2.16-2 no contiene el archivo {{ic|VBoxEGL.so}}. Esto hace que el sistema huésped de Arch Linux no tenga la aceleración 3D adecuada. Vea {{Bug|49752}}.
  
# 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.
+
Para resolver este problema, aplique el parche establecido en {{Bug|49752#comment152254}}. Se requiere alguna solución al conjunto de parches para que funcione en la versión 5.2.16-2.
# 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.
 
  
== Consulte también ==
+
== Véase también ==
  
 
* [https://www.virtualbox.org/manual/UserManual.html VirtualBox User Manual]
 
* [https://www.virtualbox.org/manual/UserManual.html VirtualBox User Manual]
 
* [[Wikipedia:VirtualBox]]
 
* [[Wikipedia:VirtualBox]]

Revision as of 00:51, 9 November 2018

Estado de la traducción
Este artículo es una traducción de VirtualBox, revisada por última vez el 018-11-09. Si advierte que la versión inglesa ha cambiado puede ayudar a actualizar la traducción, bien por usted mismo o bien avisando al equipo de traducción.

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.

Contents

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:

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
Nota: el algoritmo de hash no tiene que coincidir con el configurado, pero debe estar integrado en el kernel.

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.

Nota: si no desea que los módulos de VirtualBox se carguen automáticamente en el momento del arranque, debe enmascarar el archivo predeterminado /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 son opcionales, pero se recomiendan si no quiere que le den problebms con algunas configuraciones avanzadas (que son los que siguen): vboxnetadp, vboxnetflt y vboxpci.

  • vboxnetadp y vboxnetflt 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 necesita vboxnetadp para crear la interfaz del sistema anfitrión en las preferencias globales de VirtualBox, y vboxnetflt 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.
Nota: si los módulos del kernel de VirtualBox se cargaron en el kernel mientras actualizaba los módulos, debe volver a cargarlos manualmente para usar la nueva versión actualizada. Para hacerlo, ejecute 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 montadao 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.

Advertencia: si va a guardar imágenes de discos virtuales en un sistema de archivos Btrfs, antes de crear cualquier imagen, debería considerar desactivar Copy-on-Write para el directorio de destino de estas imágenes.

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:

Ambos paquetes le darán a elegir un paquete para proporcionar módulos al huésped:

Para compilar los módulos de virtualbox proporcionados por virtualbox-guest-dkms, 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.

Nota:
  • 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).

Nota: a partir de VirtualBox 5.2, 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/Tips and tricks (Español)#Setting the framebuffer resolution.

Nota: ni el parámetro del kernel 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 utiliza systemd-modules-load.service para cargar los módulos en el momento del arranque.

Nota: si no desea que los módulos de VirtualBox se carguen en el momento del arranque, debe enmascarar el archivo predeterminado /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 --draganddrop --seamless --display --checkhostversion

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 GDMrompe 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]

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 otra newgrp 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

Nota: El montaje automático requiere que el servicio vboxservice.service esté activado/iniciado.

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 en /media/sf_shared_folder_name. If users in media cannot access the shared folders, check that media has permissions 755 or has group ownership vboxsf if using permission 750. This is currently not the default if media is created by installing virtualbox-guest-utils.

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/Tips and tricks (Español)#Importar/exportar máquinas virtuales de VirtualBox a/desde otros hipervisores.

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.

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. 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
Sugerencia: el parámetro -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 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 como 1280 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 de mkfs.ext4 o utilice tune2fs -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, escriba sdelete -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 en Restricted. Esto se puede comprobar con Get-ExecutionPolicy y la política requerida se puede establecer con Set-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 Windows, puede utilizar:
  • o bien, chkdsk c: /F donde c: necesita ser reemplazado por cada disco que necesita ser analizado y corregir errores;
  • o, FsckDskAll desde aquí, que es básicamente el mismo software que chkdsk, pero sin la necesidad de repetir la orden para todas las unidades;

Ahora, hay que quitar los ceros del archivo .|vdi con VBoxManage modifyhd:

$ VBoxManage modifyhd your_disk.vdi --compact
Nota: si su máquina virtual dispone de instantáneas, es necesario aplicar la orden anterior en cada archivo .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á.

Nota: por defecto, esta orden utiliza el estándar de la variante de formato de archivo (correspondiente a la asignación dinámica) y, por lo tanto, no va a utilizar la misma variante de formato de archivo que la del disco virtual de origen. Si su archivo old.vdi tiene un tamaño fijo y desea mantener esta variante, agregue el parámetro --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.

Nota: en discos GPT, al aumentar el tamaño del disco dará como resultado una copia de respaldo en la cabecera de GPT, pero dicho respaldo no se verá reflejado al final del dispositivo. GParted le preguntará si desea solucionar este problema, haga clic en Fix en ambas ocasiones. En los discos MBR, no se tiene un problema como este, ya que esta tabla de particiones no cuenta con respaldo al final del disco.

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>
Nota: si no sabe el GUID de la unidad que desea agregar, puede utilizar el archivo 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/bash
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"
Nota:
  • 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
Sugerencia: en el futuro, para evitar la copia del disco virtual y la asignación de un nuevo UUID a su archivo de forma manual, use VBoxManage clonehd en su lugar.
Nota: las órdenes anteriores soportan todos los formatos de disco virtual admitidos por VirtualBox.

Consejos y trucos

Para una configuración avanzada, vea VirtualBox/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 complementos para el sistema huésped 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.

If VBoxManage list usbhost does not show any USB devices even if run as root, make sure that there is no old udev rules (from VirtualBox 4.x) in /etc/udev/rules.d/. VirtualBox 5.0 installs udev rules to /usr/lib/udev/rules.d/. You can use command like pacman -Qo /usr/lib/udev/rules.d/60-vboxdrv.rules to determine if the udev rule file is outdated.

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.

Acceder al puerto 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 (Español) 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.

  • Varios errores de Kernel
    • Particiones montadas fuse (como ntfs) [9], [10]

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 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 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.

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.

Véase también