lunes, 12 de junio de 2017

Instalar Debian Jesse en equipos con EFI y Windows 10

En el año 2015 publiqué un artículo en el que describía la forma de instalar Debian Jesse en un portátil ASUS con Windows 8.1 instalado, que sigue siendo válido para esos equipos y ese sistema operativo.

En estos dos años que han pasado, la evolución de los equipos y de los sistemas operativos de Microsoft han dejado obsoleto el artículo anterior, sobre todo por la aparición del sistema operativo Windows 10.

En este artículo voy a explicar cómo se instala Debian Jesse en un portátil Toshiba Satellite con Windows 10 instalado.

Preparación para la instalación.

Suponemos que nos hemos descargado la imagen .iso con la versión de Debian Jesse que vamos a instalar.

Los equipos con particiones EFI vienen protegidos para que no se puedan iniciar desde la unidad de CD/DVD. Para quitar esta protección y poder iniciar nuestra instalación con la imagen .iso grabada en un CD-ROM, tenemos que seguir los puntos 1 y 2 del artículo mencionado anteriormente. Importante observar que al final del punto 2 se indica que el arranque del equipo debe dejarse como UEFI Boot.

Instalación.

Para instalar Debian Jesse tenemos que iniciar Windows y, una vez cargado el Escritorio, insertar el CD-ROM con la imagen .iso de Debian Jesse descargada previamente, hacer clic con el botón derecho en el menú Inicio, elegir la opción Ejecutar, escribir la orden shutdown -r -t 0 y pulsar Intro. El sistema se reinicia desde el CD-ROM con la imagen .iso, accediendo al menú con las distintas opciones de instalación. En esta pantalla observaremos que se ha iniciado la instalación en modo UEFI, según se muestra en la siguiente figura.







Si no seguimos estos pasos, la instalación no permite realizarse en modo UEFI y, por lo tanto, las configuraciones que se describirán a continuación no se podrían realizar porque, entre otras cosas, no se crearían los archivos necesarios para configurar el arranque dual en particiones EFI.

A continuación, instalamos el sistema normalmente.

Inicio en Linux después de la instalación.

Después de instalar Debian Jesse el equipo sigue iniciándose en Windows, sin visualizar el menú GRUB.

Para configurar el sistema con arranque dual es necesario iniciar el equipo en Debian, por lo que necesitamos una utilidad que realice esta acción. Yo he utilizado - ¡cómo no! - SUPER GRUB2 DISK. Esta utilidad chequea todas las particiones de arranque de nuestros discos duros y crea un menú para iniciar el sistema desde cada una de ellas.

En mi caso, me he descargado una imagen .iso, la he copiado en un CD-ROM y he iniciado el equipo con este disco. Esta imagen puede iniciar el equipo en modo UEFI, por lo que las configuraciones anteriores son válidas para continuar este proceso.

Al iniciar el equipo con Super Grub2 se muestra un menú en el que debemos hacer clic sobre la opción Detect and show boot methods. Se detectan todas las particiones y archivos de arranque instalados en los discos duros del equipo. En el apartado Operating Systems se muestran todos los archivos que pueden iniciar el equipo. Nosotros vamos a elegir la primera opción, que se refiere al inicio del equipo en Debian (Linux /boot/vmlinuz-...).

Arranque dual en Debian GNU/Linux y Windows 10.

Antes de pasar a configurar el arranque dual es conveniente explicar someramente los gestores de arranque de Windows y de Linux.

Gestor de arranque de Windows.

Desde Windows Vista, Microsoft cambió el gestor de arranque de sus sistemas operativos. Hasta ese momento, el gestor de arranque se incluía en un archivo en modo texto que se podía editar para personalizarlo.

El nuevo gestor de arranque utiliza archivos binarios que no son editables. Para modificar la configuración de arranque hay que ejecutar el comando bcdedit desde el Simbolo del sistema en modo administrador (clic con el botón derecho en el menú Inicio -> Símbolo del sistema (administrador)). La salida de la orden bcdedit en el equipo que estoy utilizando es la siguiente:

Administrador de arranque de Windows 
---------------------------------- 
Identificador           {bootmgr} 
device                  partition=\Device\HarddiskVolume2 
path                    \EFI\Microsoft\Boot\bootmgfw.efi 
description             Windows Boot Manager 
locale                  es-ES 
inherit                 {globalsettings} 
default                 {current} 
resumeobject            {af2e384a-4c7c-11e3-be7c-24fd52d2cfc0} 
displayorder            {current} 
toolsdisplayorder       {memdiag} 
timeout                 30 

Cargador de arranque de Windows 
----------------------------- 
Identificador           {current} 
device                  partition=C: 
path                    \WINDOWS\system32\winload.efi 
description             Windows 8.1 
locale                  es-ES 
inherit                 {bootloadersettings} 
recoverysequence        {af2e384c-4c7c-11e3-be7c-24fd52d2cfc0} 
recoveryenabled         Yes 
isolatedcontext         Yes 
allowedinmemorysettings 0x15000075 
osdevice                partition=C: 
systemroot              \WINDOWS 
resumeobject            {af2e384a-4c7c-11e3-be7c-24fd52d2cfc0} 
nx                      OptIn
bootmenupolicy          Standard

En esta salida vemos que hay dos bloques claramente diferenciados, con los identificadores {bootmgr} y {current}. Este último se refiere al inicio del sistema en Windows 10.

A nosotros el que nos interesa es el que tiene el identificador {bootmgr}, que es el que define el programa que se carga al encender el equipo y, por lo tanto, el que gestiona todo el proceso de inicio del sistema. Este programa se define en la línea path \EFI\Microsoft\Boot\bootmgfw.efi y únicamente realiza la acción de cargar en memoria y ejecutar el programa \EFI\Boot\bootx64.efi, que es el que ejecuta winload.efi. Este último programa es el que realmente inicia el sistema en Windows. Si vemos la salida anterior de la orden bcdedit, en el bloque {current} se define el archivo que inicia Windows, en la línea path \Windows\system32\winload.efi. La línea default {current} del bloque {bootmgr} define el bloque que se va a iniciar de forma predeterminada.

Después de instalar Debian no se muestra el cargador de arranque GRUB porque la línea path \EFI\Microsoft\Boot\bootmgfw.efi no se modifica y, por lo tanto, es este programa, y no GRUB, el que sigue teniendo el control del inicio del sistema. Esto nos da la pista de que es este programa el que tenemos que modificar para que el inicio del sistema lo gestione GRUB y no bcdedit. Más adelante veremos cómo hacerlo, porque tenemos que hacerlo desde Linux.

Gestor de arranque de Linux.

El gestor de arranque en Linux se llama GRUB y el archivo que gestiona el inicio del sistema se denomina /boot/grub/grub.cfg. Este es un archivo editable que se genera con la orden update-grub2, que se ejecuta con privilegios administrativos. Para generar el archivo /boot/grub/grub.cfg, la orden update-grub2 utiliza la configuración incluida en el archivo /etc/default/grub y los scripts incluidos en el directorio /etc/grub.d. Estos scripts son los que añaden las entradas de los sistemas operativos en el menú GRUB y los que indican la ruta absoluta de los archivos que inician el equipo en cada uno de los sistemas. El script que añade la entrada del sistema operativo de Microsoft es el denominado /etc/grub.d/30_os_prober. Este script nos hará falta para configurar el arranque dual adecuadamente.

Esta teoría es válida para instalar Linux en particiones MBR, sin utilizar las particiones EFI. El sistema EFI crea particiones GPT.

Cuando se instala Linux en particiones EFI, se añade el archivo /EFI/debian/grubx64.efi. La función de este archivo es la misma que la del archivo \EFI\Microsoft\Boot\bootmgfw.efi de Microsoft. Es decir, únicamente carga en memoria y ejecuta el archivo /boot/grub/grub.cfg, desde el que se posibilita el arranque en Linux y en Windows 10 (arranque dual). Por lo tanto, la solución para configurar el equipo de forma que el inicio lo gestione Linux y no Windows pasa por indicar que el primer programa que se ejecute al encender el ordenador sea /EFI/debian/grubx64.efi y no \EFI\Microsoft\Boot\bootmgfw.efi. Esta configuración se explica más adelante..

Estructura de directorios EFI.

La partición de arranque del sistema cuando utilizamos el sistema EFI es la segunda partición que crea Windows. La primera partición es la partición de recuperación. Esta partición está oculta en Windows y es /dev/sda1 en Linux. La segunda partición también está oculta en Windows y es /dev/sda2 en Linux.

Una vez iniciado el sistema con el disco Super Grub2 según se ha indicado anteriormente, podemos ejecutar la orden fdisk -l (con un usuario con privilegios administrativos) para consultar todas las particiones. En la salida de esta orden comprobaremos que la partición /dev/sda2 es de tipo EFI System.

Cuando se inicia Debian GNU/Linux, la partición /dev/sda2 está montada en /boot/efi. Esto significa que los accesos a los archivos de configuración del sistema EFI se van a realizar desde el directorio /boot/efi.

A continuación, se describe la estructura de los directorios EFI desde Debian, indicando solo los archivos más importantes, que para nosotros son los que van a intervenir en la configuración del arranque dual.

| /
|    | ---- boot
|           | ---- efi
|                  | ---- EFI
|                          | ---- Boot
|                                  | ---- bootx64.efi
|                          | ---- debian
|                                  | ---- grubx64.efi
|                          | ---- Microsoft
|                                  | ---- Boot
|                                          | ---- bootmgfw.efi
|                                          | ---- bootmgfw.backup
|                          | ---- toshiba

En esta estructura, el archivo /boot/efi/EFI/Microsoft/Boot/bootmgfw.backup es una copia del archivo /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi nada más instalar Debian y no existe después de la instalación, pero lo crearemos como medida de seguridad por si tenemos que restaurarlo posteriormente, por eso lo he incluido en este esquema.                       

Configuración del arranque dual.

La configuración del arranque dual en Debian GNU/Linux y Windows 10 la vamos a realizar desde Linux. Para ello, hay que iniciar el equipo con la imagen Super Grub2, según se ha descrito más arriba.

Todas las operaciones las vamos a realizar con el usuario root desde una Terminal, conectándonos con la orden su y escribiendo su contraseña.

Según se ha descrito en los puntos anteriores, el control del inicio del equipo siempre lo va a tener Windows, que carga y ejecuta el archivo \EFI\Microsoft\Boot\bootmgfw.efi nada más encender el ordenador. La configuración que vamos a realizar consiste en "engañar" a Windows, de forma que cuando ejecute el archivo anterior realmente trabaje con el archivo /EFI/debian/grubx64.efi. Para ello, vamos a hacer una copia de seguridad del archivo \EFI\Microsoft\Boot\bootmgfw.efi en el archivo \EFI\Microsoft\Boot\bootmgfw.backup, ejecutando la siguiente orden (recordar que la partición /dev/sda2 está montada en el directorio /boot/efi; por lo tanto, nos posicionaremos en ese directorio antes de realizar estas acciones):

cd /boot/efi
 
cp EFI/Microsoft/Boot/bootmgfw.efi EFI/Microsoft/Boot/bootmgfw.backup

De esta forma, si algo no funciona, siempre podemos volver a copiar el archivo bootmgfw.backup en el archivo bootmgfw.efi.

Seguidamente, copiamos el archivo EFI/debian/grubx64.efi en el archivo EFI/Microsoft/Bootbootmgfw.efi, utilizando la siguiente orden:

cp EFI/debian/grubx64.efi EFI/Microsoft/Boot/bootmgfw.efi

Con esta configuración, cada vez que el sistema arranque, Windows va a ejecutar el archivo bootmgfw.efi, pero este archivo realmente es grubx64.efi, con lo que conseguimos que se muestre el menú GRUB cuando encendamos el ordenador.

Pero ahora tenemos otro problema. Observemos el bloque del archivo /boot/grub/grub.cfg que inicia el sistema en Windows 10:

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows Boot Manager (en /dev/sda2)' --class windows --class os $menuentry_id_option 'osprober-efi-5237-1DE4' {
    insmod part_gpt
    insmod fat
    set root='hd0,gpt2'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  5237-1DE4
    else
      search --no-floppy --fs-uuid --set=root 5237-1DE4
    fi
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
### END /etc/grub.d/30_os-prober ###


En la línea chainloader /EFI/Microsoft/Boot/bootmgfw.efi vemos que el arranque de Windows apunta al archivo bootmgfw.efi, que realmente es el archivo grubx64.efi. Por este motivo, cada vez que intentemos iniciar el sistema en Wiondws desde el menú GRUB, volverá a mostrarse el propio menú GRUB.

Según se ha indicado más arriba, el archivo bootmgfw.efi de Windows, lo único que hace es llamar al archivo /EFI/Boot/bootx64.efi, que es el que comienza la carga de Windows 10. Por lo tanto, únicamente tenemos que cambiar la línea chainloader para que apunte a /EFI/Boot/bootx64.efi, quedando de la siguiente forma:

chainloader /EFI/Boot/bootx64.efi

Con esta modificación solucionaríamos el problema temporalmente, porque cada vez que se actualice grub.cfg, el sistema volvería a crear el bloque anterior de la misma forma, es decir, apuntando al archivo bootmgfw.efi, debiendo volver a modificar la línea chainloader para dejarla operativa.

Vamos a solucionar este problema de forma definitiva.

En el bloque anterior, vemos que hay unos comentarios al principio y al final del bloque. En estos comentarios observamos que hay una referencia al archivo /etc/grub.d/30_os-prober. Si visualizamos los permisos del directorio /etc/grub.d con la orden ls -l /etc/grub.d, se mostrarán, entre otros, los dos siguientes archivos:

.
.
-rwxr -xr-x ....... 30_os-prober
.
.
-rwxr-xr-x ........ 40_custom


Estos archivos son scripts que generan los bloques correspondientes en el archivo /boot/grub/grub.cfg. El archivo 40_custom está casi vacío (solo tiene activa la línea exec tail -n +3 $0). El resto de líneas son comentarios. Este script se incluye por si queremos personalizar las entradas de menú (líneas que comienzan con la directiva menuentry) del archivo /boot/grub/grub.cfg que apuntan a los inicios de los sistemas operativos. Este es el proceso que nosotros queremos realizar.

Por lo tanto, vamos a copiar el bloque que apunta al inicio del sistema en Windows del archivo /boot/grub/grub.cfg, sin los comentarios, al final del archivo /etc/grub.d/40_custom. Además, hay que modificar, en el archivo /etc/grub.d/40_custom, la línea chainloader /EFI/Microsoft/Boot/bootmgfw.efi por la línea chainloader /EFI/Boot/bootx64.efi. El contenido del archivo /etc/grub.d/40_custom quedaría de la siguiente forma:

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry 'Windows Boot Manager (en /dev/sda2)' --class windows --class os $menuentry_id_option 'osprober-efi-5237-1DE4' {
    insmod part_gpt
    insmod fat
    set root='hd0,gpt2'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  5237-1DE4
    else
      search --no-floppy --fs-uuid --set=root 5237-1DE4
    fi
    chainloader /EFI/Boot/bootx64.efi
}


Seguidamente, hay que quitar los permisos de ejecución al archivo /etc/grub.d/30_os-prober. De esta forma, cuando se ejecute la orden update-grub2 para actualizar el archivo /boot/grub/grub.cfg, se ejecutará el script /etc/grub.d/40_custom - que contiene la creación de la entrada del inicio de Windows en el menú GRUB - y no se ejecutará el script /etc/grub.d/30_os-prober. A continuación, se muestran las órdenes para modificar los permisos del archivo /etc/grub.d/30_os-prober y para visualizar los nuevos permisos, junto con la salida de esta última orden:

chmod 644 /etc/grub.d/30_os-prober

ls -l

.
.
-rw-r--r-- ....... 30_os-prober

Para finalizar, hay que ejecutar la orden update-grub2. El archivo /boot/grub/grub.cfg se habrá generado sin el bloque /etc/grub.d/30_os-prober y habrá incluido el bloque /etc/grub.d/40_custom. He aquí las líneas generadas en este bloque:

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry 'Windows Boot Manager (en /dev/sda2)' --class windows --class os $menuentry_id_option 'osprober-efi-5237-1DE4' {
    insmod part_gpt
    insmod fat
    set root='hd0,gpt2'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  5237-1DE4
    else
      search --no-floppy --fs-uuid --set=root 5237-1DE4
    fi
    chainloader /EFI/Boot/bootx64.efi
}
### END /etc/grub.d/40_custom ###

Hasta aquí nuestra configuración, que debe funcionar sin problemas.

viernes, 26 de mayo de 2017

Ver las características del ordenador en Linux

Para ver las características del ordenador en Linux se puede instalar la aplicación hardinfo. Para ello, hay que ejecutar la siguiente orden:

apt-get install hardinfo

Es una aplicación que ofrece mucha información de todo el hardware del equipo.

Una vez instalada, hay que ejecutar (en el escritorio XFCE) Menú de aplicaciones -> Sistema -> System Profiler and Benchmark.

jueves, 1 de septiembre de 2016

VirtualBox. Instalar las Guest Additions en Linux

Voy a utilizar una máquina virtual con Debian Jessie instalado.

Cuando instalamos un sistema operativo virtualizado con VirtualBox no disponemos de todas las funcionalidades porque la instalación es genérica. Con las Guest Additions vamos a disponer de todas estas funcionalidades como si se tratara de un sistema operativo instalado en una máquina real. Las funcionalidades a las que me refiero son las siguientes:
  1. Portapapeles compartido en modo bidireccional, es decir, entre la máquina real y la máquina virtualizada.
  2. Aceleración gráfica 2D y 3D.
  3. Modos adicionales de visualización (modo fluido - modo seamless, pantalla completa de la máquina virtual sin ocultar las barras de menús de la máquina real -, redimensionamiento automático de la ventana de la máquina virtual, etc.).
  4. Integración del ratón entre la máquina real y la máquina virtual.
  5. Sincronización horaria entre las máquinas real y virtual.
  6. Posibilidad de usar íntegramente los entornos de comandos VBoxControl y VBoxManage para gestionar la máquina virtual desde la máquina real.
  7. Compartición de memoria. En el caso de usar muchos sistemas virtualizados al mismo tiempo, podremos hacer uso de la función compartición de memoria. La función de compartición de memoria identificará trozos de memoria RAM idénticos entre las distintas máquinas virtuales y los solapará. Además, la compartición de memoria permitirá reservar áreas de memoria de una máquina virtual y cederlos al resto de máquinas virtuales. Esta acción se puede realizar con las máquinas virtuales en ejecución. Sin las Guest Additions, para modificar la memoria asignada a las máquinas virtuales, tienen que estar apagadas. Consultar este apartado de la documentación oficial de VirtualBox.
  8. Inicio de sesión automático, que permite configurar un login automático en nuestra máquina virtual a partir de los datos de inicio de sesión de la máquina real.
  9. Utilización de carpetas compartidas entre las máquinas real y virtual.
Estos son los pasos a seguir para instalar correctamente las Guest Additions en una máquina virtual con Debian Jessie instalado. Estas órdenes se ejecutarán en la máquina virtual (suponemos que estamos conectados con el usuario root y no tenemos que ejecutar la orden sudo):

Actualizar el sistema operativo.

Actualizamos los repositorios locales:

apt-get update

Actualizamos el sistema:

apt-get upgrade

Instalar el paquete build-essential. Este metapaquete (paquete de paquetes) contiene una lista informativa de los paquetes que se consideran esenciales para la creación de paquetes Debian. Entre otros paquetes contiene todo lo necesario para crear y compilar programas en C/C++.

apt-get install build-essential

Instalar las cabeceras del núcleo y el paquete dkms. Si no tenemos instaladas las cabeceras del kernel, las Guest Additions no se instalarán correctamente y, por lo tanto, no funcionarán en su totalidad.

apt-get install linux-headers-$(uname -r) dkms

La orden uname-r devuelve el kernel instalado en nuestra versión de Linux. En mi caso, devuelve 3.16.0-4-amd64. Por lo tanto, en la orden anterior estaríamos instalando las cabeceras del siguiente kernel:

linux-headers-3.16.0-4-amd64

En la orden anterior también estamos instalando el paquete dkms. El paquete dkms (Dynamic Kernel Module Support) permite gestionar los módulos ajenos al kernel de forma dinámica. Cuando el sistema se inicia, dkms lleva a cabo una comprobación del kernel en ejecución y de los módulos externos del kernel instalados. Si detecta cambios - normalmente porque se ha actualizado el kernel de la máquina real -, compila de nuevo estos módulos externos con la nueva versión del kernel que se está ejecutando.

Esta acción es muy importante para que las Guest Additions y la máquina virtual en general funcione correctamente. Cuando instalamos una máquina virtual, se crea un kernel "combinado" del sistema operativo instalado en la máquina real y del que se va a instalar en la máquina virtual. Si alguno de estos kernel se actualizan, la máquina virtual puede dar problemas al ejecutarse, incluidas las Guest Additions. Con el paquete dkms el sistema recompila automáticamente el kernel de las máquinas virtuales para evitar estos problemas.

Después de esta instalación hay que reiniciar la máquina virtual.

Instalar el paquete module-assistant. Este paquete se instala después de reiniciar la máquina virtual y se utiliza para compilar e instalar módulos de hardware no soportado por el kernel.

apt-get install module-assistant

Instalar las Guest Additions. Para realizar esta acción vamos a suponer que tenemos la imagen VBoxGuestAdditions.iso  insertada en la unidad CD/DVD de nuestra máquina virtual. Abrimos una Terminal y ejecutamos la siguiente orden:

sh /media/cdrom/VBoxLinuxAdditions.run

Después de la instalación, es necesario reiniciar la máquina virtual.

Con todas estas acciones ya tendremos instaladas correctamente las Guest Additions de VirtualBox en nuestra máquina virtual Debian Jessie.

Gran parte de la información que incluyo en este artículo está tomada del Blog de Tecnología geekland.

miércoles, 30 de septiembre de 2015

VirtualBox. Las carpetas compartidas no se ven.

En la versión 4.3.28 de VirtualBox instalada en Debian 8.0 Jessie, cuando compartimos una carpeta en el equipo anfitrión para acceder a ella desde una máquina virtual Linux (no lo he probado con una máquina virtual Windows), el acceso no es posible porque no se ve en la máquina virtual.

Al instalar las Guest Additions se genera el siguiente error:

The headers for the current running kernel were not found. If the following
module compilation fails then this could be the reason.

Si observamos las líneas siguientes a este mensaje de error, comprobaremos que el módulo que soporta lsa carpetas compartidas no se ha instalado.

Antes de solucionar este problema tenemos que seguir las indicaciones expuestas en este artículo que he publicado en marzo de 2013.

Seguidamente, hay que instalar las cabeceras de la versión del kernel de Linux que estemos utilizando, ejecutando en la máquina virtual la siguiente orden:

apt-get install make gcc linux-headers-$(uname -r)

La salida que genera esta orden es la siguiente:

The headers for the current running kernel were not found. If the following
module compilation fails then this could be the reason.

Building the main Guest Additions module ...done.
Building the shared folder support module ...done.
Building the OpenGL support module ...done.
Doing non-kernel setup of the Guest Additions ...done.
Starting the VirtualBox Guest Additions ...done.
Installing the Window System drivers
Installing X.Org Server 1.16 modules ...done.
Setting up the Window System to use the Guest Additions ...done.
You may need to restart the the Window System (or just restart the guest system)
to enable the Guest Additions.

Installing graphics libraries and desktop services components ...done.

Como vemos en esta salida, se genera el mismo error que al instalar las Guest Additions, pero el módulo que soporta las carpetas compartidas se ha instalado correctamente.

Después de ejecutar la orden anterior hay que reiniciar el sistema.

Para finalizar, hay que ejecutar la siguiente orden en la máquina virtual:

adduser usuario vboxsf, siendo usuario la cuenta de usuario con la que hemos iniciado sesión. El grupo vboxsf es el que tiene privilegios para acceder a las carpetas compartidas. Para que este cambio tenga efecto hay que reiniciar sesión con la cuenta de usuario.

Si queremos que todos los usuarios tengan todos los permisos sobre las carpetas compartidas, hay que ejecutar la siguiente orden:

chmod 777 /media/sf_compartidaVbox

La carpeta compartida en el equipo anfitrión se llama compartidaVbox. En la máquina virtual esta carpeta se monta con el nombre sf_compartidaVbox.

martes, 23 de junio de 2015

Instalar Debian Jessie en equipos con EFI

En la versión Debian Jessie se ha desarrollado una instalación específica para los ordenadores que incorporan la interfaz EFI. Esta interfaz interactúa entre el sistema operativo y el firmware de los componentes básicos que ya viene preinstalado.


La instalación se realiza con el mismo software que nos descargamos para la instalación general, descrita en el punto anterior. Para estos apuntes hemos utilizado la imagen debian-8.0.0-amd64-netinst.iso y un ordenador portátil ASUS con Windows 8.1 instalado. El BIOS de este equipo es del fabricante American Megatrends y la versión es la 203, GOP Versión 2.0.1035 y EC Versión F025080001.



Este tutorial no funciona en un portátil Toshiba Satellite con Windows 10 instalado. La solución para este equipo está en este enlace.


Para poder acceder a esta instalación hay que configurar el sistema previamente e iniciar el equipo con la imagen iso anterior. Algunas de estas configuraciones se pueden realizar desde Windows y otras desde el BIOS. Estos son los pasos que hay que seguir:

  1. Desactivar el inicio rápido

    Esta acción se puede realizar de dos formas:

    • Desde el BIOS: menú Boot y desactivar Fast Boot.
    • Desde Windows: botón derecho en Inicio Windows → Opciones de energía y elegir Comportamiento de los botones inicial apagado, abriéndose la ventana Configuración del sistema. Desactivar las opciones Cambiar la configuración del equipo actualmente no disponible y Activar inicio rápido.

  1. Desactivar el inicio seguro.

    En los sistemas que incluyen la interfaz EFI, no se puede arrancar el equipo desde la unidad de DVD o desde un pendrive o disco duro externo. Esta configuración se denomina Secure Boot, que debe ser desactivada. Esta acción se puede realizar de dos formas:

    • Desde el BIOS: menú Security y desactivar Secure Boot.
    • Desde Windows:

      • Opción 1: Accedemos a Configuración (colocar el cursor en la esquina superior derecha) → Cambiar configuración de PC → Actualizar y recuperar → Recuperación. Pulsamos en Inicio avanzado → Solucionar problemas → Opciones avanzadas → Configuración de Firmware UEFI y reiniciar el equipo. Al reiniciar entrará en el BIOS y desactivaremos Secure Boot.
      • Opción 2: Accedemos a Configuración (colocar el cursor en la esquina superior derecha)Cambiar configuración de PC → Uso general botón Reiniciar ahora en el panel derecho, apartado Inicio avanzado Solucionar problemas → Opciones avanzadas → Configuración de Firmware UEFI y reiniciar el equipo. Al reiniciar entrará en el BIOS y desactivaremos Secure Boot.

    Además, hay que activar la compatibilidad CSM, que permite al sistema comportarse como lo hacía con los BIOS clásicos, es decir, utilizar particiones MBR en lugar de GPT. Esta acción se realiza desde el BIOS: menú Boot → Launch CSM → Enabled. ¡OJO! En un equipo Toshiba Satellite más moderno hay que dejar la opción UEFI Boot.

  1. Cambiar el dispositivo de inicio del equipo.

    Para realizar esta acción hay que insertar el disco de instalación de Debian Jessie en la unidad de DVD.
    Con la configuración de los puntos anteriores, al acceder desde el BIOS al menú Boot y cambiar el dispositivo de inicio del equipo, se mostrará la siguiente opción (esta información es la del ordenador portátil ASUS en el que se han realizado las pruebas; en otros equipos se mostrará otra información): UEFI: MATSHITA DVD-RAM UJ8E1. Esta es la opción que tenemos que seleccionar como primer dispositivo de arranque. Además, se mostrará la opción P2: MATSHITA DVD-RAM UJ8E1. Si elegimos esta última opción, no podremos realizar la instalación de Debian Jessie en sistemas EFI.
    Salimos del BIOS guardando los cambios.

  2. Instalar Debian Jessie en sistemas con la interfaz EFI.

    Después de reiniciar el equipo con la configuración del punto anterior, se visualizará un nuevo menú de instalación, según se muestra en la siguiente Figura:








    Si en el punto anterior hemos seleccionado la opción P2: MATSHITA DVD-RAM UJ8E1 como dispositivo de arranque, se mostrará el instalador habitual, según se muestra en la siguiente Figura:






    He realizado una prueba en un ordenador de sobremesa HP y al pulsar la tecla (en nuestro caso, F9) para presentar el menú con las opciones para iniciar el sistema desde distintos dispositivos, se muestra la opción UEFI: hp DVD-RAM GH80N en el apartado Fuentes de inicio UEFI. Esta opción sólo se muestra si hemos insertado el CD-ROM de instalación de Debian Jessie. Si no lo hemos insertado el apartado Fuentes de inicio UEFI estará vacío. Iniciando el ordenador desde esta opción se mostrará el menú para instalar Debian Jessie en sistemas UEFI.

    Durante la instalación, cuando accedemos a la ventana de particionado, se mostrará la partición de arranque del equipo (suele ser la primera partición y es una partición muy pequeña, de unos 100 Mb) como Partición #1 y con la etiqueta EFI system partition, lo que indica es una partición de tipo Partición del sistema EFI. Si accedemos a los tipos de particiones al modificar o crear una nueva partición, se visualizará este nuevo tipo tipo de partición.

    Agradecimientos especiales a mi alumno del primer curso del Ciclo de Grado Superior Desarrollo de Aplicaciones Multiplataforma JORGE DE LA FUENTE JIMÉNEZ, sin cuya ayuda no hubiera posible la publicación de este artículo

    En junio de 2017 se ha actualizado este artículo con la instalación de Debian Jesse en un portátil Toshiba Satellite con Windows 10 instalado, ya que la instalación descrita aquí no funciona. Ver el nuevo artículo.