Configurar Grub en debian Etch despues de haber cambiado el orden de las particiones

Esta es la segunda vez que me sucede. Este problema me ha dado porque he instalado windows (he instalado ese sistema operativo porque mi esposa necesita utilizar la computadora y no le gusta utilizar el openoffice) despues de haber instalado gnu/linux. Les recomiendo que cuando se vean en esta situacion hagan las respectivas copias de seguridad porque con windows no se sabe que pasara.


la situacion es la siguiente la laptop con la que estoy trabajando es una Dell XPS m140 tenia instalado Debian Etch el orden de las particiones era el siguiente:

/home/ ==> /dev/sda1
swap ==> /dev/sd2
/ ==> /dev/sda3

y tenia un espacio en disco sin particionar es alli donde instale el otro sistema operativo, cualquier persona se podria imaginar que para instalar ese sistema operativo es necesario solo una particion, ¡Sorpresa! no es asi, no se puede crear una particion en este caso, tube que eliminar mi particion swap para poder crear la particion que necesita el sistema operativo ese, en fin despues de eso lo instale.

Como pueden suponer para restaurar mi debian tenia que crear nuevamente mi swap, entoces entre con un disco de rescate y al revisar las particiones me di cuenta que el orden habia cambiado, cree mi swap y mi sistema quedo de la siguiente manera:


/home/ ==> /dev/sda1
/ ==> /dev/sda2
otro sistema ==> /dev/sd3
swap ==> /dev/sd4

noten que mi / (root) cambio de /dev/sda3 hacia /dev/sda2 que es la particion donde estaba el grub y la swap quedo en otra posicion tambien.

A continuacion escribo los pasos a seguir para modificar los archivos del sistema para que cargue correctamente.

1. ingresar a la maquina con el primer disco de instalacion de debian etch en modo de rescate, para el caso de mi laptop utilizo una opcion mas porque tengo un cd-rom un poco especial.

boot: recue libata.atapi_enabled=1

2. levantar la particion donde esta el grub en este caso es /dev/sda1

nos pasamos a la consola que nos proporciona debian con la siguiente combinacion de teclas [control]+[alt]+[f1]

creamos un directorio para levantar la particion

mkdir /temp


montamos la particion

mount /dev/discs/disc0/part2 /temp


NOTA: es importante utilizar el formato anterior para levantar la particion porque lo intente /dev/sda2 y no me funciono si alguien puede hacerme la aclaracion de este punto se lo agradecere

hacemos un chroot a la particion montada en /temp

chroot /temp


ingresamos al grub

#grub


indicamos el disco y particion raiz del grub

grub> root (hd0,1)
Filesystem type is ext2fs, partition type 0x83


Para este caso el disco cero (hd0) corresponde /dev/sda y el numero 1 corresponde a la segunda particion /dev/sda2 (el grub cuenta desde cero).

configuramos el grub con el siguiente comando, luego salimos del grub

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)"... 15 sectors are embedded.
succeeded
Running "install /boot/grub/stage1 (hd0) (hd0)1+15 p (hd0,0)/boot/grub/stage2
/boot/grub/menu.lst"... succeeded
Done.
grub> quit



finalmente modificamos los archivos menu.lst y fstab de la siguiente manera

vi /boot/grub/menu.lst

title Debian GNU/Linux, kernel 2.6.18p01
root (hd0,1)
kernel /boot/vmlinuz-2.6.18p01 root=/dev/sda2 ro
initrd /boot/initrd.img-2.6.18p01
savedefault

title Debian GNU/Linux, kernel 2.6.18p01 (single-user mode)
root (hd0,1)
kernel /boot/vmlinuz-2.6.18p01 root=/dev/sda2 ro single
initrd /boot/initrd.img-2.6.18p01
savedefault

## Otro sistema operativo
title Otro OS
root (hd0,2)
makeactive
chainloader +1


cambie el parametro root=/dev/sda2 por la particion adecuada

vi /etc/fstab

# /etc/fstab: static file system information.
#
#
proc /proc proc defaults 0 0
/dev/sda2 / ext3 defaults,errors=remount-ro 0 1
/dev/sda1 /home ext3 defaults,errors=remount-ro 0 1
/dev/sda4 none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0

Comentarios