Reclamamos Soluciones Urgentes
1.- Democracia secuestrada
2.- Manifiesto por la lengua común
|
Si buscas hosting...
¡Ahórrate 50$! Más información
aquí.
|
|
GodEst |
|
|
|
Reclamamos Soluciones Urgentes1.- Democracia secuestrada |
Recuperando el gestor de arranque: Grub
Submitted by Godo on Mié, 28/02/2007 - 22:13.
A quién no le ha ocurrido esto: un buen dÃa logramos tener en nuestro ordenador instalados varios sistemas operativos, por ejemplo: un windows y un Debian GNU/Linux. En un momento triste descubrimos que la última aplicación que debemos utilizar no existe en GNU/Linux, o que el último gadget que nos hemos comprado ha de ser “gestionado†desde un windows. Bien, asumimos nuestra tristeza y arrancamos nuestro ordenador para seleccionar en el menú, que nos presenta el gestor de arranque Grub (existen otros gestores de arranque más antiguos y menos versátiles, como lilo), la opción correspondiente al sistema operativo de las ventanas. En nuestra sesión de trabajo nos conectamos a un par de páginas de internet, hacemos unas cuantas descargas y, sorprendentemente ¡Y descubrimos que esta reinstalación se ha cargado nuestro gestor de arranque!, con lo que ahora ya sólo podemos arrancar nuestra nueva instalación de windows. Pero, ¿qué ha pasado con nuestro Debian GNU/Linux que tenÃamos instalado? No hay que preocuparse, sigue estando instalado en las particiones en las que estaba. Lo único que hemos perdido es la posibilidad de arrancarlo dado que la reinstalación de windows, como digo, ha borrado el "pequeño programa" que vive en el sector de arranque de nuestro disco duro, y que nos presenta el menú de selección del sistema operativo con el que queremos trabajar justo cuando conectamos nuestra máquina. Vamos a ver como volvemos a instalar nuestro Grub tal y como estaba antes de que la tragedia ocurriera. Lo primero que os recomiendo es que os bajéis el último System Rescue CD, y lo tostéis en un CD virgen que nos salvara de este tipo de emergencias. Este minisistema GNU/Linux es muy completo: trae una herramienta para la realización de particiones en modo gráfico: gparted (que ya utilizamos aquÃ), otra herramienta para realizar copias de seguridad de las particiones existentes: partimage, y reconoce casi todos los tipos de sistemas de ficheros, incluido el NTFS. Arrancamos nuestro ordenador, con el System Rescue CD introducido para que, obviamente, arranque desde él. Veremos una pantalla de bienvenida, pulsamos intro para que continúe... y al final vemos una pantalla de instrucciones y una lÃnea de comandos que nos invita a interactuar con el sistema. Ahora necesitamos conocer los siguientes datos: la tabla de particiones de nuestro sistema, y su correspondencia con los distintos directorios existentes en el árbol de una instalación GNU/Linux. Esto se puede obtener de la siguiente forma: [18:23:18(godo@surco)~]> mount /dev/hdb1 on / type reiserfs (rw) tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755) proc on /proc type proc (rw,noexec,nosuid,nodev) sysfs on /sys type sysfs (rw,noexec,nosuid,nodev) procbususb on /proc/bus/usb type usbfs (rw) udev on /dev type tmpfs (rw,mode=0755) tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev) devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620) /dev/hdb2 on /boot type reiserfs (rw,notail) /dev/hdb7 on /home type reiserfs (rw) /dev/hdb8 on /tmp type ext3 (rw) /dev/hdb5 on /usr type reiserfs (rw) /dev/hdb6 on /var type reiserfs (rw) /dev/hdb4 on /mnt/vm type reiserfs (rw,nosuid,nodev,user=godo) [18:51:16(godo@surco)~]> Es tan fácil como teclear mount cuando nuestra máquina está funcionando bien, y conservar su salida en una hojita impresa, o en una página web que tengamos accesible [20:11:19(root@surco)/mnt/vm/serie-debian]> fdisk -l /dev/hdb Disk /dev/hdb: 203.9 GB, 203928109056 bytes 255 heads, 63 sectors/track, 24792 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hdb1 1 486 3903763+ 83 Linux /dev/hdb2 487 729 1951897+ 83 Linux /dev/hdb3 730 5118 35254642+ 5 Extended /dev/hdb4 5119 24792 158031405 83 Linux /dev/hdb5 730 1945 9767488+ 83 Linux /dev/hdb6 1946 3161 9767488+ 83 Linux /dev/hdb7 3162 4377 9767488+ 83 Linux /dev/hdb8 4378 4863 3903763+ 83 Linux /dev/hdb9 4864 5118 2048256 82 Linux swap / Solaris [20:11:25(root@surco)/mnt/vm/serie-debian]> [20:11:55(root@surco)/mnt/vm/serie-debian]> cfdisk /dev/hdb La primera, fdisk, como podéis observar, no muestra mucha información, sólo las particiones y el tipo de sistema de ficheros que tienen asociado. La segunda, cfdisk, muestra una pantalla estructurada en columnas, y una de ellas tiene información sobre el punto de montaje, sobre el árbol de directorios que vamos buscando. Observando esta información (la que anteriormente resultaba de ejecutar mount, que es donde más fácil se ve) podemos conocer que nuestro sistema raÃz GNU/Linux, indicado por la / , está ubicado en nuestro segundo disco duro “hdb†y en su primera partición: /dev/hdb1. Y que el sistema de archivos utilizado es “reiserfsâ€. Igualmente, vemos que el directorio /boot está ubicado en nuestro segundo disco duro y en su segunda partición: /dev/hdb2, con sistema de archivos “reiserfsâ€. Por tanto, desde la lÃnea de comandos que nos aparece tras haber arrancado con nuestro CD de recuperación, tecleamos: [18:51:16(godo@surco)~]> mkdir /mnt/temp1 [18:51:16(godo@surco)~]> mount /dev/hdb1 /mnt/temp1 [18:51:26(godo@surco)~]> mount -o bind /dev /mnt/temp1/dev [18:51:36(godo@surco)~]> mount -o bind /proc /mnt/temp1/proc Con lo que montamos la partición raÃz del sistema GNU/Linux que queremos recuperar en el directorio que nos ofrece nuestro sistema de recuperación: /mnt/temp1. Es decir, ahora mismo nuestro habitual sistema raÃz está accesible a través del directorio /mnt/temp1. Tanto es asÃ, que si hacemos: [18:51:16(godo@surco)~]> cd /mnt/temp1 [18:51:16(godo@surco)~]> ls bin dev initrd lib opt sbin tmp vmlinuz boot etc initrd.img media proc srv usr vmlinuz.old cdrom home initrd.img.old mnt root sys var Podemos observar la estructura correspondiente y “navegar†a través de ella. Las lÃneas que comienzan con "mount -o bind" se utilizan para evitar los problemas de "población dinámica del directorio /dev" por udev (ver esto para más información). Sin embargo, nuestra raÃz actual es / correspondiente al sistema GNU/Linux de recuperación con el que hemos arrancado, Y NO /mnt/temp1 que es donde está el raÃz que corresponderÃa si hubiéramos arrancado normalmente desde nuestro GNU/Linux. ¡OJO, sé que lo que acabo de decir puede resultar algo confuso para un principiante! Aseguraros bien de que lo entendéis, si no, buscad más información. Podemos cambiar “virtualmente de raÃz†con el siguiente comando:
Una vez fijada la nueva raÃz a la que corresponderÃa si arrancáramos desde el disco duro, tenemos que montar las particiones correspondientes al árbol de directorios /boot (donde se encuentra la información de arranque: kernel, datos de grub, etc.) y al árbol /usr (donde se encuentran los binarios o ejecutables de grub y otras herramientas de administración del sistema). Esto lo conseguimos con el siguiente par de comandos: [18:51:16(godo@surco)~]> mount /dev/hdb2 /boot [18:51:16(godo@surco)~]> mount /dev/hdb5 /usr Recuerda que esto es posible porque previamente hemos modificado la raÃz de nuestro sistema de directorios (lo que hemos hecho con chroot). Ya sólo nos queda ejecutar grub-install para instalar el gestor de arranque en el sector correspondiente al primer disco duro de nuestro sistema: hda. Esto es asà porque, habitualmente, los sistemas con dos discos duros están configurados para arrancar desde el primero, pero podrÃa ser de otro modo. Finalizamos nuestra tarea ejecutando:
Nos salimos del entorno “chroot†con:
Y rearrancamos nuestra máquina:
Hemos de tener la precaución de sacar el CD justo cuando comience el encendido, para evitar asà que se ejecute otra vez el sistema GNU/Linux de recuperación y obligar a que arranque desde el disco duro. ¡Tachán! Nuestro viejo GRUB vuelve a estar en su sitio. Y una sonrisa vuelve a brillar en nuestro rostro. Salud. 16-03-2008 Actualización: Una manera rápida de recuperar grub, si conocemos cual es nuestra partición raÃz (root == /) en nuestro GNU/Linux es: 1º.- Arrancar con un CD LIVE (recomiendo ultimas versiones de Knoppix). 2º.- sudo grub 3º.- grub> root (hd0,4) 4º.- grub> setup (hd0) 5º.- grub> quit Siendo hd0 nuestro primer disco duro, en mi portátil por ejemplo es: /dev/sda, y el 4 corresponde con el número de partición donde se encuentra nuestra raÃz, en mi caso la raÃz "/" está en /dev/sda5. Grub comienza la numeración de las particiones en 0, mientras que el kernel comienza en 1, es por eso que a sda5 le corresponde el 4. Esto funciona incluso si hemos cambiado el orden de las particiones, como suele ser el caso si hemos cambiado de disco duro y hemos restaurado unas copias de seguridad realizadas con "partimage". Fin de la actualización P.D.: Aquà hablamos de como recuperar el arranque de Windows. »
|
Temas activosUpcoming events
Contenido popularHoy:Siempre: |
Comentarios recientes
hace 5 semanas 5 horas
hace 5 semanas 7 horas
hace 5 semanas 1 dÃa
hace 31 semanas 6 horas
hace 31 semanas 6 dÃas
hace 35 semanas 2 dÃas
hace 37 semanas 8 horas
hace 37 semanas 14 horas
hace 38 semanas 6 dÃas
hace 38 semanas 6 dÃas