Instalar y configurar VirtualBox
Autor: Samuel Calleros
Sitio Web: TuxSoluciones.com.mx
Copyright
Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: 1) Debes reconocer la autoría de la obra en los términos especificados por el propio autor o licenciante. 2) No puedes utilizar esta obra para fines comerciales. 3) Si alteras, transformas o creas una obra a partir de esta obra, solo podrás distribuir la obra resultante bajo una licencia igual a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Nada en esta licencia menoscaba o restringe los derechos morales del autor. Puede ver la Licencia Completa.
El autor no se hace responsable si el usuario o lector hace mal uso de esta información.
¿Porque VirtualBox?
VirtualBox es una aplicación que nos permite ejecutar diferentes Sistemas Operativos simultáneamente en el mismo equipo de manera virtual. La razón para usar VirtualBox es porque es libre (GNU/GPL) y porque funciona bien. Vmware no es software libre.
Instalación
Para instalarlo en Debian etch editar el archivo /etc/apt/sources.list y agregar el siguiente repositorio:
##virtualbox
deb http://www.virtualbox.org/debian etch non-free
Para instalarlo en ubuntu editar el archivo /etc/apt/sources.list y agregar una de las siguientes lineas dependiendo de la versión que tenga:
deb http://www.virtualbox.org/debian gutsy non-free
deb http://www.virtualbox.org/debian feisty non-free
deb http://www.virtualbox.org/debian edgy non-free
deb http://www.virtualbox.org/debian dapper non-free
Descargar la clave publica para el apt-secure de http://www.virtualbox.org/debian/innotek.asc y agregarla con el siguiente comando:
$ wget http://www.virtualbox.org/debian/innotek.asc
# apt-key add innotek.asc
Actualizar la lista de paquetes e instalar VirtualBox:
# apt-get update
# aptitude install virtualbox
Esto instalara VirtualBox y sus dependencias.
Tambien puede instalar VirtualBox descargando del sitio http://www.virtualbox.org/wiki/Downloads el archivo correspondiente a la versión "Debian etch" e instalarlo con "dpkg -i virtualbox_x.x.x-xxxxx_Debian_etch_i386.deb"
Para instalar VirtualBox en otras distribuciones descargue del sitio "http://www.virtualbox.org/wiki/Downloads" la versión que corresponda a la de su distribución e instalelo manualmente.
Configuración
Para poder usar VirtualBox hay que darle permisos al usuario de que lo utilice, para ello editamos "/etc/group" y agregamos nuestro usuario al grupo vboxusers, quedando así:
vboxusers:x:xxxx:nuestro_usuario
A veces esto no es suficiente, por lo que al correr VirtualBox puede marcar un error de escritura en "/dev/vboxdrv". Esto se soluciona nombrando como propietario de "/dev/vboxdrv" a nuestro usuario:
# chown nuestro_usuario:nuestro_usuario /dev/vboxdrv
Reiniciamos el servicio:
# /etc/init.d/vboxdrv restart
Agregar maquinas virtuales
Desde consola, iniciamos VirtualBox con el comando VirtualBox y damos clic en el botón Nueva(new) para agregar una nueva maquina virtual:
- Especificamos el nombre de nuestra maquina virtual y el sistema operativo a instalar.
- Posteriormente seleccionamos la cantidad de memoria RAM a asignar.
- Luego le asignamos el disco duro virtual, como no tenemos ninguno creamos uno; damos clic en el botón Nuevo(new), seleccionamos "Imagen de expansión dinámica", luego el tamaño del disco duro virtual.
- Finalizamos el asistente y listo. Ya tenemos la maquina virtual creada
Ahora solo falta instalar el sistema operativo que deseen. Para ello inserte el CD en el CD-ROM, inicie la maquina creada y siga las instrucciones de instalación presentadas.
Compartir carpetas
Para poder compartir archivos entre el Host Virtual (Invitado) y el Anfitrión es necesario instalar en el Host Invitado la aplicación "virtual box Guest Additions".
Pasos a seguir:
- Instalar "virtual box Guest Additions". Cuando la maquina virtual se este ejecutando, hacer clic en el menú "Dispositivos" y luego en "instalar Guest Additions". Guest Additions es un conjunto de utilidades que mejoran las capacidades del sistema virtualizado, entre ellas el compartir carpetas.
- Apagar la maquina virtual
- Compartir la carpeta en el Host Anfitrión con el comando:
VBoxManage sharedfolder add "Nombre_Maquina_Virtual" -name "nombre_a_mostrar" -hostpath "/ruta/carpeta/compartida"
También se puede compartir desde La configuración de la maquina en La opción "Directorios compartidos"
- Iniciar la maquina virtual.
Para acceder a la carpeta compartida:
- En Windows ejecutar: vboxsvrcarpeta_compartida y luego vaya a "Mi PC" y ahí estará montada el directorio compartido.
También puede mapear la unidad de red con: net use z: vboxsrvNombre_Carpeta_compartida
- En Linux se monta la unidad con:
mount -t vboxsf [-o OPTIONS] Nombre_carpeta_Compartida /ruta/donde/se/desea/montar
Para ver las carpetas que tiene compartidas desde el Host Anfitrión se hace con: VBoxManage list vms o desde las configuraciones de la maquina en la Opción "Directorios compartidos"
Podrá leer y escribir en la carpeta compartida desde la maquina virtual.
Habilitar el Copy-Paste entre el Host Anfitrión y el Invitado
Para poder utilizar esta función es necesario instalar en el Host Invitado la aplicación "virtual box Guest Additions".
En un Host Invitado con Windows cuando la maquina virtual se este ejecutando, haga clic en el menú "Dispositivos" y luego en "instalar Guest Additions".
En un Host Invitado con GNU/Linux se requiere instalar los headers del kernel que se este usando. Para saber el kernel que usamos tecleamos "uname -r". Ejemplo: si tenemos el kernel "2.6.18-5-486" instalamos el paquete "linux-headers-2.6.18-5-486":
# aptitude install linux-headers-2.6.18-5-486
Ahora hacemos clic en el menú "Dispositivos" y luego en "instalar Guest Additions". Esto nos montara un CD-ROM virtual. Nos vamos a /media/cdrom/ e instalamos el paquete VBoxLinuxAdditions.run y luego reiniciamos o apagamos la maquina virtual:
# cd /media/cdrom
# sh VBoxLinuxAdditions.run
# poweroff
Ya que instalamos "virtual box Guest Additions" ahora nos vamos en el administrador de VirtualBox, entramos a la configuración de la maquina virtual, en la opción "General", en la pestaña "Avanzado" en la opción "Portapapeles Compartidos" seleccionamos: "Anfitrión a Huesped", "Huesped a Anfitrión" o "Bidireccional" según lo deseado.
Crear Imágenes de nuestra maquina virtual
Las instantáneas (snapshots) sirven para crear imágenes de la partición del disco duro virtual, la cual puede restaurarse en cualquier momento y regresar la partición y los datos como estaban cuando fue creada la imagen. Para crear una imagen vaya al Menú de la maquina virtual y elija "Maquina" y luego "Tomar instantánea".
Configurar la maquina virtual para que forme parte de la red local.
Para entender mejor como configurar la red es necesario una breve explicación de las posibles configuraciones de la red. Al configurar la red de la maquina virtual se pueden elegir entre las siguientes opciones:
- Not attached (No conectado).- Sirve para desactivar la tarjeta de red virtual, por lo que no tendrá acceso a ninguna red
- NAT .- Sirve básicamente para acceder a Internet, descargar archivos y enviar correos, pero las funciones avanzadas de red no están habilitadas. La maquina virtual obtiene una IP de un router que viene siendo VirtualBox y que funciona como DHCP asignando una IP 10.0.2.0 a la primera interface y 10.0.3.0 a la segunda interface, el trafico de la maquina virtual es transparente.
- Host Interface Networking (Interface Anfitrion) .- Simulación de una red real, el Host puede enviar datos al invitado y viceversa, se puede conectar a la red. Se tiene que crear una interface de red virtual en el Host anfitrión por cada tarjeta (interface) de red que use(n) la(s) maquina(s) virtual(es)
- Internal Networking (Red Interna) .- Similar a "Host Interface Networking", sin embargo el acceso a Internet es limitado, de esta manera se mejora la seguridad y velocidad.
La que nos interesa es "Host Interface Networking (Interface Anfitrion)". Esta configuración sirve para configurar la maquina virtual para forme parte de la red.
Configurar la maquina virtual como Host Interface Networking (Interface Anfitrión)
A grandes rasgos lo que se tiene que hacer para configurar interfaces permanentes en el Host anfitrión con GNU/Linux es:
1.- Crear un puente a la interfaz real. Esto permite compartir la interfaz física entre la interfaz real y la virtual
2.- Por cada tarjeta de red virtual (invitada) usada, debe ser creado un nueva interfaz virtual en el Host padre (llamada tap0 o vbox0 o similar) y agregada esta interfaz al puente.
3.- Finalmente especificar la nueva interfaz en las configuraciones de la tarjeta de red virtual de la maquina virtual.
Ahora presentamos detalladamente los pasos para configurar interfaces permanentes en el Host Anfitrión con Debian y derivadas:
1.- Instalar el paquete "uml-utilities" en el Anfitrión, que contienen herramientas para crear tarjetas de red virtuales y el paquete de utilerías bridge "bridge-utils". Generalmente se instalan con el sistema base.
# apt-get install uml-utilities
# apt-get install bridge-utils
Para que el usuario que ejecutará la maquina virtual tenga acceso a la interfaz, el usuario tendrá que pertenecer al grupo "uml-net" por lo que hay que agregarlo:
# gpasswd -a usuario uml-net
Esto modificara el archivo "/etc/group/" quedando la linea del grupo uml-net así:
uml-net:x:NNN:usuario
2.- Editar el archivo "/etc/network/interfaces" para declarar la interfaz de red virtual a utilizar por el Host Invitado espeficando la interfaz a utilizar (tap0) y usuario que la usara, para ello agregamos las siguientes lineas:
auto tap0
iface tap0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user usuario
Modifique usuario por el usuario que ejecutará la maquina virtual.
Es importante que nuestra interfaz real (ejemplo eth0) este comentada o que no tenga asignada una IP del mismo rango, de lo contrario el Host Anfitrión no saldrá a Internet.
3.- La primera vez que se use, se debe activar el el bridge y la interfaz creada con los siguientes comandos:
# /sbin/ifup tap0
# /sbin/ifup br0
Esto solo es necesario la primera vez, las siguientes veces se activaran automáticamente.
4.- En el archivo "/etc/network/interfaces" hay que declarar el bridge (llamado br0) y agregar la interfaz creada al mismo:
auto br0
iface br0 inet dhcp
bridge_ports all tap0
También, se puede asignar una IP estática dependiendo de las necesidades.
Si hemos seguido correctamente los pasos del 2 al 4, en "/etc/network/interfaces" y deseamos unir a la red dos maquinas virtuales deberíamos tener el siguiente contenido:
auto lo
iface lo inet loopback
#iface eth0 inet dhcp
#auto eth0
auto tap0
iface tap0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user usuario
auto tap1
iface tap1 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user usuario
auto br0
iface br0 inet dhcp
bridge_ports all tap0 tap1
NOTA: las interfaces virtuales declaradas y que formen parte de un bridge no deben tener ninguna dirección IP asignada, por ello se pone "0.0.0.0" en vez de una IP real.
5.- Reiniciamos el servicio networking:
# /etc/init.d/networking restart
6.- Modifique la configuración de la maquina virtual. Esto se hace desde la aplicación VirtualBox, en "Configuraciones", "Red", “Attached to”, modificando un adaptador de red y especificando "Host Interface Networking"/"Interface Anfitrion" y en el campo “Interface name" tecleamos "tap0" o "tap1" dependiendo del nombre de interfaz virtual configurada en "/etc/network/interfaces".
7.- Finalmente vaya al Host Virtual (Invitado) y configure los paramentros de red apropiadamente.
Clonar una maquina virtual.
- Nos ubicamos donde estan guardados los vdi (/home/usuario/.VirtualBox/VDI) y clonamos el vdi con un UUID diferente:
$ cd /home/usuario/.VirtualBox/VDI
$ VBoxManage clonevdi NombreOriginal.vdi NuevoNombre.vdi
- Desde el administrador de VirtualBox creamos una nueva maquina; elegimos el mismo sistema operativo y otro nombre para la nueva maquina, asignamos memoria. En disco duro elegimos existente y elegimos el creado en el paso anterior (NuevoNombre.vdi) y listo ya tenemos una nueva maquina virtual identica.
Biografía
http://virtualbox.org
http://virtualbox.org/download/UserManual.pdf
Última Edición Wednesday, November 07 2007 @ 01:15 AM MST; 28 Hits 
- Inicie sesión o regístrese para enviar comentarios
- 15126 lecturas

Yo lo he probado por ejemplo para probar una opensuse o centos, y fue lentisimo..... en entorno grafico, claro en consola algo menos pero seguia siendo muy pesado.
Y las instalaciones de un windows xp no se porque se me colgaban....... pues si que lo averigue y hacie mas bien poco..... se trata de definir un tamaño de particion lo suficientemente grande para que entre el sistema minimo, por eso el instalador de centos se me quedaba pillado.
Por cierto, buena guia sobre virtualbox que has dejado colega.
Una aclaración. Virtualbox tiene una licencia doble. La
edición OSE está licenciada bajo la GPL v2. La edición
completa (la que normalmente usamos todos) está licenciada
bajo una licencia PUEL (uso personal, evaluacion y uso
academico). Por lo tanto, esta versión es gratuita pero no libre
(Como bien dice en http://virtualbox.org/wiki/Licensing_FAQ),
y no se puede redistribuir.
Por esta razón, en lenny y en sid están empezando a entrar
los paquetes de la version OSE de virtualbox, pero no los de
la version completa. Si me equivoco en esto, por favor,
corregidme.
saludos
---
No es más rico el que más tiene sino el que menos necesita.
Efectivamente, hay dos versiones: una open-source (OSE) y otra de código cerrado. Ambas son casi idénticas, solo se diferencian en algunas características que con el tiempo nos dicen que pasaran a la OSE. Quizás la diferencia más notoria es el soporte USB en la edición de código cerrado que se cae de la OSE.
Aquí tenéis el enlace que explican ambas versiones:
http://www.virtualbox.org/wiki/Editions
Yo he usado ambas (testing) y funcionan igual en cuestión de rendimiento, o por lo menos yo no he notado nada.
Un saludete.
Hola
Simplemente para felicitar por la guia, me base en ella para poder tener las interfaces de red en red con mi host local y las maquinas virtuales.
Aparte otro problema era que a veces hay problemas con el reconocimiento del USB por parte de la VM.
Aca hay una forma interesante de añadir esta caracteristica
http://www.eldemonionegro.com/wordpress/archivos/2007/03/29/virtualizacion-con-virtual-box-%C2%BFproblemas-con-los-usb
Saludos
Respuesta a Hola
Simplemente para felicitar por
Muy util tu guia, me ha servido para aprender a usar el Virtual Box, muchas gracias compañero!
Respuesta a Hola
Simplemente para felicitar por
bueno a mi se me presentaba un problema con la compilacion o algo así (no soy muy entendido en esto pero realmente quería solucionar este problema)
me mandaba que yo debía hacer "/etc/init.d/vboxdrv setup" pero siempre aparecía error y que debía revisar /var/log/vbox-install.log
pero ahi me decía "no tienes permisos" o algo similar
la solución fue instalar "linux-headers-2.6-686", reiniciar el ordenador y hacer
# /etc/init.d/vboxdrv setup (en cuenta superusuario)
ahora me funciona bien
disculparán mi mala gramática y mala manera de describir el problema pero estaba feliz por solucionar un problema que me había acompañado desde que probé con Debian hace ya cuatro meses.
Saludos!
Respuesta a Hola
Simplemente para felicitar por
Hola, vixtor:
Muchísimas gracias por el aporte. USBs funcionando sin problemas en la máquina virtual.
Saludos.
---
Si tus problemas tienen solución... ¿por qué te afliges?
Y si no la tienen... ¿por qué te afliges?
GOD BLESS THE BLUES!
Buenas tardes amigos quiero hacerle una pregunta ?????
Tengo una laptop Toshiba, 256 de Ram, Cpu celeron 1,5, tengo instalado Debian Etch, ademas de windows XP.....
Si Instalara y configurara VirtualBox, la pobre maquina moriria, o tengo que tener una tarjeta de video, ya he leido de virtualBox y me parece interesante..
Saludos desde Venezuela....
Muchas gracias
voy a hacer pruebas .... salu2.
Muchas gracias por el aporte.
Quisiera que me aclaren unas dudas sobre el bridging, porque no termino de comprenderlo.
Si deshabilito la eth0, la maquina host, va a manejar su acceso a la red e internet a traves de una de las interfaces virtuales al igual que la maquina cliente [con tap0 o tap1]?
Si esto es asi, para la interface virtual correspondiente al host, donde debo fijar la configuracion para dejarla etatica?
Gracias
Muchas gracias por el aporte.
Quisiera que me aclaren unas dudas sobre el bridging, porque no termino de comprenderlo.
Si deshabilito la eth0, la maquina host, va a manejar su acceso a la red e internet a traves de una de las interfaces virtuales al igual que la maquina cliente [con tap0 o tap1]?
Si esto es asi, para la interface virtual correspondiente al host, donde debo fijar la configuracion para dejarla etatica?
Gracias
Te comento se deshabilita eth0 porque esta pasa a ser br0(puente de red), es decir en /etc/network/interfaces comentas todas las lineas correspondientes a eth0 y copias y pegas las anteriores lineas sustituyendo eth0 por br0
Es decir por ejemplo
#antes#allow-hotplug eth0
#iface eth0 inet static
# address 192.168.1.2
# netmask 255.255.255.0
# network 192.168.1.0
# broadcast 192.168.1.255
# gateway 192.168.1.1
#Esto seria despues, notese la diferencia
auto br0
iface br0 inet static
address 192.168.1.2
netmask 255.255.255.0
network 182.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
#Esta linea es la importante
bridge_ports eth0
Bien despues de estas modificaciones es necesario añadir las interfaces virtuales con el comando VBoxAddIF del siguiente modo
VBoxAddIF nombre_iface_virtual tu_usuario bridge
en mi caso
VBoxAddIF vbox0 tigreci br0
Explico
el nombre_iface_virtual es lo que se pone en las propiedades de la máquina virtual configurada, tu_usuario puede ser un grupo del sistema GNU/Linux, pero es para indicar quien tiene permisos para usarlo, y bueno bridge creo que no necesita explicación es tu tarjeta de red real, renombrada a br0 (funcionando como puente)
En mi caso despues de hacer un VBoxAddIF, no me funcionaban las conexiones entre máquinas virtuales ni con el host ni al exterior, con lo que despues de ese VBoxAddIF tuve que reiniciar el sistema, y despues de ese reinicio todo funcionó a la perfección, espero que esta aclaración os ayude a mas gente
P.D: Donde yo pongo vbox0, vbox1 es lo que tu llamas tap0 tap1
P.D2: Si quieres crear dos redes virtuales distintas, con otra tarjeta de red se realiza del mismo modo, solo cambiando eth1 por br1 y con VBoxAddIF indicar el bridge correcto en este caso br1, aunque estés añadiendo interfaces virtuales los nombres no deben (y creo que no se pueden) repetir es decir si en una de los bridges ya tienes vbox0 o tap0 no puedes añadir al br1 el mismo nombre
Error con Virltualbox
Buenas les comento que ya al parecer realice todo los pasos de la guía de instalacion pero me da un error adicional y no se como resolverlo aquí se los dejo:
por si les sirve de información estoy utilizando debian lenny, haciendo el lsmod me carga el modulo pero de igual forma me sale ese error:S
The VirtualBox support driver which is running is from a different version of VirtualBox. You can correct this by stopping all running instances of VirtualBox and reinstalling the software..
VBox status code: -1912 (VERR_VM_DRIVER_VERSION_MISMATCH).
Código Resultado:
0x80004005
Componente:
Console
Interface:
IConsole {d5a1cbda-f5d7-4824-9afe-d640c94c7dcf}
Bueno muchas gracias por este artículo me ha sido de mucha ayuda, me ayudó a montar mi máquina virtual winxp sobre mi ubuntu y lo primordial integrarlo a mi red local.
el archivo /etc/netowork/interfaces me quedó así:
-------------
auto lo
iface lo inet loopback
auto tap0
iface tap0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user miusuario
auto br0
iface br0 inet static
address 192.168.0.2
netmask 255.255.255.0
gateway 192.168.0.1
bridge_ports all tap0
----------------------------
Omití la info de eth0 pues que como están comentadas no tienen relevancia aquí. Y como solo tengo una máquina virtual solo cree una interface virtual.
Bien con esa configuración todo me funciona, yo conservo mi ip y además puedo integrar la máquina virtual a la red local, etc. etc.
Mi pregunta es: porqué debo definir una interface nueva (br0) que ocupe el lugar de eth0 , no puedo simplemente, en lugar de crear una nueva interface utilizar la ya existente (eth0), pues bueno ví que si se podía, pero cuando lo hice perdí acceso a internet y a la red en general. Pero no entiendo porqué no dería. Porqué exactamente debo crear una nueva interface (br0) que haga el puente en lugar de utilizar a eth0.
Saludos
Tigreci
Fue clarisimo, muchas gracias!!!
A mi me funcionó dejándolo con NAT, el único detalle es que cuando quiero poner un archivo de la máquina virtual al anfitrión no me deja. También probé el bridge pero después de reiniciar las interfaces y los servicios, la virtual y la anfitrión dejaron de verse, y alternativamente se conectaban a internet según que tocaba, también tuve que tocar las interfaces declaradas en el smb.conf pero así sólo recuperé una parte de la red compartida entre las máquinas con debian, algo rarísimo
. Volví a poner todo como de fábrica y funciona mejor. Otro aspecto que no tienen en cuenta en los tutoriales o en las configuraciones es que todo el mundo no utiliza dhcp, no?
Igualmente tu tutorial me animó y me sirvió. 