martes, 29 de abril de 2008

Recuperar GRUB

Recuperación del sistema

A continuación, veremos algunas formas de intentar recuperar el sistema.

Desde el menú de inicio de GRUB.

Cuando se carga GRUB correctamente, se muestra la ventana de la Figura 2.5.1.1.

Figura 2.5.1.1

En la parte inferior de esta ventana, se indica que se pueden teclear las teclas e (para editar las órdenes de inicio de la línea seleccionada) o c (para acceder al entorno de GRUB). Desde este entorno se pueden introducir órdenes para intentar reparar el sistema (ver el punto 2.5.3 Recuperar GRUB desde un CD live).

Si se utiliza un menú gráfico, no se pueden teclear estas órdenes. Para poder acceder a este menú, hay que pulsar la tecla Esc en el menú gráfico.

Si pulsamos la tecla e con la opción Ubuntu, kernel 2.6.20-16-generic seleccionada, se muestra la ventana de la Figura 2.5.1.2.

Figura 2.5.1.2

En esta ventana, se muestran las líneas que el gestor de arranque ejecuta para iniciar el sistema. Desde esta ventana, podemos editar la línea seleccionada, acceder al entorno de GRUB, añadir una nueva línea, borrar la línea seleccionada, iniciar el sistema o regresar al menú de GRUB (ventana de la Figura 2.5.1.1).

Si, en la ventana de la Figura 2.5.1.1, ejecutamos la opción Ubuntu, kernel 2.6.20-16-generic (recovery mode), el sistema chequea algunos componentes e intenta levantar algunos servicios. Si todo es correcto, se muestra la ventana de la Figura 2.5.1.3.

Figura 2.5.1.3

En esta ventana, podemos pulsar las teclas Control-D para continuar con el inicio del sistema o introducir la contraseña del usuario root para iniciar una sesión en modo texto y poder introducir órdenes del sistema operativo para reparar la partición.

Si, en la ventana de la Figura 2.5.1.1, ejecutamos la opción Ubuntu, memtest86+, el sistema realiza un chequeo de la memoria.

Si tenemos instalado un menú gráfico para presentar GRUB al iniciar el sistema, hay que pulsar la tecla Esc para acceder a la ventana de la Figura 2.5.1.1.

Restaurar el menú de GRUB al iniciar el sistema.

En algunas ocasiones, el menú de GRUB no se puede cargar, el equipo no se puede iniciar y el sistema entra automáticamente en el entorno de GRUB, presentando el prompt grub>. Para cargar el menú de GRUB desde este entorno, hay que ejecutar la orden configfile /boot/grub/menu.lst.

Recuperar GRUB desde un CD live.

Cuando el gestor de arranque GRUB no funciona correctamente, es posible repararlo iniciando el sistema desde el CD live de instalación. Para ello, una vez en el Escritorio, hay que abrir un Terminal y seguir los siguientes pasos:

1.Crear un directorio para montar la partición de sistema del disco duro, ejecutando la orden sudo mkdir /media/disk-2.

2.Consultar el dispositivo asociado a la partición del disco duro donde está instalado Ubuntu, ejecutando la orden sudo fdisk -l.

3.Montar la partición en el directorio creado en el punto 1. Para ello, hay que ejecutar la orden sudo mount /dev/sda1 /media/disk-2 (/dev/sda1 es el dispositivo que nos ha devuelto la orden sudo fdisk -l ejecutada en el punto 2.)

4.Editar el archivo menu.lst para comprobar que es correcto y modificarlo si procede. Para ello, hay que ejecutar la orden sudo gedit /media/disk-2/boot/grub/menu.lst.

5.Instalar GRUB, ejecutando la orden sudo grub-install --root-directory=/media/disk-2 /dev/sda (/media/disk-2 es el punto donde se ha montado la partición de Ubuntu y /dev/sda es el disco duro en el que se va a instalar GRUB).

Otra forma de recuperar GRUB desde un CD live es, una vez iniciado el sistema, entrar en el entorno de GRUB, buscar la partición donde está instalado Ubuntu, posicionarnos en esta partición e instalar GRUB. El resultado de estas operaciones se indican a continuación (para entrar en el entorno de GRUB hay que ejecutar la orden sudo grub):

grub>find /boot/grub/stage1
(hd0,2)

grub>root (hd0,2)

grub>setup (hd0)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 17 sectors are embedded.
succeeded
Running "install /boot/grub/stage1 (hd0) (hd0)1+17 p (hd0,2)/boot/grub/stage2
/boot/grub/menu.lst"... succeeded
Done.

grub>

La orden find /boot/grub/stage1 (hd0,2), busca la partición en la que está instalado Ubuntu y devuelve (hd0,2). La línea root (hd0,2) se posiciona en la partición de Ubuntu (observar que en esta orden se incluye la partición que ha devuelto la orden find /boot/grub/stage1). La línea setup (hd0) instala GRUB en el disco duro desde el que se inicia el equipo.

Recuperar GRUB con el paquete Super Grub Disk.

Existe una aplicación, llamada Super Grub Disk, que se utiliza para arrancar el sistema desde cualquier partición de sistema instalada en nuestro equipo. La página oficial de Super Grub Disk es: http://geocities.com/supergrubdisk/. Desde esta página, siguiendo los enlaces incluidos, nos podemos descargar el software necesario para iniciar el sistema desde un puerto usb, desde un disquete o desde un cd o dvd.

Una vez descargado el software y preparado el soporte desde el que se va a iniciar el equipo, hay que arrancar el odenador, accediendo a la ventana principal de Super Grub Disk y, desde esta, a la ventana de la Figura 2.5.4.1.

Figura 2.5.4.1

Si, desde esta ventana, pulsamos la tecla -> (flecha derecha) con una de las dos primeras opciones seleccionadas, se muestra la ventana de la Figura 2.5.4.2.

Figura 2.5.4.2

En esta ventana, seleccionamos el idioma deseado y se visualiza información de Super Grub Disk. Una vez leída la información, se muestra la ventana de la Figura 2.4.5.3.

Figura 2.5.4.3

En esta ventana, si pulsamos la tecla -> con la opción Gnu/Linux seleccionada, accedemos a la ventana de la Figura 2.5.4.4.

Figura 2.5.4.4

En esta ventana, podemos intentar la reparación del arranque de Linux (pulsando la opción Arregla Arranque de Gnu/Linux (GRUB)) y reiniciar el equipo si la reparación ha sido exitosa, o iniciar la partición de Linux (pulsando las opciones Arranque Gnu/Linux o Arranque Gnu/Linux Directamente). Si pulsamos la opción Gnu/Linux (Avanzado), se muestra la ventana de la Figura 2.5.4.5.

Figura 2.5.4.5

Desde esta ventana, se pueden intentar varias opciones de reparación y arranque del sistema.

Si, en la ventana de la Figura 2.5.4.3, seleccionamos la opción Windows, accedemos a una ventana desde la que podemos intentar reparar e iniciar el sistema desde Windows, de forma similar a la detallada para Gnu/Linux.

Si, en la ventana de la Figura 2.5.4.3, seleccionamos la opción Arranque & Herramientas, se muestra la ventana de la Figura 2.5.4.6.

Figura 2.5.4.6

Desde esta ventana, se pueden realizar varias operaciones para intentar arrancar el equipo.

Si, en la ventana de la Figura 2.5.4.3, seleccionamos la opción Avanzado, se muestra la ventana de la Figura 2.5.4.7.

Figura 2.5.4.7

En esta ventana, se pueden restaurar los gestores de arranque de Linux (GRUB y LILO) y de Windows. La opción Arranque especial nos permite intercambiar discos duros, de tal forma que el disco 1 pase a ser el disco 2 y viceversa. La opción Configuración permite cambiar opciones como el color, teclado, etc. La opción Miscelanea permite arrancar Linux desde GRUB.

Si, en la ventana de la Figura 2.5.4.1, seleccionamos la opción GRUB => MBR & !LINUX! (1) AUTO, GRUB se instala en el MBR y se carga el menú de GRUB para iniciar el sistema.

Si, en la ventana de la Figura 2.5.4.1, seleccionamos la opción GRUB => MBR & !LINUX! (>=2) MANUAL, accederemos a unas ventanas en las que deberemos seleccionar la partición donde se encuentra GRUB y, posteriormente, GRUB se instalará en el MBR y se cargará el menú de GRUB para iniciar el sistema.

Si, en la ventana de la Figura 2.5.4.1, seleccionamos las opciones !LINUX! (1) AUTO o !LINUX! (>=2) MANUAL, el sistema se iniciará desde Linux, pero GRUB no se instalará en el MBR.

Si, en la ventana de la Figura 2.5.4.1, seleccionamos la opción !WIN!, el sistema se iniciará desde la partición donde está instalado Windows.

Si, en la ventana de la Figura 2.5.4.1, seleccionamos la opción WIN -> MBR & !WIN!, el sistema se iniciará desde la partición donde está instalado Windows y el arranque de Windows se instalará en el MBR.

Instalar ATI en Linux Ubuntu

En Ubuntu 8.04 se reconoce la tarjeta al instalar el sistema. Posteriormente, hay que habilitarla desde Sistema->Administración->Gestor de controladores restringidos.

En Ubuntu 7.10 hay que proceder de la siguiente forma:

Descarga del driver ati para linux.

http://ati.amd.com/support/drivers/linux/linux-radeon.html

Instalación.

apt-get update

apt-get install build-essential fakeroot dh-make debhelper debconf libstdc++5 dkms

Buscar en synaptic todos los paquetes que contengan fglrx y eliminar los que estén instalados.

sh ati-driver-installer-8-02-x86.x86_64.run –buildpkg Ubuntu/gutsy

gedit /etc/default/linux-restricted-modules-common

Modificar la línea DISABLED_MODULES= “” por la línea DISABLED_MODULES= “fglrx”

rm /usr/src/fglrx-kernel*.deb

dpkg -i xorg-driver-fglrx_8.455.2-0*.deb fglrx-kernel-source_8.455.2-0*.deb fglrx-amdcccle_8.455.2-0*.deb

apt-get install -f

reboot

Configurar la tarjeta después de reiniciar.

aticonfig --initial --input=/etc/X11/xorg.conf

aticonfig --overlay-type=Xv

Acceder a Aplicaciones --> Accesorios --> ATI Catalyst Control Center para ver que está todo instalado.

Gestor de arranque GRUB

GRUB es la abreviatura de GRand Unified Bootloader. GRUB es el programa que se ejecuta para iniciar el sistema, permitiendo seleccionar el sistema operativo con el que el equipo se va a iniciar. La ventana del gestor de arranque de GRUB es la que se muestra en la Figura 2.4.1.



Figura 2.4.1

En esta ventana, aparece una opción por cada uno de los distintos sistemas operativos existentes en el equipo. La configuración de GRUB consiste en especificar el sistema operativo por defecto que se iniciará en el equipo y el tiempo que GRUB esperará la selección de otros sistemas operativos antes de que se inicie el que se ha indicado por defecto. Además, hay que seleccionar la partición de cada sistema operativo e introducir un nombre para cada uno de ellos. Este nombre es el que se muestra en la ventana de la Figura 2.4.1.

La configuración de GRUB se encuentra en el archivo /boot/grub/menu.lst. El contenido de este archivo podría ser el siguiente:

# menu.lst - See: grub(8), info grub, update-grub(8)
# grub-install(8), grub-floppy(8),
# grub-md5-crypt, /usr/share/doc/grub
# and /usr/share/doc/grub-doc/.
## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not change this entry to 'saved' or your
# array will desync and will not let you boot your system.

default 0

## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).

timeout 10

## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
#hiddenmenu
# Pretty colours
#color cyan/blue white/blue
## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line) and entries protected by the
# command 'lock'
# e.g. password topsecret
# password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret
#
# examples
#
# title Windows 95/98/NT/2000
# root (hd0,0)
# makeactive
# chainloader +1
#
# title Linux
# root (hd0,1)
# kernel /vmlinuz root=/dev/hda2 ro
#
#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST
### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below
## DO NOT UNCOMMENT THEM, Just edit them to your needs
## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
## kopt_2_6_8=root=/dev/hdc1 ro
## kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=UUID=4b5be2eb-6973-4943-a21f-072809fef4ae ro
## Setup crashdump menu entries
## e.g. crashdump=1
# crashdump=0
## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,3)
## should update-grub create alternative automagic boot options
## e.g. alternative=true
## alternative=false
# alternative=true
## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
## lockalternative=false
# lockalternative=false
## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=quiet splash
## should update-grub lock old automagic boot options
## e.g. lockold=false
## lockold=true
# lockold=false
## Xen hypervisor options to use with the default Xen boot option
# xenhopt=
## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0
## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
## altoptions=(recovery) single
# altoptions=(recovery mode) single
## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
## howmany=7
# howmany=all
## should update-grub create memtest86 boot option
## e.g. memtest86=true
## memtest86=false
# memtest86=true
## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false

## ## End Default Options ##

title Ubuntu, kernel 2.6.20-16-generic
root (hd0,3)
kernel /boot/vmlinuz-2.6.20-16-generic root=UUID=4b5be2eb-6973-4943-a21f-072809fef4ae ro quiet splash
initrd /boot/initrd.img-2.6.20-16-generic
quiet
savedefault

title Ubuntu, kernel 2.6.20-16-generic (recovery mode)
root (hd0,3)
kernel /boot/vmlinuz-2.6.20-16-generic root=UUID=4b5be2eb-6973-4943-a21f-072809fef4ae ro single
initrd /boot/initrd.img-2.6.20-16-generic

title Ubuntu, kernel 2.6.20-15-generic
root (hd0,3)
kernel /boot/vmlinuz-2.6.20-15-generic root=UUID=4b5be2eb-6973-4943-a21f-072809fef4ae ro quiet splash
initrd /boot/initrd.img-2.6.20-15-generic
quiet
savedefault

title Ubuntu, kernel 2.6.20-15-generic (recovery mode)
root (hd0,3)
kernel /boot/vmlinuz-2.6.20-15-generic root=UUID=4b5be2eb-6973-4943-a21f-072809fef4ae ro single
initrd /boot/initrd.img-2.6.20-15-generic

title Ubuntu, memtest86+
root (hd0,3)
kernel /boot/memtest86+.bin
quiet

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian

# ones.

title Other operating systems:
root

# This entry automatically added by the Debian installer for a non-linux OS

# on /dev/hda1

title Microsoft Windows XP Professional
root (hd0,0)
savedefault
makeactive
chainloader +1

###### FIN DEL ARCHIVO ########

La información activa (son las líneas que no están comentadas) de este archivo es la siguiente:

La línea default indica la partición que se iniciará por defecto si, transcurrido el tiempo especificado en timeout, el usuario no selecciona otra partición. El valor 0 se refiere a la primera etiqueta title que aparece en el archivo /boot/grub/menu.lst, el valor 1 se refiere a la segunda etiqueta title que aparece en el archivo /boot/grub/menu.lst, y así sucesivamente.

La línea timeout indica los segundos que el sistema esperará para iniciar el sistema operativo por defecto.

Las líneas que se encuentran a continuación de la línea ## ## End Default Options ##, indican el disco duro y la partición donde se encuentran cada uno de los sistemas operativos que se pueden iniciar en el sistema.

Los parámetros quiet splash se utilizan para que durante el inicio del sistema se visualice un entorno gráfico. Si quitamos estos argumentos, el inicio del sistema se visualiza en modo texto.

En el archivo /boot/grub/menu.lst, se pueden definir contraseñas para iniciar cada uno de los sistemas operativos instalados en el sistema. Para ello, hay que añadir la línea password contraseña en los párrafos title que definen cada una de las particiones de sistema.

El archivo /boot/grub/menu.lst se puede instalar ejecutando la orden grub-install /dev/sda. El dispositivo /dev/sda indica el disco duro en el que queremos instalarlo. Esta orden realiza una compilación del archivo y, si no hay errores, lo instala en el Master Boot Record (MBR) del disco duro indicado.

El archivo /boot/grub/menu.lst, se puede crear o modificar ejecutando la orden update-grub. Esta orden busca las versiones del kernel ubicadas en el directorio /boot y crea una entrada en el archivo /boot/grub/menu.lst para cada una de estas versiones. Una posible salida de la ejecución de esta orden podría ser la siguiente:

root@alsico-laptop:~# update-grub

Searching for GRUB installation directory ... found: /boot/grub

Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst

Searching for splash image ... none found, skipping ...

Found kernel: /boot/vmlinuz-2.6.20-16-generic

Found kernel: /boot/vmlinuz-2.6.20-15-generic

Found kernel: /boot/memtest86+.bin

Updating /boot/grub/menu.lst ... done

En realidad, GRUB es un entorno desde el que se pueden realizar varias operaciones, introduciendo comandos propios del entorno. Para iniciar este entorno, hay que pulsar la tecla c en la ventana de la Figura 2.4.1 o, una vez iniciado el sistema, ejecutar la orden grub. Se muestra el prompt grub>, desde el que se pueden escribir las órdenes de GRUB. Desde este entorno se sale escribiendo reboot, si hemos accedido al entorno desde el menú de inicio del sistema, o escribiendo quit, si hemos accedido al entorno una vez iniciado el sistema.

Desde la ventana de la Figura 2.4.1, también se pueden editar líneas del archivo /boot/grub/menu.lst para modificar sus valores e iniciar el sistema con los nuevos valores introducidos. Para ello, hay que pulsar la tecla e en la ventana de la Figura 2.4.1.

Si la línea password contraseña la escribimos fuera de los bloques donde se definen los sistemas operativos, al iniciar el equipo se muestra la ventana de la Figura 2.4.2.



Figura 2.4.2

Como vemos en esta ventana, no se puede acceder a los comandos para entrar en el entorno de GRUB. Para entrar en este entorno, hay que pulsar la tecla p e introducir, en la nueva ventana, la contraseña especificada en el archivo /boot/grub/menu.lst.

Si se ha introducido la orden lock en uno de los bloques title del archivo /boot/grub/menu.lst y se ha asignado una contraseña fuera de estos bloques para deshabilitar la entrada en el entorno de GRUB al iniciar el sistema (ventana de la Figura 2.4.2), tenemos que pulsar la tecla p y escribir la contraseña para poder iniciar desde la partición en la que se ha incluido la orden lock.

Estas contraseñas son visibles consultando el archivo /boot/grub/menu.lst (este archivo lo puede leer cualquier usuario) o editando la opción de inicio en el menú de arranque de la ventana de la Figura 2.4.1 (pulsando la tecla e con la opción de inicio seleccionada). Para que la contraseña no sea legible, podemos encriptarla, Para ello, hay que acceder al entorno GRUB desde la línea de comandos ejecutando la orden grub. Desde este entorno, hay que ejecutar la orden md5crypt y escribir la contraseña a encriptar. El entorno nos devuelve la contraseña encriptada con el mensaje Encrypted: $1$biPFG$wjeFI4XkAPpM6Clio6iZA1. Esta contraseña hay que copiarla para añadirla en el archivo /boot/grub/menu.lst. Salir del entorno GRUB ejecutando la orden quit.

A continuación, editar el archivo /boot/grub/menu.lst e introducir la siguiente línea:

password --md5 $1$biPFG$wjeFI4XkAPpM6Clio6iZA1 (esta es la contraseña encriptada que hemos copiado desde el entorno GRUB).

Cuando se pida una contraseña al iniciar el sistema, hay que escribir la contraseña sin encriptar.

lunes, 28 de abril de 2008

Linux Ubuntu. Habilitar la cuenta de usuario root

Habilitar la cuenta de usuario root.

En primer lugar, es importante dejar claro que, por cuestiones de seguridad del sistema, no es conveniente trabajar normalmente con la cuenta de usuario root. Podemos crear usuarios que puedan ejecutar la orden sudo. Para ello, consultar la entrada Crear usuarios con privilegios administrativos en este mismo blog.

Si queremos seguir adelante, veamos como se realiza esta acción.

Cuando se instala Ubuntu, la única cuenta de usuario con la que se puede iniciar sesión es la que creamos durante el proceso de instalación. Esta cuenta está limitada para realizar tareas administrativas, por lo que hay que ejecutar la orden sudo cada vez que queramos ejecutar una orden para administrar el sistema. La cuenta root está creada pero no está activa porque no tiene contraseña.

Para habilitar la cuenta de usuario root, hay que seguir los siguientes pasos:

1.Abrir un terminal y ejecutar la orden sudo -u root passwd. El sistema nos pide la contraseña del usuario que creamos durante el proceso de instalación y la contraseña que se va a asignar al usuario root.

Para abrir un terminal, hay que ejecutar la opción Terminal del menú Accesorios, que se encuentra en el menú Aplicaciones.

2.Para que el usuario root, una vez activado, pueda iniciar sesión, hay que ejecutar la opción Ventana de entrada del menú Administración, que se encuentra en el menú Sistema. Se muestra una ventana en la que tenemos que introducir la contraseña del usuario que creamos durante la instalación y pulsar el botón Aceptar, accediendo a una nueva ventana en la que tenemos que abrir la ficha Seguridad.

En esta ventana, hay que activar la casilla Permitir entrada local al administrador de sistema y pulsar el botón Cerrar.

3.Cerrar la sesión e iniciar una sesión con el usuario root.

4.Activar las tareas que puede realizar el usuario root. Para ello, hay que ejecutar la herramienta Usuarios y grupos del menú Administración, que se encuentra en el menú Sistema.

En esta ventana, seleccionamos el usuario root y pulsamos el botón Propiedades, accediendo a una ventana en la que debemos abrir la ficha Privilegios del usuario.

En esta ventana, seleccionamos las casillas que queramos y pulsamos el botón Aceptar, volviendo a la ventana donde pulsaremos el botón Cerrar, debiendo iniciar nuevamente la sesión para que las casillas marcadas tengan efecto.