VirtualBox VM – Guest Additions

VirtualBox Guest Additions es un grupo de programas y controladores que se instalan en un sistema operativo huésped dentro de una maquina virtual con el objetivo de mejorar la funcionalidad y rendimiento de dicho sistema.

Los sistemas huésped soportados son:

  • Windows 2000, Server 2008,  NT 4.0, XP, Vista, Seven
  • Fedora Core 4, 5, 6,
  • Red Hat Enterprise Linux 3, 4, 5, 6
  • SUSE Linux 9, 10.1, 10.2, 10.3
  • openSUSE 9, 10.1, 10.2, 10.3
  • Ubuntu 5.10, 6.06, 7.04, 7.10, 8.04, 8.10, 10.04, 10.10, 11.04

Sin embargo otras versiones, y otras distribuciones no mencionadas anteriormente pueden funcionar sin problemas, o pocos problemas, con Guest Additions.

Requisitos:

  • Tener instalado Oracle VM VirtualBox. Hasta la fecha actual (17/05/2011) la última versión disponible es la 4.0.6.
  • Tener instalado algun sistema operativo como huésped.

A continuación se explica que ofrece exactamente Guest Additions y como se instala.

Funcionalidad de Guest Additions


Al instalarse en el sistema operativo huésped, las posibilidades que ofrece son:

  • Integración del ratón: gracias a esto se puede utilizar el mismo puntero del ratón para el sistema huésped y para el sistema anfitrión, no se necesitara de usar la “Host Key” para liberar el control del ratón. Guest Additions lo que hace es instalar un controlador para el ratón en el sistema huésped que se comunica con el controlador del sistema anfitrión permitiendo que el ratón funcione indistintamente en los dos sistemas.
  • Directorios compartidos: es una forma sencilla para compartir archivos entre el sistema anfitrión y el sistema huésped. Se le especifica a la Virtual Box que un directorio del anfitrión será compartido y esta le presenta al huésped acceso a ese directorio, como si estuvieran conectadas en red.
  • Mejor soporte de video: con los controladores que son instalados en el sistema huésped la VirtualBox ofrece mas posibilidades de video y mejor rendimiento. Se puede redimensionar la pantalla de la maquina virtual, la resolución en el huésped es ajustada automáticamente. Los gráficos 2D y 3D para aplicaciones pueden ser acelerados por hardware.
  • Ventanas compartidas: podemos llevar ventanas del sistema huésped al sistema anfitrión como si pertenecieran a este ultimo.
  • Comunicación entre el anfitrión y huésped: se utilizan las “Guest properties” como mecanismo de comunicación entre el sistema anfitrión y huésped. Con esto se puede controlar, configurar o monitorizar el huésped.
  • Sincronización del tiempo: por varios motivos el tiempo en el sistema huésped puede llevar una frecuencia diferente al sistema anfitrión, por ejemplo pausar la maquina virtual congelaría el tiempo. La Guest Additions se encarga de mantener el tiempo sincronizado entre el anfitrión y el huésped.
  • Portapapeles compartido: se puede compartir el contenido del portapapeles del sistema entre el sistema anfitrión y huésped.
  • Inicio de sesión automático: Guest Additions provee módulos para facilitar la autentificación automática del usuario en el inicio del sistema huésped.

Instalación de Guest Additions


Guest Adittions para todos los sistemas soportados  esta disponible en un solo archivo imagen de CD-ROM llamado VBoxGuestAdditions.iso, el cual se encuentra en el directorio de instalación de Oracle VirtualBox en el sistema anfitrión. Para poder iniciar la instalación de Guest Additions se debe de montar este archivo en la maquina virtual como un CD-ROM virtual, el cual será reconocido por el sistema huésped como un disco normal.

Montar Guest Additions como CD-ROM virtual

Para Windows estE seria el primer paso, pero en Linux se deben de realizar otras acciones antes. Tenemos dos opciones para montar Guest Additions como CD-ROM:

  • Opción automatica – En el menú “Devices” de la maquina virtual, seleccionamos “Install Install Guest Additions…“. De esta forma el archivo VBoxGuestAdditions.iso es montado como disco y ya esta listo para ser usado.


  • Opción manual – En el menú “Devices” de la maquina virtual, seleccionamos “CD/DVD Devices…” -> “Choose a virtual CD/DVD disk file…” , se nos abrirá un explorador de archivos donde tenemos que buscar y seleccionar el archivo VBoxGuestAdditions.iso. La ubicación de ese archivo depende del sistema anfitrión, pero siempre se puede encontrar en el directorio de instalación de VirtualBox que por defecto es “C:\Program files\Oracle\VirtualBox” en Windows, y “/opt/VirtualBox/” en Linux y Solaris.

Notas:
* La opción manual es necesaria en caso de que VirtualBox falle al intentar localizar y montar automáticamente el archivo VBoxGuestAdditions.iso. No seria normal que esto ocurriera.
* En caso de que el archivo VBoxGuestAdditions.iso no pudiera ser localizado ni siquiera manualmente, es decir que no estuviese en el sistema, se puede descargar desde este enlace donde hay que seleccionar el directorio correspondiente a la versión de VirtualBox que preferimos y luego dentro buscar el archivo. Tener que realizar esto tampoco seria normal.

Windows

Primero montamos Guest Additions como se explico anteriormente.

Si la opción de auto-inicio (“Auto-start”) esta activada en el huésped Windows, el disco VBoxGuestAdditions.iso al ser montado se ejecutara automáticamente  y aparecerá el asistente de instalación de VirtualBox Guest Additions. Si esto no sucediera, navegamos con el explorador de Windows hacia el contenido del disco CD-ROM y ejecutamos el archivo VBoxWindowsAdditions.exe .

El proceso de instalación en Windows es sencillo, las imágenes que se verán son de un XP, pero los pasos son iguales en otras versiones.

1- El asistente de instalación de VirtualBox Guest Additions nos da la bienvenida, seleccionamos “Next“.

2- Podemos especificar en “Destination Folder:” la ubicacion de destino donde sera instalado la Guest Additions en el sistema huesped. Por defecto se instala en “C:\Archivos de programa\Oracle\VirtualBox Guest Additions“, normalmente no habria necedidad de cambiar el destino. Continuamos con “Next“.

3- Además de Guest Additions, un componente que podemos seleccionar para instalar es el soporte para Direct3D (todavía en estado experimental) el cual solo se puede instalar si el sistema fue iniciado en modo seguro, pero en este caso lo ignorare. Seleccionamos “Install” para comenzamos la instalación propiamente dicha.

4- La instalación comienza.

Dependiendo de la configuración del sistema, se pueden recibir notificaciones advirtiendo que los controladores que están siendo instalados no han sido comprobados como compatibles, o que no tienen firma digital. En cualquier caso aceptamos y continuamos la instalación con “Continuar“.

5- La instalación finaliza. Para que se active la funcionalidad de Guest Additions se necesita reiniciar el sistema, si dejamos seleccionada la casilla “Reboot now” el sistema será reiniciado automáticamente. Cerramos la ventana del instalador con “Finish“.

Luego del reinicio deberíamos de ver un nuevo icono en la barra de tareas, y por supuesto notar el ajuste en las dimensiones de pantalla.

Linux

En el caso de un huésped Linux el proceso de instalación es un poco complejo, en parte por las diferencias entre cada distribución.

Antes de montar Guest Additions como CD-ROM, hay que tener en cuenta que Guest Additions para Linux antes de instalarse requiere que los paquetes para la compilación de módulos de Kernel estén instalados en el Linux huésped. Y aunque no es obligatorio, es recomendable instalar DKMS (Dynamic Kernel Module Support) en las distribuciones en las que este disponible, debe ser instalado antes que Guest Additions. Para preparar el sistema huésped los pasos a seguir son:

1- Actualizar el sistema, ejecutamos con privilegios de super usuario:

Debian

apt-get update
apt-get safe-upgrade

RedHat, CentOs, Fedora

yum update

SUSE, openSUSE

zypper update

Mandriva

urpmi --auto-update

2- Reiniciar el sistema para activar actualizaciones.

3- Instalación de paquetes, ejecutamos con privilegios de super usuario:

Debian, Ubuntu

apt-get install dkms build-essential gcc linux-headers-generics make

RedHat, CentOs, Fedora

yum install dkms binutils gcc make patch libgomp glibc-headers glibc-devel kernel-headers kernel-devel

SUSE

zypper install gcc make automake autoconf kernel-source kernel-syms

openSUSE

zypper install gcc make automake autoconf kernel-source

Mandriva

urpmi dkms gcc make libgomp1 glibc-devel kernel-devel kernel-headers

Notas:
* Verificar que kernel-sources y/o kernel-headers sean de la misma versión que el Kernel utilizado, se puede consultar con uname -r .
* Algunos paquetes pueden ya estar instalados. Eso puede depender de la distribución y de como se haya instalado.
* DKMS no esta disponible en algunas distribuciones. En estos casos, cada ves que se actualice el Kernel del huésped debemos ejecutar con privilegios de super usuario: /etc/init.d/vboxadd setup

4- Ahora ya podemos proceder a montar Guest Additions como se explico anteriormente.

5- En las distribuciones de Linux mas modernas, y dependiendo de la configuración, es probable que al haber montado el disco VBoxGuestAdditions.iso se ejecute un explorador/administrador de archivos o que nos pregunte por la ejecución automática del contenido del disco, esto sucedería típicamente en GNOME, KDE, XFCE, etc. (similar a lo que sucede normalmente en Windows). Por ejemplo en Ubuntu, como se ve a continuación, seleccionamos “Aceptar“.


Seleccionamos “Ejecutar“.

Al ejecutar se nos solicitara autentificarnos como super usuario, y luego comenzara la instalación.

Pero no siempre se cuenta con una interface gráfica o un auto-inicio, no siempre el disco es montado como lo esperamos, e incluso en algunas distribuciones gráficas este proceso visto anteriormente puede fallar.  Por eso a continuación se explica el proceso de instalación a través de la línea de comando, el cual es aplicable en cualquier distribución.

a. Nos desplazamos hacia el contenido del directorio /media/, y listamos el contenido:

user@PC:~$ cd /media/
user@PC:/media$ ls
cdrom VBOXADDITIONS_4.0.6_71416

b. Tenemos dos casos posibles (en mi ejemplo se da el primero):

  • Si encontramos “VBOXADDITIONS_x.x.x_xxxx”: Aquí vemos que el disco de Guest Additions fue montado y pertenece a la versión 4.0.6. Accedemos al disco ejecutando cd VBOXADDITIONS_4.0.6_71416, y saltamos al paso c.
  • Si NO encontramos “VBOXADDITIONS_x.x.x_xxxx”: Esto significaría que tenemos que montar el disco manualmente especificando un punto de montaje, usualmente se realiza en /media/cdrom, aunque en realidad puede ser cualquier directorio. Ejecutamos el siguiente comando con privilegios de super usuario:
mount /dev/scd0 /media/cdrom

   Accedemos al disco ejecutando cd /media/cdrom .

c. Ahora tenemos que ejecutar el script de instalación para Linux, se llama VBoxLinuxAdditions.run, con privilegios de super usuario de lo contrario la instalación fallaría. La sintaxis del comando a ejecutar es:

sh VBoxLinuxAdditions.run <opciones>

Donde <opciones> puede ser:

  • all: instala Guest Additions con todos los componentes. Esta es la opción predeterminada.
  • x11: instala los controladores para el sistema de ventanas x11.
  • kernel-module: instala los componentes del núcleo del kernel.
  • vfs-module: instala los componentes para los directorios compartidos.
  • timesync: instala los componentes para la sincronización del tiempo entre anfitrión y huésped.
  • Control: instala la herramienta de línea de comandos VBoxControl.
  • help: muestra información sobre otras opciones.

Al no especificar ninguna opción se utiliza la predeterminada, que es all, un instalación completa.

user@PC:/media/VBOXADDITIONS_4.0.6_71416$ sudo sh VBoxLinuxAdditions.run
[sudo] password for user:
Verifying archive integrity… All good.
Uncompressing VirtualBox 4.0.6 Guest Additions for Linux………
VirtualBox Guest Additions installer
Removing installed version 4.0.6 of VirtualBox Guest Additions…
Removing existing VirtualBox DKMS kernel modules …done.
Removing existing VirtualBox non-DKMS kernel modules …done.
Building the VirtualBox Guest Additions kernel modules …done.
Doing non-kernel setup of the Guest Additions …done.
You should restart your guest to make sure the new modules are actually used
Installing the Window System drivers
Installing X.Org Server 1.10 modules …done.
Setting up the Window System to use the Guest Additions …done.
You may need to restart the hal service and the Window System (or just restart
the guest system) to enable the Guest Additions.
Installing graphics libraries and desktop services components …done.
user@PC:/media/VBOXADDITIONS_4.0.6_71416$

c. Para que se active la funcionalidad de Guest Additions se necesita reiniciar el sistema.

Nota: el log de instalación queda guardado en “/var/log/vbox-install.log“.

Actualización de Guest Additions


Siempre es conveniente tener instalado en el sistema  huésped la versión de Guest Additions correspondiente a la versión de VirtuaBox que se esta utilizando para virtualizar.

Para actualizar Guest Additions en Windows o Linux, simplemente nos aseguramos de montar como CD-ROM la nueva versión de Guest Additions e instalamos nuevamente como ya se explico antes para cada caso, así los controladores viejos seran reemplazados por sus nuevas versiones. Al terminar reiniciar el sistema.


Más información:
* VirtualBox – Documentation

Descargas:
* VirtualBox – Downloads


, , , , ,

  1. #1 por Alive el agosto 3, 2011 - 2:44 pm

    Hola! he instalado las guest additions en mi virtualbox 4.0.12 (host: Win7 guest:WindowsXP) y tengo una duda. Es necesario estar conectado a Internet para que funcionen las guest additions ya instaladas? Te hago esta pregunta porque cada vez que inicio la maquina virtual ésta se reinicia sola después de unos minutos. Lo curioso es que esto ocurre solo cuando estoy en mi sitio de trabajo y supongo que es por alguna restricción de la conexión de Internet. Desactivé todas las conexiones de red posibles y el problema sigue ocurriendo. No se si podrías ayudarme con esto. Gracias!

    Saludos

    • #2 por Dark[byte] el agosto 3, 2011 - 5:41 pm

      Hola y buenos días. Mira, a mi por ahora no me ah ocurrido lo que estas diciendo, tengo la versión 4.0.6. Sin embargo, en la www hay registros de ese problema, pero no es algo que tenga que ver con la Guest Additions ni tampoco necesitas estar conectado o no a la red, convengamos que se trata de un bug (falla) y esta reportado inclusive desde antes que mi versión. Puede ocurrir que que trates de averiguar el origen del problema fijándote en que programas o que actividades del sistema están en ejecución cuando el sistema se reinicia, y aun así no hay un 100% de certeza. Siempre lo correcto es tener las versiones de Guest Additions y también el Extension Pack (si es que lo usas) correspondientes a la versión de VirtualBox. Y así también es recomendable, no obligatorio, tener la ultima versión de VirtualBox que en este momento es 4.1.0. Creo que lo primero que deberías de hacer, ademas de ser la opción más sencilla, es probar utilizar esta última versión. Y también te dejo acá algunos enlaces al foro de VirtualBox donde se menciona el posible reinicio o congelamiento del huésped: enlace1 , enlace2. En uno de estos enlaces se sugiere desactivar el protector de pantalla y las opciones de administración de energía. Si de ninguna forma podes solucionar el problema, déjale un nuevo post sobre el problema en el foro de VirtualBox con el log de la maquina virtual.
      Mucha suerte y salu2!.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: