Manualinux
http://www.nvu.com http://www.gimp.org InicioPresentaciónActualizacionesManualesDescargasNoticiasAgradecimientoEnlaces

Entornos GráficosAplicaciones

DesarrolloEmuladoresInternetJuegosMultimediaSistema

Emuladores - ScummVMEmuladores - Yabause

Emuladores - VirtualBox




Emuladores - VirtualBox




Copyright

Copyright © José Luis Lara Carrascal  2007-2024   https://manualinux.es



Sumario

Introducción
Preliminares
IASL
VirtualBox
VirtualBox Extension Pack
VirtualBox Guest Additions
Iniciamos VirtualBox
Enlaces




Introducción

Para hablar de VirtualBox conviene aclarar algo fundamental, estamos hablando de un virtualizador y no de un emulador. La diferencia reside en que los emuladores no permiten ejecutar directamente el código del sistema huesped emulado, sino que hacen una translación de las instrucciones de la máquina emulada. VirtualBox lo que hace es crear una máquina virtual del sistema operativo que va a virtualizar ejecutando posteriormente el código de éste sin modificar, esto hace que su funcionamiento sea menos problemático y más rápido que el tradicional sistema de emulación. En este manual trataremos su instalación desde cero, además de la de algunas dependencias requeridas para la misma.



Preliminares

1) Comprobar que la ruta de instalación de los binarios del programa la tenemos en nuestro PATH


Abrimos una ventana de terminal y ejecutamos el siguiente comando:

[jose@Fedora-18 ~]$ echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/jose/bin

Si no aparece entre las rutas mostradas el directorio /usr/local/bin, abrimos un editor de texto y añadimos lo siguiente:

#!/bin/sh

export PATH=/usr/local/bin:$PATH

Lo guardamos con el nombre variables.sh, y lo instalamos en /etc/profile.d.

$ su -c "install -m755 variables.sh /etc/profile.d"

Tenemos que cerrar el emulador de terminal y volverlo a abrir para que la variable de entorno aplicada sea efectiva. Es conveniente guardar una copia de este script para posteriores instalaciones de nuestro sistema, teniendo en cuenta que es el que se va a utilizar a partir de ahora en todos los manuales de esta web, para establecer variables de entorno globales, excepto en aquellas que sólo afectan al usuario, en las que se utilizará el archivo de configuración personal, ~/.bashrc.

La ventaja de utilizar el directorio /etc/profile.d es que es común a todas las distribuciones y nos evita tener que editar otros archivos del sistema como por ejemplo, /etc/profile.

2) Comprobar que la variable de entorno 'XDG_DATA_DIRS' incluye el directorio /usr/local/share

Esta variable se aplica para que los archivos desktop ubicados en un directorio específico del sistema puedan ser leídos por los menús de entornos gráficos como XFce 4, o paneles como LXPanel o Fbpanel. Este aspecto es bastante delicado porque cada distribución es un mundo y lo mejor que podemos hacer es establecer una variable de entorno global que incluya todos los directorios predefinidos del sistema que incluyen archivos desktop, siempre y cuando el directorio /usr/local/share no esté incluido por defecto en la distribución de turno. Para saberlo basta abrir el menú de aplicaciones en cualquiera de los programas antes comentados y comprobar que aparece la entrada correspondiente a la aplicación tratada en este manual. Si no es así, en el mismo archivo /etc/profile.d/variables.sh, añadimos lo que está en rojo:

#!/bin/sh

export PATH=/usr/local/bin:$PATH

export XDG_DATA_DIRS=/usr/share:/usr/local/share:$HOME/.local/share:$XDG_DATA_DIRS

3) Desinstalar versiones anteriores del programa ubicadas en el directorio /usr

Aún en el caso de que la versión a compilar la vayamos a instalar en el mismo directorio que la que proporciona la distribución, siempre se debe desinstalar previamente la versión antigua, para evitar conflictos innecesarios.



IASL

Compilador de Intel indicado para la programación con ACPI.

Instalación

Dependencias

Herramientas de Compilación


Entre paréntesis la versión con la que se ha compilado IASL para la elaboración de este documento.

* GCC - (13.2.0)
* Make - (4.4.1)
* Flex - (2.6.4)
* Bison - (3.8.2)
 


Descarga

acpica-unix-20240321.tar.gz

Extracción  Bloc de Notas Información general sobre el uso de los comandos

$ tar zxvf acpica-unix-20240321.tar.gz
$ cd acpica-unix-20240321/generate/unix

Compilación 

$ make iasl

Instalación como root

$ su -c "make install"



VirtualBox

Instalación

Dependencias

Herramientas de Compilación


Entre paréntesis la versión con la que se ha compilado VirtualBox para la elaboración de este documento.

* GCC - (13.2.0)
* IASL - (20240321)
* Make - (4.4.1)
* Yasm - (1.3.0)
* Pkg-config - (0.29.2)

Librerías de Desarrollo

* Xorg - (7.7 / xorg-server 21.1.13)
   LibX11 - (1.8.9)
   LibXcursor - (1.2.2)
   LibXext - (1.3.6)
   LibXinerama - (1.1.5)
   LibXmu - (1.2.1)
   LibXrandr - (1.5.4)
* ALSA - (1.2.11)
* Curl - (8.7.1)
* GLU - (9.0.3)
* JDK - (1.8.0_401)
* Libcap - (2.69)
* Libdevmapper - (1.02.197)
* Libglvnd - (1.7.0)
* Libgsoap - (2.8.123)
* LibIDL - (0.8.14)
* Libopus - (1.5.1)
* Libpng - (1.6.43)
* Libvpx - (1.14.0)
* Libxslt - (1.1.39)
* Libxml2 - (2.11.7)
* OpenSSL - (3.3.0)
* PulseAudio - (17.0)
* Python - (2.7.18 | 3.12.3)
* Qt5 - (5.15.13)
* SDL - (1.2.15)
* Zlib - (1.3.1)
* Código fuente del kernel - (6.8.6-ml)

Aplicaciones

* Makeself - (2.4.5) [1]

[1] Tenemos que crear un enlace simbólico sin la extensión '.sh' al script, ya que de lo contrario, el script de configuración de VirtualBox no lo detectará. Si por ejemplo, lo tenemos instalado en /usr/local/bin, el comando sería el siguiente:

$ su -c "ln -s makeself.sh /usr/local/bin/makeself"



Descarga

VirtualBox-7.0.16.tar.bz2  |  jdk-8u401-linux-x64.tar.gz  |  VirtualBox-7.0.16_gcc-13.patch

Optimizaciones

$ export {C,CXX}FLAGS='-O3 -march=znver3 -mtune=znver3'

Donde pone znver3 se indica el procesador respectivo de cada sistema seleccionándolo de la siguiente tabla:
* La opción '-march=' establece el procesador mínimo con el que funcionará el programa compilado, la opción '-mtune=' el procesador específico para el que será optimizado. 

* Los valores separados por comas, son equivalentes, es decir, que lo mismo da poner '-march=k8' que '-march=athlon64'.

* En versiones de GCC 3.2 e inferiores se utiliza la opción '-mcpu=' en lugar de '-mtune='.
Valores CPU
Genéricos
Intel
AMD

Optimizaciones adicionales

Optimizaciones adicionales
Graphite
$ export {C,CXX}FLAGS+=' -ftree-loop-linear -floop-strip-mine -floop-block'
IPA
$ export {C,CXX}FLAGS+=' -fipa-pta'

Extracción temporal de JDK 8 (requerido para compilar el soporte de Java y GSOAP)

Utilizaremos esta versión de JDK para compilar el soporte de Java, que produce errores con la última versión de JDK, en la compilación del soporte de GSOAP, al no incluir las últimas versiones de Java, el comando wsimport (retirado de Java a partir de la version 11) y, además, no se detecta de forma correcta la versión de JDK, con lo que se producen también errores en la compilación del soporte directo de Java. Cuando acabemos de compilar el paquete, podemos borrar esta versión de nuestro directorio personal, sin ningún problema, aunque si nos sobra espacio, lo mejor es dejarla para próximas compilaciones.
 
$ tar zxvf jdk-8u401-linux-x64.tar.gz -C $HOME

Extracción y parcheado de VirtualBox

El parche soluciona problemas de compilación con GCC 13.

$ tar jxvf VirtualBox-7.0.16.tar.bz2
$ cd VirtualBox-7.0.16
$ patch -Np1 -i ../VirtualBox-7.0.16_gcc-13.patch

Crear una ubicación temporal de GNU ld en /tmp/bin

La compilación del paquete produce errores con GNU gold. Si esta versión es la predefinida del sistema, crearemos un directorio temporal de ubicación de GNU ld y, posteriormente, lo añadiremos a nuestro PATH. 

$ mkdir -p /tmp/bin
$ cp /usr/bin/ld.bfd /tmp/bin/ld
$ export PATH=/tmp/bin:$PATH

Configuración  Bloc de Notas Información general sobre el uso de los comandos

$ ./configure --with-qt-dir=/usr/local/lib64/qt5 --disable-hardening \
--disable-docs --disable-kmods
$ echo 'VBOX_WITH_WARNINGS_AS_ERRORS :=' > LocalConfig.kmk
$ echo 'VBOX_WITH_TESTCASES :=' >> LocalConfig.kmk
$ echo "VBOX_JAVA_HOME = $HOME/jdk1.8.0_401" >> LocalConfig.kmk
$ echo 'VBOX_ORIGIN = $PWD:/usr/local/VirtualBox' >> LocalConfig.kmk
$ echo "VBOX_GCC_OPT = $CFLAGS" >> LocalConfig.kmk
$ echo 'SDK_VBOX_VPX_LIBS = /usr/local/lib64/libvpx.so' >> LocalConfig.kmk


Explicación de los comandos

--with-qt-dir=/usr/local/lib64/qt5 : Le indica la ruta correcta al directorio donde está instalado Qt5, en el caso de que el script de configuración no lo detecte. En mi caso personal, es /usr/local/lib64/qt5.

--disable-hardening : Desactiva las restricciones de uso del programa, que obligan a crear un grupo de usuarios específico del mismo, ya que el programa sólo aceptará su ejecución al usuario root.

--disable-docs : Desactiva la generación de la documentación del programa.

--disable-kmods : Desactiva la compilación de los módulos del kernel, en el caso de que este último, lo hayamos compilado con Clang. Posteriormente utilizaremos los parámetros adecuados para compilarlos.

echo "VBOX_WITH_WARNINGS_AS_ERRORS :=" > LocalConfig.kmk : Evita que todos los avisos mostrados por GCC sean tratados como errores, lo que impide la correcta compilación del programa.

echo "VBOX_WITH_TESTCASES :=" >> LocalConfig.kmk : Desactiva la compilación de los tests del paquete para reducir el tiempo de compilación y el espacio en disco. 

echo "VBOX_JAVA_HOME = $HOME/jdk1.8.0_401" >> LocalConfig.kmk : Le indica la ruta a la versión de Java, que hemos extraído antes en la raíz de nuestro directorio personal.

echo 'VBOX_ORIGIN = $PWD:/usr/local/VirtualBox' >> LocalConfig.kmk : Modifica la variable de entorno RPATH original del programa, para poder ejecutar VirtualBox, desde un enlace simbólico, sin necesidad de tener que recurrir a la creación de un script de ejecución.

echo "VBOX_GCC_OPT = $CFLAGS" >> LocalConfig.kmk : Sincroniza las variables de entorno de optimización establecidas en el manual, con las variables de optimización utilizadas en el proceso de compilación.

echo 'SDK_VBOX_VPX_LIBS = /usr/local/lib64/libvpx.so' >> LocalConfig.kmk : Le indica la ruta a la librería Libvpx, en el caso, como es el mío, que la tengamos instalada en un directorio que no sea el principal del sistema.

Es conveniente que guardemos el archivo de configuración personal, LocalConfig.kmk, para próximas compilaciones del paquete, nos ahorra tener que volver a crearlo y rellenarlo con los comandos correspondientes.

Parámetros de configuración opcionales

--disable-java : Desactiva el soporte de Java. Si no tenemos instalada la versión de desarrollo de Java, tendremos que añadir este parámetro.

Compilación

$ source env.sh
$ kmk

Parámetros de compilación opcionales

-j$(nproc) : Establece el número de procesos de compilación en paralelo, en función del número de núcleos e hilos que tenga nuestro procesador, tomando como referencia la información mostrada por el sistema con el comando correspondiente. Si nuestro procesador es mononúcleo de un solo hilo, no añadir esta opción.

Compilación de los módulos del kernel

$ cd out/linux.amd64/release/bin/src
$ make CC=gcc LD=ld.bfd

Explicación de los comandos

CC=gcc LD=ld.bfd : Establece los parámetros de compilación con GCC, sustituyendo GNU gold (en el caso de que sea el enlazador dinámico por defecto del sistema), por GNU ld, ya que el primero produce errores de compilación desde hace varias versiones del kernel.

Parámetros de compilación opcionales

CC=clang LD=ld.lld LLVM=1 LLVM_IAS=1 : Si hemos compilado el kernel con Clang, tendremos que utilizar estos parámetros de compilación. La compilación con Clang se debe de hacer como root, en el caso de que hayamos compilado el kernel con la optimización ThinLTO. Por eso incluyo también las variables LLVM y LLVM_IAS que no hacen necesario utilizar la variable LD.

-j$(nproc) : Establece el número de procesos de compilación en paralelo, en función del número de núcleos e hilos que tenga nuestro procesador, tomando como referencia la información mostrada por el sistema con el comando correspondiente. Si nuestro procesador es mononúcleo de un solo hilo, no añadir esta opción.

Instalación de los módulos del kernel

$ su
# make install CC=gcc LD=ld.bfd
# modprobe -a vboxdrv vboxnetadp vboxnetflt

Parámetros de instalación opcionales

CC=clang LD=ld.lld LLVM=1 LLVM_IAS=1 : Si hemos compilado el kernel con Clang, tendremos que utilizar estos parámetros de instalación.

Cada vez que actualicemos el kernel tendremos que ejecutar esta misma operación de compilación e instalación de los módulos. Esto lo haremos (como root) en el directorio final de instalacion del programa, que en este caso es /usr/local/VirtualBox/src. También se puede editar el archivo /etc/rc.local, para que esto se haga de forma automática al inicio del sistema, que es lo que hago yo.

Configuración del inicio de los módulos del kernel

1) Sistemas que utilicen Systemd como sistema de inicio 

Abrimos un editor de texto y añadimos lo siguiente:

vboxdrv
vboxnetadp
vboxnetflt

Lo guardamos con el nombre virtualbox.conf y lo instalamos como root en /etc/modules.load.d.

$ su -c "install -m755 virtualbox.conf /etc/modules.load.d"

2) PCLinuxOS

Abrimos un editor de texto y añadimos lo siguiente:

vboxdrv
vboxnetadp
vboxnetflt

Lo guardamos con el nombre virtualbox y lo instalamos como root en /etc/modprobe.preload.d.

$ su -c "install -m644 virtualbox /etc/modprobe.preload.d"

3) Slackware y derivados

Abrimos con un editor de texto, como root, el archivo /etc/rc.d/rc.local, y añadimos lo que está en rojo:

#!/bin/sh
#
# /etc/rc.d/rc.local:  Local system initialization script.
#
# Put any local startup commands in here.  Also, if you have
# anything that needs to be run at shutdown time you can
# make an /etc/rc.d/rc.local_shutdown script and put those
# commands in there.

# Ufw
if [ -x /etc/init.d/ufw ]; then
/etc/init.d/ufw start
fi

# VirtualBox
/sbin/modprobe -a vboxdrv vboxnetadp vboxnetflt


Crear una regla para Udev para establecer correctamente los permisos de lectura y escritura para todos los usuarios en /dev/vbox*

Desde la versión 4, aunque compilemos VirtualBox con la opción '--disable-hardening', ésta no habilita los correspondientes permisos de lectura y escritura para todos los usuarios para los dispositivos /dev/vbox*, con lo que, cuando intentemos iniciar la máquina virtual configurada, ésta nos mostrará un mensaje de error de acceso al módulo del kernel.

Mediante la creación de las correspondientes reglas para Udev, solventaremos este problema. Abrimos un editor de texto, como root y añadimos lo siguiente:

KERNEL=="vbox*", MODE="0666"

Lo guardamos con el nombre 60-vbox.rules.

Crear el grupo de usuarios vboxusers (si no existe) y añadir nuestra cuenta personal para un correcto funcionamiento de dispositivos USB como los discos duros externos.

# groupadd -rf vboxusers
# groupmems -g vboxusers -a jose

Donde pone jose, poner el nombre de usuario de cada uno.

Editar el archivo de reglas para Udev que hemos creado antes y dejarlo como está abajo:

KERNEL=="vbox*", MODE="0666"
SUBSYSTEM=="usb_device", ACTION=="add", RUN+="/usr/local/VirtualBox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}"
SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN+="/usr/local/VirtualBox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}"
SUBSYSTEM=="usb_device", ACTION=="remove", RUN+="/usr/local/VirtualBox/VBoxCreateUSBNode.sh --remove $major $minor"
SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN+="/usr/local/VirtualBox/VBoxCreateUSBNode.sh --remove $major $minor"

Lo guardamos y lo instalamos como root en /etc/udev/rules.d y actualizamos las reglas con el comando correspondiente:

# install -dm755 /etc/udev/rules.d
# install -m644 60-vbox.rules /etc/udev/rules.d
# udevadm control --reload-rules && udevadm trigger

Instalación final de VirtualBox  Bloc de Notas Información general sobre el uso de los comandos

VirtualBox no tiene script de instalación, así que lo tendremos que hacer de forma manual. Si tenemos una versión anterior del programa instalada de acuerdo a este manual, la renombramos.

$ su -c "mv /usr/local/VirtualBox{,-7.0.14}"

$ su
# install -dm755 /usr/local/VirtualBox
# cp -dRf --no-preserve=ownership out/linux.amd64/release/bin/* /usr/local/VirtualBox
# find /usr/local/VirtualBox -type f -perm -755 | xargs strip --strip-unneeded &> /dev/null
# mkdir -p /usr/local/bin
# ln -sf /usr/local/VirtualBox/VirtualBox /usr/local/bin/virtualbox
# cd out/linux.amd64/release/bin/icons
# for i in /usr/local/share/icons/hicolor ; do \
install -dm755 $i/{16x16,24x24,32x32,48x48,64x64,72x72,96x96,128x128,256x256,scalable}/apps ; \
install -m644 16x16/virtualbox-vbox.png $i/16x16/apps/virtualbox.png ; \
install -m644 24x24/virtualbox-vbox.png $i/24x24/apps/virtualbox.png ; \
install -m644 32x32/virtualbox-vbox.png $i/32x32/apps/virtualbox.png ; \
install -m644 48x48/virtualbox-vbox.png $i/48x48/apps/virtualbox.png ; \
install -m644 64x64/virtualbox-vbox.png $i/64x64/apps/virtualbox.png ; \
install -m644 72x72/virtualbox-vbox.png $i/72x72/apps/virtualbox.png ; \
install -m644 96x96/virtualbox-vbox.png $i/96x96/apps/virtualbox.png ; \
install -m644 128x128/virtualbox-vbox.png $i/128x128/apps/virtualbox.png ; \
install -m644 256x256/virtualbox-vbox.png $i/256x256/apps/virtualbox.png ; \
install -m644 scalable/virtualbox.svg $i/scalable/apps/virtualbox.svg ; \
gtk-update-icon-cache -tf $i &> /dev/null ; \
done

Explicación de los comandos

install -dm755 /usr/local/VirtualBox : Crea el directorio de instalación del paquete.

cp -dRf --no-preserve=ownership out/linux.amd64/release/bin/* /usr/local/VirtualBox : Copia la instalación del programa a dicho directorio, otorgando los permisos al usuario root.

find /usr/local/VirtualBox -type f -perm -755 | xargs strip --strip-unneeded &> /dev/null : Con este comando, eliminamos los símbolos innecesarios para la ejecución del programa, reduciendo casi un 70 %, el espacio que ocupa el programa en nuestro disco.

ln -sf /usr/local/VirtualBox/VirtualBox /usr/local/bin/virtualbox : Crea un enlace simbólico al ejecutable principal del programa, en /usr/local/bin, para poder ejecutarlo desde línea de comandos. 

cd out/linux.amd64/release/bin/icons : Accede al directorio de los iconos para ejecutar el comando siguiente de instalación de los mismos en nuestro sistema.

for i in /usr/local/share/icons/hicolor..... : Instala los iconos del programa, en sus diferentes medidas compatibles con el estándar de tamaño de icono de freedesktop.org.

Si comprobamos que la nueva versión funciona bien y no da problemas, borramos la anterior:

$ su -c "rm -rf /usr/local/VirtualBox-7.0.14"

Creación del archivo virtualbox.desktop

Para que VirtualBox sea detectado por los menús de entornos gráficos como XFce 4 o paneles como LXPanel o Fbpanel, creamos el archivo desktop correspondiente con cat o un editor de texto: 

$ cat > virtualbox.desktop << "EOF"
[Desktop Entry]
Name=VirtualBox
GenericName=Máquina Virtual
Comment=Un software virtualizador de sistemas operativos
Exec=virtualbox
TryExec=virtualbox
Icon=virtualbox
Categories=Application;System;Emulator
MimeType=application/x-virtualbox-vbox;application/x-virtualbox-vbox-extpack;application/x-virtualbox-ovf;application/x-virtualbox-ova;
Type=Application
EOF

Luego, lo instalamos como root en /usr/local/share/applications. La desinstalación y respaldo de este archivo viene incluida en los scripts correspondientes proporcionados en este manual.

$ su
# install -dm755 /usr/local/share/applications
# install -m644 virtualbox.desktop /usr/local/share/applications
# update-desktop-database

Estadísticas de Compilación e Instalación de VirtualBox

Estadísticas de Compilación e Instalación de VirtualBox
CPU AMD Ryzen 5 5500
MHz 3600 (BoostMax=4457)
RAM 32 GB
Tarjeta gráfica AMD Radeon RX 580 2048SP
Controlador de gráficos AMDGPU 23.0.0
Sistema de archivos XFS
Versión del Kernel 6.8.6-ml SMP PREEMPT_DYNAMIC x86_64
Modo de frecuencia de la CPU powersave (balance performance)
Planificador de CPU BMQ
Versión de Glibc 2.39
Enlazador dinámico GNU ld (GNU Binutils 2.42)
Compilador GCC 13.2.0 + Ccache 4.9.1
Parámetros de optimización -03 -march=znver3 -mtune=znver3 -ftree-loop-linear -floop-strip-mine -floop-block -fipa-pta
Parámetros de compilación -j12
Ocupación de espacio en disco del proceso de compilación 4,9 GB
Tiempo de compilación 9' 02"
Archivos instalados 1.605
Mostrar/Ocultar la lista de archivos instalados
Enlaces simbólicos creados 1
/usr/local/bin/virtualbox
Ocupación de espacio en disco [1] 298,8 MB

[1] Se computa también el espacio ocupado por el paquete añadido que se instala en la sección correspondiente de este manual.

Consumo inicial de CPU y RAM de VirtualBox

Consumo inicial de CPU y RAM de VirtualBox
Programa
CPU RAM
virtualbox 0 % 423,7 MB
VBoxSVC 0 % 30,3 MB
VBoxXPCOMIPCD 0 % 10,3 MB
TOTAL 0 % 464,3 MB
Para medir el consumo de CPU se utiliza el programa top, y para medir el consumo de RAM se utiliza el script de Python, ps_mem.py, creado por Pádraig Brady, que podemos encontrar en este enlace.

Directorio de configuración personal

~/.config/VirtualBox Es el directorio de configuración personal de VirtualBox en nuestro home

Desinstalación como root

1) MODO TRADICIONAL

*************************

2) MODO MANUALINUX  

VirtualBox-7.0.16-scripts.tar.gz

$ su
# tar zxvf VirtualBox-7.0.16-scripts.tar.gz
# cd VirtualBox-7.0.16-scripts
# ./Desinstalar_VirtualBox-7.0.16

Copia de Seguridad como root

Con este otro script creamos una copia de seguridad de los binarios compilados, recreando la estructura de directorios de los mismos en un directorio de copias de seguridad (copibin) que se crea en el directorio /var. Cuando se haya creado el paquete comprimido de los binarios podemos copiarlo como usuario a nuestro home y borrar el que ha creado el script de respaldo, teniendo en cuenta que si queremos volver a restaurar la copia, tendremos que volver a copiarlo al lugar donde se ha creado.

$ su
# tar zxvf VirtualBox-7.0.16-scripts.tar.gz
# cd VirtualBox-7.0.16-scripts
# ./Respaldar_VirtualBox-7.0.16

Restaurar la Copia de Seguridad como root

Y con este otro script (que se copia de forma automática cuando creamos la copia de respaldo del programa) restauramos la copia de seguridad como root cuando resulte necesario.

$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_VirtualBox-7.0.16



VirtualBox Extension Pack

Con la instalación de este paquete adicional, le añadimos soporte de dispositivos USB 2.0 y cifrado de datos, a VirtualBox, entre otra serie de características. Más información en este enlace.

Descarga

Oracle_VM_VirtualBox_Extension_Pack-7.0.16.vbox-extpack

Instalación como root

$ su -c "/usr/local/VirtualBox/VBoxManage extpack install \
Oracle_VM_VirtualBox_Extension_Pack-7.0.16.vbox-extpack"



VirtualBox Guest Additions

Este paquete se instala en el sistema virtualizado y nos permite, entre otras series de características, poner la máquina virtual a pantalla completa, teniendo en cuenta la resolución nativa del sistema anfitrión, al instalar controladores gráficos adicionales en el sistema virtualizado. Como explican en este ticket abierto de notificación de errores de VirtualBox, la descarga e instalación automática de éstas da error y, por lo tanto, tendremos que descargarlas de forma manual y añadirlas como unidad óptica en la configuración de la máquina virtual. Una vez la hayamos añadido, ya podemos instalarlas desde el menú de la interfaz de VirtualBox, cuando estamos corriendo el sistema virtualizado. Una vez instaladas las ejecutamos desde la ubicación en la que aparecen las particiones y dispositivos de almacenamiento disponibles en el sistema virtualizado.

Otra cosa muy importante a tener en cuenta, si utilizamos Nouveau como controlador de gráficos, es que si activamos la aceleración 3D en la configuración de pantalla, el controlador gráfico WDDM, no se carga correctamente, y todo el aspecto gráfico se hace por software. Para evitar esto, desactivamos la aceleración 3D y, por lo menos, sí que tendremos aceleración 2D.

En administradores de ventanas como Fluxbox, la entrada de texto en el sistema virtualizado (por ejemplo, Windows 10) no es funcional, cuando ponemos a pantalla completa, el mismo. Esto se soluciona añadiendo lo siguiente al final del archivo de configuración, ~/.fluxbox/apps,

[app] (name=VirtualBoxVM) (class=VirtualBoxVM)
  [Fullscreen]    {yes}
[end]

Cuando iniciemos la máquina virtual correspondiente, seleccionamos la resolución deseada en la ventana de VirtualBox (que se mostrará a pantalla completa sin decoración de ventana y solapando la barra de herramientas de Fluxbox) y, posteriormente, ocultamos la barra de menú y la de estado. Para activar el menú contextual de VirtualBox, basta con ejecutar el atajo de teclado "Control Derecho + Inicio".



Iniciamos VirtualBox

Sólo nos queda teclear en una terminal o en un lanzador el comando virtualbox, y el programa aparecerá en la pantalla:


Captura VirtualBox - 1


Captura VirtualBox - 2




Enlaces


https://www.virtualbox.org >> La web de VirtualBox.


Foro Galería Blog


Actualizado el 17-04-2024

Emuladores - VirtualBox

Emuladores - ScummVMEmuladores - Yabause