# VirtualBox (Español)

Summary help replacing me
This article is about basic usage of VirtualBox, including running the VirtualBox software within an Arch host, and running an Arch guest inside a VirtualBox virtual machine.
Required software
VirtualBox
Related
VirtualBox Extras
PhpVirtualBox
VirtualBox Arch Linux Guest On Physical Drive
Installing Arch Linux from VirtualBox
Moving an existing install into (or out of) a virtual machine

VirtualBox es un emulador de PC al igual que VMware. Esta en constante desarrollo y nuevas capacidades son implementadas todo el tiempo. ej. en la versión 2.2 se introdujo la acelecación 3D mediante OpenGL en sistemas invitados Linux Y Solaris. Tiene una interfaz gráfica elaborada en Qt, así como herramientas en linea de comandos para gestionar y ejecutar maquinas virtuales. Incluye adiciones conocidas como "guest aditions", que integran algunas funciones entre el sistema principal y el anfitrión, lo que incluye, carpetas compartidas, portapapeles, aceleracipon de video y manejo óptimo de ventanas.

### Ediciones

VirtualBox tiene dos ediciones: VirtualBox-ose y VirtualBox (para uso personal y licencia de evaluacion (PUEL en siglas inglesas)

#### VirtualBox-ose

Ésta es la versión de código abierto de VirtualBox que se puede encontrar en el repositorio community. Le faltan algunas características como la capacidad para usar dispositivos USB y un servidor RDP.

#### VirtualBox (PUEL)

Esta es la versión para uso personal de VirtualBox que la puede encontrar en los repositorios oficiales, o puede bajarsela de la sección de descargas en el sitio de VirtualBox Las características extra son:

- Servidor con protocolo de visualización remota (RDP en sus siglas inglesas)

Este componente supone un servidor RDP completo por encima del hardware virtual y permite que los usuarios se conecten remotamente a una máquina virtual usando un cliente compatible RDP.

- Capacidad para usar dispositivos USB

VirtualBox presenta un controlador USB virtual y permite conectar dispositivos USB 1.1 y USB 2.0 a las máquinas virtuales.

- USB por encima der RDP

Esta es una combinación del servidor RDP y la capacidad USB que permite a los usuarios hacer accesibles los dispositivos USB a las máquinas virtuales que funcionan remotamente.

- Iniciador iSCSI

VirtualBox tiene un iniciador iSCSI embebido que hace posible el uso de dispositivos iSCSI como discos virtuales sin necesidad de que el cliente que se conecta tenga instalada la capacidad para iSCSI.

## Instalación

Actualment para instalar VirtualBox, existen dos opciones: instalar la versión OSE o la versión PUEL.

### Instalar VirtualBox OSE

Para instalar VirtualBox OSE, necesita tener descomentado el repositorio community en `/etc/pacman.conf`.

    #[community]
    # Añada sus servidores preferidos aquí, éstos serán usados en primer lugar
    #Include = /etc/pacman.d/community

se convierte en:

    [community]
    # Añada sus servidores preferidos aquí, éstos serán usados en primer lugar
    Include = /etc/pacman.d/community

Ahora puede utilizar pacman para instalar VirtualBox OSE:

    pacman -S virtualbox-ose

Nota: El programa genera una entrada de escritorio que puede ser localizada en Aplicaciones -> Herramientas del sistema -> VirtualBox OSE

Esto seleccionará por defecto los paquetes virtualbox-ose y virtualbox-modules. Necesitará entonces añadirse usted mismo al grupo virtualbox:

    gpasswd -a USERNAME vboxusers

Nota: Tiene que salir/ingresar para que este cambio tenga efecto.

Construye el modulo necesario:

    # vboxbuild

Luego añada `vboxdrv` a la sección de módulos en `/etc/rc.conf` para hacer que el módulo se cargue cuando arranque el PC. Si deseas cargarlo manualmente teclee como root:

    modprobe vboxdrv

### Instalar VirtualBox PUEL

Esto se hace con facilidad ya que tenemos un buen PKGBUILD en el AUR hecho por piie.

Baje el PKGBUILD, ejecute makepkg y entonces como root:

    pacman -U NOMBRE DEL PAQUETE.pkg.tar.gz

Nota: El programa genera una entrada de escritorio que puede ser localizada en Aplicaciones -> Herramientas del sistema -> Innotek VirtualBox

Después de la instalación añádase al grupo de usuarios de VirtualBox:

    gpasswd -a USERNAME vboxusers

Nota: Tiene que salir/ingresar para que este cambio tenga efecto.

Añada `vboxdrv` al array MODULES en `/etc/rc.conf`

IMPORTANTE:

Cada vez que cambie la versión de su kernel debido a una actualización, recompilado, etc., tendrá que reconstruir el módulo para el kernel de VirtualBox usando `vbox_build_module`. Este binario estará localizado en uno de los siguientes sitios: `/sbin`, `/bin`, o `/usr/bin` y debe ser ejecutado con privilegios de superusuario. Después de la reconstrucción del módulo, no olvide cargarlo con: `modprobe vboxdrv`.

## Configuración

Después de haber instalado VirtualBox en nuestro sistema y de habernos añadido a nosotros mismos al grupo de usarios de VirtualBox podemos empezar a configurar nuestro sistema para tener disponibles todas las características. Cree una máquina virtual nueva utilizando el asistente proporcionado por la interfaz gráfica de usuario y haga click en la pestaña "Configuración" para editar la configuración de la máquina virtual.

### Consiguiendo acceso a la red en la máquina virtual

Hagamos primero que funcione el acceso a la red en la máquina virtual. Haga click en la pestaña Red. La opción "no conectado" significa que tendrá "Desconectado cable de Red" o un error similar en la máquina virtual.

#### Redireccionamiento NAT

Esta es la manera más sencilla para conseguie acceso a la red. Seleccione "Red NAT" y debería estar listo para usar. La dirección IP NAT de la primera tajeta es 10.0.2.0, 10.0.3.0 para la segunda tarjeta y así sucesivamente.

#### Utilizando la interfaz de red del sistema anfitrión

Esta forma es un poco más difícil, pero le permite ver la máquina virtual como una computadora "real" en su red local. Necesitará instalar bridge-utils.

  - - - EDITADO por Sp1d3rmxn
  También necesita tener cargado el módulo TUN... en `/etc/rc.conf` añada `tun` (sin las comillas) a su sección MODULES. Para probar ésto ahora mismo sin reiniciar cargue el módulo desde la línea de órdenes con `modprobe tun`.
  Entonces DEBE establecer estos permisos, de otro modo nunca conseguirá que VirtualBox inicie la interfaz. La oren es `chmod 666 /dev/net/tun` (sin las comillas).

  Proceda ahora con el resto como se describe a continuación.

    - - - EDITADO
    Como ha dicho Sp1d3rmxn, debemos establecer estos permisos, pero, en vez de utilizar la
    orden, podemos establecerlos en `/etc/udev/rules.d/60-vboxdrv.rules`, que los establecerá
    en el arranque:

    KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="vboxusers", MODE="0660"
    KERNEL=="tun", OWNER="root", GROUP="vboxusers", MODE="0660"

1. Cree un nuevo puente ('bridge') con este comando:

    brctl addbr br0

2. Si no está utilizando DHCP, ejecute `ip addr` y anote la configuración de red de su interfaz de red actual (p.ej. eth0), que tendremos que copiar el 'bridge' en unos minutos.

Nota: Necesitará realizar estos pasos así que no se los pierda!

3. Conmute su adaptador de red física a modo "promiscuo" de manera que que acepte marcos Ethernet para otras direcciones MAC distintas de la propia (reemplace eth0 por su interfaz de red):

    ip link set eth0 promisc on

Nota: Perderá en este momento la conexión de red en eth0.

4. Añada su adaptador de red al puente:

    brctl addif br0 eth0

5. Transfiera la configuración de red previamente utilizada con su adaptador físico Ethernet al nuevo puente. Si está utilizando DHCP, debería funcionar lo siguiente:

    dhclient br0

- - - EDITADO por Sp1d3rmxn

utilice `dhcpcd -t 30 -h yourhostname br0 &` en vez de lo anterior

- - - Editado hasta aquí

De otro modo, corra ifconfig br0 x.x.x.x mascara-de-red x.x.x.x y utilice los valores que anotó antes.

6. Para crear un interfaz de máquina permanente llamado vbox0 (todas láos interfaces de máquina creados de esta manera deberán ser llamados vbox seguido de un número) y añadalo al puente de red creado anteriormente, utilice la siguiente orden:

    VBoxAddIF vbox0 vboxuser br0

Reemplace vboxuser por el nombre del usuario que vaya a ser capaz de utilizar la nueva interfaz.

Nota: VboxAddIF esta situado en `/opt/VirtualBox-VERSION-DE-VIRTUALBOX/VBoxAddIF`.

Alternativamente, puede configurar la red de VirtualBox networking a través de su `/etc/rc.conf` para habilitar una conexión con puente.

### Consiguiendo que funcionen los dispositivos USB en la máquina virtual

(Sólo disponible en la edición PUEL)

Lo primero que hay que hacer para que la máquina virtual pueda utilizar dispositivos usb es añadir esta línea a su archivo `/etc/fstab`

    none			/proc/bus/usb	usbfs	devgid=85,devmode=664 	0	0

85 es la identidad del grupo que debería tener permisos para acceder a los dispositivos USB. Cámbiela por la identidad de su grupo de usuarios de vbox. Puede conocer esta identidad ejecutando

    grep vboxusers /etc/group

Si no le preocupa tener un posible agujero de seguridad cambie el devmode de 664 a 666.

Vuelva a montar /proc/bus/usb:

    mount -o remount /proc/bus/usb/

Rearranque Virtualbox y haga click en la pestaña USB de la configuración de la máquina virtual y seleccione qué dispositivos están disponibles para su pc en el arranque. Si desea que su máquina virtual pueda utilizar un dispositivo recién insertado (suponiendo que la máquina virtual ya ha arrancado), vaya a Dispositivos -> Dispositivos USB -> y seleccione el dispositivo que desee insertar al pc virtual.

### Instalando adiciones a la máquina virtual

Las aplicaciones de la máquina virtual tienen disponible tanto la característica de carpetas compartidas, como un un video mejorado (no 3D) y controladores de ratón. Tendrá integración del ratón, así que no hay necesidad de liberar el ratón después de usarlo en la máquina virtual ytambién se puede disponer de un portapapeles bidireccional.

Después de arrancar la máquina virtual, vaya al menú Dispositivos -> Instalar adicones externas... Una vez haya echo click, VirtualBox carga una imagen ISO en el CD-ROM actual, de manerá que no verá que suceda nada todavía ;)

Haga entonces lo siguiente como root:

    # mount /media/cdrom
    # sh /media/cdrom/VBoxLinuxAdditions.run

Lo anterior construirá e instalará los módulos del kernel, instalará los controladores de Xorg y creará los guiones de inicio. Sacará probablemente mensajes de error acerca de los guiones de inicio, los niveles de ejecución y qué se yo de que más. Ignorelos. Encontrará los archivos `/etc/rc.d/rc.vboxadd` y `/etc/rc.d/rc.vboxvfs` (también crea `/etc/rc.d/rc.local` que puede borrar). Para que las aplicaciones de la máquina virtual se cargen en tiempo de arranque, simplemente tiene que añadir aquellas al array DAEMONS en `/etc/rc.conf` p.ej.

    DAEMONS=(syslog-ng network netfs crond alsa rc.vboxadd rc.vboxvfs)

Nota: Si al mensaje "Installing the VirtualBox Guest Additions..." le siguen multiples mensajes de "Unable to determine your Linux distribution", no se crearán los archivos `rc.vboxadd` y `rc.vboxvfs`. La solución es crear el archivo `/etc/rc.d/rc.local`, y repetir la orden VBoxLinuxAdditions.

    # touch /etc/rc.d/rc.local
    # sh /media/cdrom/VBoxLinuxAdditions.run
    # rm /etc/rc.d/rc.local

Nota: Esto ya está arreglado para la próxima versión 1.5.4 - el instalador de VirtualBox maneja ahora correctamente la jerarquía de la configuración de Arch.

### Compartiendo carpetas entre el anfitrión y la máquina virtual

En la configuración de la máquina virtual vaya a la pestaña de las carpetas compartidas y añada las carpetas que quiera compartir.

Nota: Necesitará instalar adiciones a la máquina virtual para usar esta característica.

En una maquina virtual corriendo Windows, y desde la versión 1.5.0 de VirtualBox, las carpetas compartidas son navegables y son por tanto visibles en el "Explorador de Windows". Ejecute "Explorador de Windows" y búsquelas en:

    Mis sitios de Red --> Toda la Red --> Carpetas compartidas de VirtualBox

Alternativamente, en la línea de órdenes, puede también utilizar lo siguiente:

    net use x: \\vboxsvr\sharename

Mientras que vboxsvr es un nombre fijo, reemplace `x:` por la letra de unidad que quiera utilizar para compartir, y sharename por por el nombre de intercambio especificado con VBoxManage.

En una máquina virtual Linux, utilice la siguiente orden:

    mount -t vboxsf [-o OPTIONS] sharename mountpoint

Reemplace sharename por el nombre de intercambio especificado con VBoxManage, y mountpoint por la ruta donde quiere que se monte el directorio de intercambio (p.ej. `/mnt/share`). Se aplican las reglas habituales de montado, esto es, cree este directorio primero, si no existe ya.

Más allá de las opciones estándar suministradas por la orden mount, están disponibles las siguientes: iocharset CHARSET para establecer el conjunto de caracteres utilizado para operaciones de entrada/salida (utf8 por defecto) y convertcp CHARSET para especificar el conjunto de caracteres utilizado por por el nombre de la carpeta de intercambio (utf8 por defecto).

### Conseguir que funcione el audio en la maquina virtual

En la configuración de la máquina vaya a la pestaña tab y seleccione el controlador alsa.

### Configurando la memoria RAM y de Video para el PC virtual

Puede cambiar los valores por defecto dirigiéndose a Configuración -> General.

### Configurando el CD-ROM para el PC virtual

Puede cambiar los valores por defecto dirigiéndose a Configuración -> CD/DVD-ROM.

Compruebe el montaje del dispositivo de CD/DVD y seleccione una de las siguientes opciones.

### Reconstruir el módulo vboxdrv

Para VirtualBox >= 1.6.0 utiliza el ABS para reconstruir el módulo `vboxdrv` o puedes esperar al mantenedor de paquetes que lo actualice :)

### Conversión de imágenes de VMware

Haga

      pacman -S qemu
      qemu-img convert image.vmdk image.bin
      VBoxManage convertdd image.bin image.vdi

Puede que esto ya no sea necesario para las versiones más recientes de VirtualBox (habrá que confirmarlo)

Category:

- Emulators (Español)