Saltar al contenido

Agregador de Contenidos Agregador de Contenidos

Instalación del SRP

Este documento explica como instalar el Sistema de Restauración de Particiones(SRP) en un equipo.

Los script del SRP se diseñaron para una distribución de particiones muy concreta que se utiliza en la elaboración de algunas de las maquetas de la Comunidad de Madrid. Estos equipos llevan arranque dual lo que permite iniciarlos en Windows ó MAX(la distribución linux de la Comunidad de Madrid). Por ello el SRP está configurado por defecto para trabajar con la siguiente distribución de particiones, en otros escenarios puede ser necesario modificar los menús de Grub o adaptar algún script:

Distribución de particiones para el SRP.

Las dos primeras particiones corresponden a Windows 7, la de arranque que esta oculta y la propia de Windows que normalmente se etiqueta como "C:". Luego se crea una extendida donde se instala Linux con su partición de swap. Opcionalmente también puede ir aquí una partición de datos. Finalmente existe otra partición en formato ext4 para el SRP.

El sistema utiliza un sector de arranque de tipo ms-dos, lo que limita las particiones primarias a cuatro, en nuestro caso vemos que ya se han utilizado las cuatro: Las dos de Windows, la extendida(se considera como primaria) y la del SRP. De momento no hay versión del SRP para UEFI, por lo que se deben instalar los sistemas operativos en modo no UEFI.

Hay que instalar Windows antes de instalar el SRP ya que Windows modifica el MBR(el primer sector del disco) y se pondría como cargador principal anulando la instalación del Grub del SRP. Luego es indiferente instalar el SRP o Linux, lo que sí hay que tener en cuenta es que van a convivir dos versiones de grub, la del SRP y la del Linux que se instale, por ello es importante cuando se instale el sistema operativo Linux seleccionar como partición de instalación para el Grub la misma donde se está instalando el Linux, que en nuestra distribución de particiones corresponde a la sda5. De esta forma queda libre el primer sector de arranque(sda) para instalar el grub del SRP ya que va a ser él el que tenga el control sobre qué sistema operativo iniciar.

Resumimos la distribución de particiones, es importante que los nombres de dispositivo "/dev/sdaX" coincida con la partición que se indica ya que los scripts del SRP esperan encontrar en ese dispositivo dicha partición:

(primaria) /dev/sda1 = Windows 7(Reservado para el sistema)
(primaria) /dev/sda2 = Windows 7(C:)
(primaria) Partición lógica
  (logica) /dev/sda5 = MAX
  (logica) /dev/sda6 = swap
  (logica) /dev/sda7 = Datos
(primaria) /dev/sda4 = SRP(Sistema de Restauración de Particiones)

Después de instalar Windows es recomendable con el gparted del SystemRescueCD crear la estructura de particiones mostrada siguiendo el mismo orden, la partición lógica para Linux, swap, Datos(opcional) y por último la del SRP.



Software necesario

Descargarse la ISO de la versión del SystemRescueCD 3.1.1 del siguiente enlace:

http://sourceforge.net/projects/systemrescuecd/files/sysresccd-x86/3.1.1/systemrescuecd-x86-3.1.1.iso/download

Descargarse el fichero del SRP del enlace que hay al final de este documento. A lo largo de este documento nos referiremos a este fichero como "srp_AAAA-MM-DD.tar.gz" donde AAAA-MM-DD corresponde con el Año-Mes-Día de la versión del SRP.


Procedimiento de instalación

1º Instalar Windows y dejar espacio para el resto de las particiones o redimensionar su partición después de la instalación si es necesario.

2º Grabar la ISO del SystemRescueCD e iniciar el equipo con ella. En el menú de selección del SystemRescueCD elegir la primera opción, si tenemos algún problema con el arranque podemos probar las otras opciones que tiene:

Menú de inicio del SystemRescueCD

Si el equipo tiene arranque UEFI el menú que se muestra es el de la siguiente imagen:

Menú de arranque en modo UEFI des el cual no hay que iniciar el SystemRescueCD

No debemos utilizar este menú para iniciar el SystemRescueCD ya que el SRP no está de momento probado en modo UEFI. Para iniciar el menú en modo normal hay que forzar al equipo a que pregunte por el dispositivo de arranque, para ello hay que pulsar una tecla al encender el equipo, esta tecla varía según el modelo de equipo, consulte su documentación. Otra opción es desactivar el arranque UEFI en la BIOS.

Durante la carga del SystemRescueCD preguntará por el idioma, ponemos el número 13 para el español. Al terminar la carga estaremos en el símbolo de la consola de comandos:

Consola de comandos del SystemRescueCD

2º Ejecutar "startx" para iniciar el entorno gráfico, utilizaremos GParted para preparar el resto de particiones, crearemos la extendida con las particiones para Linux, la swap, opcionalmente la de datos y finalmente la del SRP en formato ext4. Después de preparar las particiones podemos ir al menú "Inicio > logout" para volver al terminal en modo texto o continuar en el terminal gráfico, como prefiramos:

Icono del GParted en las XWindows del SystemRescueCD

Cómo cerrar la sesión gráfica

3º Montamos la partición destino del SRP, es decir, la que se va a utilizar para guardar los backups y la que va a contener el Grub y los ficheros del SystemRescueCD. Si hemos seguido el particionamiento propuesto esta partición coincidirá con el dispositivo "/dev/sda4":

mount /dev/sda4 /mnt/backup

4º Copiamos todo el contenido del CD del SystemRescueCD a la partición del SRP:

cp -r /livemnt/boot/* /mnt/backup

5º El CD contiene la carpeta /boot/grub que también se ha copiado al disco pero no nos vale su contenido ya que no contiene el Grub que necesitamos, así que borramos esta carpeta:

rm -rf /mnt/backup/boot/grub

5º Ahora tenemos que acceder al fichero "srp_AAAA-MM-DD.tar.gz", para ello lo copiamos a una memoria USB y lo conectamos al equipo. Para averiguar el nombre de dispositivo que ha dado linux al USB podemos utilizar el comando blkid:

Comando blkid para averiguar el nombre del dispositivo dado a la memoria USB.

La etiqueta de la partición de mi USB se llama "USB-TDK-4GB" por lo que mirando la línea donde aparece dicha etiqueta averiguo que el dispositivo es el "/dev/sdb1" por lo que para montar el USB ejecuto el siguiente comando:

mount /dev/sdb1 /mnt/custom

4º Descomprimimos el fichero "srp_AAAA-MM-DD.tar.gz" en la partición del SRP(ojo que el parámetro "-C" se escribe en mayúsculas), le indicamos la ruta donde lo copiamos, en mi caso lo tengo en una carpeta que se llama "srp" dentro del USB:

tar xzpvf /mnt/custom/srp/srp_2014-06-03.tar.gz -C /mnt/backup

5º Instalamos el cargador de arranque grub2:

grub2-install --no-floppy --root-directory=/mnt/backup /dev/sda

Comando de instalación del Grub2
Con esto el proceso de instalación ha terminado.

6º Desmontamos la memoria USB para poder extraerla de forma segura, para ello ejecutamos "umount /mnt/custom", extraemos la memoria USB, el CD y reiniciamos el equipo con el comando "reboot". Al reiniciar debemos ver el menú del SRP que por defecto dura cinco segundos e inicia la opción de Windows. Pulsar una tecla para detener la cuenta atrás:

Menú principal del SRP

Cargar el menú de tareas de mantenimiento

Menú de mantenimiento, permite iniciar el SystemRescueCD y crear los backups de fábrica.

El menú de mantenimiento no es accesible desde el menú principal o alguno de sus submenús. Se ha aislado para no confundir al usuario con opciones que ellos raramente van a utilizar, por ello este menú es necesario cargarlo manualmente. Por medio de este menú podemos iniciar el SystemRescueCD instalado en el disco(ya no es necesario el CD) y generar backups de fábrica(ya que estos no se permite que los pueda generar el usuario).

Para cargar este menú hay que pulsar la letra 'c' desde el menú principal del SRP, con esta orden salimos a la consola del Grub pero está protegido con contraseña, el usuario y contraseña por defecto es respectivamente "madrid" y "cmadrid".

Nota: No se muestra ningún tipo de carácter cuando se escribe la contraseña, obviamente por seguridad. Si nos equivocamos en algún carácter no podemos modificar(retroceder) debido a que el teclado en esta interfaz tiene una funcionalidad limitada.

Una vez en la consola de Grub ejecutar el siguiente comando para cargar el menú:

configfile /srp/menus/menuman.cfg

Cómo cargar el menú de mantenimiento.


Cuando iniciemos el SystemRescue del disco duro una de las tareas que ya se ha automatizado es montar la partición de backup por lo que directamente estará accesible en el punto de montaje "/mnt/backup".

Modificar los menús de Grub

Como vamos a ver en los puntos sucesivos nos va a interesar modificar ciertos aspectos de los menús de Grub. Los menús se encuentran en la ruta "/mnt/backup/srp/menus". Este es el contenido del directorio de menús:

Listado del directorio de menús.

Los menús son ficheros de texto que podemos modificar con el editor de texto "nano", por ejemplo:

nano menuprincipal.cfg

Editor de texto nano.

Describimos un uso básico. Con las flechas de dirección nos movemos por el documento. Para grabar los cambios pulsar CTRL+X, confirmar con 'y' y pulsar INTRO para grabar con el mismo nombre de fichero. Con CTRL+K cortamos una línea y con CTRL+U pegamos la última línea cortada.

Modificar el menú de información

Pantalla de información sobre el tipo de maqueta.

En el menú principal tenemos la opción de "Información..." la cual muestra una pantalla con información relativa a la maqueta realizada. Viene rellena con una información de ejemplo que nos interesará modificar. Para ello iniciamos el SystemRescue(desde el menú de tareas de mantenimiento) y editamos el fichero "/mnt/backup/srp/menus/menuprincipal.cfg":

nano /mnt/backup/srp/menus/menuprincipal.cfg

Edición del fichero para modificar la información de la maqueta.


Podemos modificar, eliminar o añadir más líneas de tipo "echo" pero en cualquier caso hay que tener cuidado de no modificar el resto de líneas del fichero que son significativas para mostrar el menú principal.

Cambiar nombre y contraseña de los usuarios de acceso

El sistema viene configurado con dos usuarios. El usuario "madrid" con contraseña "cmadrid" y el usuario "consejeria" con una contraseña reservada. La contraseña del usuario "madrid" es el único cambio que se permite hacer desde el menú de opciones avanzadas. Esta contraseña es sólo temporal y se advierte al usuario final para que la cambie lo antes posible.

Para modificar cualquier otro dato de los usuarios hay que iniciar el SystemRescue y editar el fichero "/mnt/backup/srp/menus/menuprincipal.cfg", encontraremos al inicio del fichero las siguientes líneas:

Configuración de los usuarios de acceso en el fichero menuprincipal.cfg

La línea "set superusers" declara los nombres de los usuarios que se van a utilizar. Las líneas que empiezan por "password" establecen la contraseña del usuario correspondiente. Para cambiar un usuario hay que modificar su nombre en la línea "set superusers" y en la linea "password" correspondiente. Observamos que la contraseña del usuario "madrid" está en plano, es decir, se puede leer directamente. El script que cambia esta contraseña realmente modifica esta línea y no se utilizó codificación debido a un problema detectado en el comando que codifica las contraseñas, en un futuro se espera que también se pueda codificar.

La contraseña del usuario "consejeria" sin embargo sí se ha codificado ya que no se modifica desde ningún script. La parte que empieza por "grub.pbkdf2..." corresponde a la contraseña codificada. Para generar una contraseña codificada se utiliza el comando "grub2-mkpasswd-pbkdf2":

Generar una contraseña codificada.

Escribir la contraseña a mano en el fichero de menú puede ser algo tedioso así que podemos redirigir la salida del comando para que la añada al final del fichero:

Redirigir el comando grub2-mkpasswd-pbkdf2 para grabar la contraseña en el fichero de menu

Tenemos que tener en cuenta que se redirige todo el texto por lo que tampoco aparecen los mensajes para introducir la contraseña, en cualquier caso el programa está esperando y tenemos que introducir la contraseña, pulsar INTRO, repetir la contraseña y volver a pulsar INTRO. Editamos el fichero y comprobamos que en las últimas líneas tenemos los datos:

Contraseñas añadidas al fichero menuprincipal.cfg

Hay que eliminar la línea "Enter password:" y "Reenter password:" y en la línea final sólo nos interesa la parte que va desde "grub.pbkdf2..." hasta el final, por lo que hay que suprimir las primeras palabras. Con CTRL+K cortamos la línea y la pegamos arriba con CTRL+U. Diferenciar que la orden con la que se indica a Grub que va a ser una contraseña encriptada es "password_pbkdf2".

Cambiar los fondos de los menús

Para cambiar los fondos iniciar el SystemRescue e ir la ruta "/mnt/backup/srp/fondos". Encontraremos varios ficheros gráficos en formato "png" los cuales podemos sustituir por los que nos interese. La resolución de los ficheros es de 800x600 píxeles que es la resolución gráfica a la que se configura el Grub. Por defecto se encuentran los siguientes fondos:

fondo_png fondo2_png fondo3_png
fondo.png fondo2.png fondo3.png
     
fondogene_png fondorest_png  
fondogene.png fondorest.png  

Si todavía queremos personalizar más el fondo de cada menú, podemos modificar la siguiente linea que suele estar al inicio de su fichero. Si no existe esta línea se mantiene el último fondo cargado:

background_image /srp/fondos/fondos.png

El fichero "menuprincipal.cfg" contiene además la línea "insmod png" que indica a Grub que cargue el módulo que le permite trabajar con ficheros "png". Basta cargar el módulo una vez y luego sólo utilizar la orden "background_image" en los distintos menús para ir cargando el fondo deseado.

Cómo borrar las copias del SRP

El SRP permite generar dos backups, el de fábrica y el personalizado. La copia de fábrica se guarda en un directorio llamado "copia1" y la copia personalizada se guarda en un directorio llamado "copia2". Cuando se lanza el proceso de generar una copia antes siempre se borran los ficheros dejando vacío el directorio de la copia, por lo que en situaciones normales no hace falta eliminar nada. Si por alguna razón se quiere eliminar una copia basta iniciar el SystemRescue y borrar su directorio, por ejemplo, los siguientes comandos eliminarían las dos copias:

rm -rf /mnt/backup/copia1
rm -rf /mnt/backup/copia2

 

Instalaciones con sólo Windows

A modo de ejemplo vamos a ver qué cambios habría que realizar si tuviéramos sólo Windows instalado en el equipo.

Lo primero que tenemos que ver es qué estructura de particiones tenemos, la siguiente sería por ejemplo la más fácil de adaptar:

(primaria) /dev/sda1 = Windows 7(Reservado para el sistema)
(primaria) /dev/sda2 = Windows 7(C:)
(primaria) /dev/sda3 = Datos
(primaria) /dev/sda4 = SRP(Sistema de Restauración de Particiones)

En este caso sólo tocaría modificar cuatro ficheros de menú:

1. /mnt/backup/srp/menus/menuprincipal.cfg(Ocultar la entrada de arranque de Linux)

2. /mnt/backup/srp/menus/menuavanzado.cfg(Ocultar la opción para cambiar el sistema operativo por defecto ya que ahora sólo tenemos uno)

3. /mnt/backup/srp/menus/menucopia1.cfg(Ocultar las opciones de restaurar Linux)

4. /mnt/backup/srp/menus/menucopia2.cfg(Ocultar las opciones de restaurar Linux)

Veamos un caso parecido, en el que ahora no existe partición de Datos:

(primaria) /dev/sda1 = Windows 7(Reservado para el sistema)
(primaria) /dev/sda2 = Windows 7(C:)
(primaria) /dev/sda3 = SRP(Sistema de Restauración de Particiones)

Además de realizar los mismos cambios anteriores vemos ahora que la partición del SRP no coincide con la "/dev/sda4". Para adaptar este cambio hay que editar el fichero "autorun0" el cual contiene algunas variables que se usan en el resto de los scripts. entre ellas hay una que indica en qué partición está instalado el SRP:

Variable backup_dev

Habría que cambiar la variable BACKUP_DEV para que apuntara a "/dev/sda3". De aquí se deduce que la partición del SRP puede estar en cualquier posición. Veamos por tanto un ejemplo en el que la partición del SRP está la primera:

(primaria) /dev/sda1 = SRP(Sistema de Restauración de Particiones)
(primaria) /dev/sda2 = Windows 7(Reservado para el sistema)
(primaria) /dev/sda3 = Windows 7(C:)

En este caso la solución es igual que la anterior, existen unas variables en el fichero "autorun0" que indican en qué particiones está instalado Windows, concretamente habría que configurar las siguientes variables:

BACKUP_DEV="/dev/sda1"
G1P1_DEV="/dev/sda2"
G1P2_DEV="/dev/sda3"

NOTA: El fichero "autorun0" tiene definida muchas más variables pero no se utilizan todas, se definieron sólo pensando en una estructura futura pero todavía no se les ha dado uso.

Por último un ejemplo mas complicado en el que toca editar alguno de los scripts. Hasta ahora hemos visto que Windows ocupa dos particiones, esto es así casi siempre en las instalaciones de Windows 7 y superiores, pero es perfectamente válido instalar un Windows 7 en una sola partición, o el caso más típico tener un Windows XP el cual sólo ocupa una partición. En este caso toca modificar los dos scripts que se encargan de restaurar(autorun4) y generar(autorun8) las particiones de Windows para que ignoren la partición "system":

1. /mnt/backup/autorun4

Cómo se anula la partición de sistema de Windows en el script de restaurar.

En este script hay que comentar dos secciones, la primera comprueba si existe el fichero de restauración y la segunda es la que descomprime el fichero que contiene la imagen de la partición. Para anular una línea se utiliza el símbolo '#'.

2. /mnt/backup/autorun8

Cómo anular la partición de sistema de Windows en el script de generar imagen.

En este caso sólo se anula una sección que es la que se encarga de generar la imagen de la partición "system". Si analizamos el código que viene después vemos que se utiliza la variable G1P2_DEV para generar la imagen de la partición de Windows, por lo que será esta variable la que habrá que modificar en el fichero "autorun0" para que coincida con el nombre de dispositivo correcto según donde se haya instalado Windows.



Instalar una distribución Linux

Cuando instalamos una distribución Linux tenemos que tener en cuenta instalar su versión de Grub en su misma partición en vez de utilizar "/dev/sda". En caso de distribuciones basadas en Ubuntu esta opción está en la primera pantalla cuando se elige "Más opciones" en el asistente de instalación(en antiguas versiones estaba al final del asistente):

Instalar grub en la propia partición en vez de sda.



Reinstalar el gestor de arranque Grub2

Puede haber casos en los que se pierda el arranque del SRP, por ejemplo si instalamos Windows después del SRP, si nos equivocamos al instalar Linux e indicamos que se instale su grub también en "/dev/sda", o simplemente se han dado casos en los que se desconfigura el arranque por alguna razón desconocida y grub muestra un mensaje de error. En estos casos es necesario reinstalar el gestor de arranque por lo que tenemos que iniciar el SystemRescueCD, esta vez desde el CD ya que obviamente desde la versión del disco duro del equipo no podemos, y ejecutar los siguientes comandos:

mount /dev/sda4 /mnt/backup
grub2-install --no-floppy --root-directory=/mnt/backup /dev/sda

Si nos fijamos no hay nada nuevo, estos comandos son los de los pasos 3 y 5 del procedimiento de instalación.



Consideraciones a la hora de sacar una maqueta

Uno de los trabajos a realizar cuando se elabora una maqueta es extraer una imagen del disco con alguna de las herramientas como el clonezilla, backharddi, acronis, etc, para de esta manera poder clonar la imagen en otros equipos.

Cuando hay de por medio un sistema como el SRP tenemos que considerar que la información de las particiones está duplicada. Por una parte tenemos la información a clonar en las propias particiones de los sistemas operativos y por otra en la copia que se ha realizado con el SRP, por lo que si sacamos una imagen de todo el disco esta ocuparía prácticamente el doble.

En esta situación tenemos dos opciones posibles para evitar copiar la información redundante de las particiones. Una es sacar una imagen del disco sin los backups del SRP realizados, la otra es sacar copia sólo de la partición SRP con los backups realizados. Cada una tiene sus ventaja e inconvenientes que pasamos a comentar, por lo que dependiendo de lo que nos interese podemos preferir sacar la imagen de una u otra forma:

- Sacar imagen de todo el disco sin los backups del SRP realizados:

Con esta opción se obtiene una imagen de todas las particiones del disco tal como se haría en otras situaciones con la precaución de que no se ha tenido que crear ninguna copia de backup con el SRP, de esta manera la información no estará duplicada. Tiene la ventaja de que al restaurar la imagen en otro equipo este ya puede iniciar directamente los sistemas operativos. La desventaja es que es el usuario final el que se tiene que encargar de realizar el backup de los mismos, algo que es muchas ocasiones no se hace, por lo que cuando queremos restaurar la copia esta no existe y toca restaurar desde un medio externo, como DVDs o USB que no se suelen encontrar a mano. Por ello esta no es la mejor forma de sacar una imagen para dar al usuario final. Sin embargo tiene su utilidad cuando hay una empresa de por medio que se encarga de realizar la primera instalación ya que remaqueta el equipo, lo configura y realiza el backup con el SRP, ahorrándose un paso que es lo que diferencia al siguiente método.

- Sacar una imagen sólo de la partición del SRP:

Con esta opción, una vez que ya tenemos los sistemas operativos configurados hay que realizar los backups con el SRP. Basta por tanto sacar una imagen de dicha partición para luego restaurar con el propio SRP el resto de particiones. Como vemos en este caso la restauración de un equipo se realiza en dos pasos. El problema es que el segundo paso se debería de realizar manualmente. Para evitarlo se puede cambiar el menú principal del SRP para que al siguiente inicio del equipo se lance la restauración de forma atutomática. Este cambio hay que realizarlo justo antes de sacar la imagen de la partición del SRP. Para ello hay que iniciar el SystemRescue y ejecutar el siguiente comando:

cp /mnt/backup/srp/menus/menurestinicial.cfg /mnt/backup/boot/grub2/grub.cfg

Comando para cambiar el menú inicial para lanzar automáticamente la restauración.

Cuidado ya que pregunta sobreescribir el fichero pero hay que pulsar la tecla 'y' (yes) y no la 's'(sí) como podíamos esperar ya que la pregunta está en inglés. En cualquier caso podemos confirmar que al reiniciar el equipo vemos que aparece un nuevo menú con una cuenta atrás de 10 segundos en el que lanzará la restauración del equipo. Debemos cancelar la cuenta atrás pulsando una tecla y apagar el equipo. Es ahora cuando el equipo está preparado para sacar la imagen sólo de la partición SRP:

Menu de restauración inicial que aparece después de restaurar el SRP.

Este método de sacar la imagen tiene la ventaja de que el SRP ya queda con una copia de los sistemas operativos y es preferible para dar al usuario final ya que no tienen ellos que encargarse de hacer el backup si tuvieran que restaurar un equipo desde cero.

Ficheros adicionales