24/04/2008, 06:57
|
| | | Fecha de Ingreso: julio-2004 Ubicación: BCN
Mensajes: 199
Antigüedad: 20 años, 5 meses Puntos: 0 | |
Re: Mi linux no carga y desaparecido? Te adjunto el manual de un compañero , que a mi me fue bien para otro ploblema, per que a ti te ira al pelo. Por cierto, tendras que tener a mano el cd fc8 ya veras, saludos. Cita: Ocurre con alguna facilidad que, tras haber realizado determinadas tareas de administración en nuestro sistema, el gestor de arranque GRUB deja de ser funcional. Ya sea por haber instalado otro sistema operativo en aguna otra partición de nuestro disco, por haber actualizado las tablas de particiones o, simplemente, porque el sector de arranque de nuestro disco se ha corrompido, GRUB ya no existe o nuestro sistema linux ni siquiera empieza la carga del núcleo. Veremos en este artículo cómo rehacer el sector de inicio de nuestro disco de arranque para que el gestor GRUB vuelva a funcionar o se convierta en el gestor predeterminado.
Empezando con la recuperación
Si nuestro disco duro no ha sufrido daños físicos graves, la recuperación del sector de arranque para la inclusión de GRUB suele ser una tarea relativamente sencilla. De hecho no es muy complicado que, sobre todo cuando sistemas operativos Windows "conviven" con distribuciones linux en el mismo disco duro, el sector de arranque (MBR) se vea comprometido en más ocasiones de las que querríamos desear. Virus, actualizaciones de Windows, reinstalaciones o fallos de escritura pueden modificar o borrar por completo el sector de arranque dejando nuestro disco duro en un estado no deseado.
Para solucionar este problema, GRUB dispone de las herramientas necesarias para devolver al sector de arranque la configuración deseada. Para ello, necesitaremos arrancar el sistema con alguna herramiente que nos permita el acceso a nuestras particiones de linux, lo cual se consigue con la introducción del primer CD de casi cualquier distribución, eligiendo la opción de rescate o de arranque "en vivo". Por ejemplo, en las distribuciones de Fedora Core, la opción suele ser escribir "linux rescue" durante la primera pantalla de instalación. El programa de instalación nos dará incluso la opción de montar las particiones existentes sobre los discos duros disponibles, cosa que nos ayudará bastante a la hora de acceder a nuestros datos y comprobar que todo sigue en su sitio.
Una vez arrancado nuestro sistema, y si el programa de instalación no lo ha hecho ya, habremos de montar sobre el sistema de ficheros aquella partición sobre la cual arrancábamos nuestro sistema con GRUB, pero ¿Y si no recordamos cuál era? En este caso, usaremos la herramienta fdisk para tratar de averiguar qué partición es la que buscamos, por lo que escribiremos lo siguiente en una consola:
# fdisk -l
Esta orden listará por pantalla información sobre los discos y particiones que existen en nuestro ordenador. El listado puede quedar más o menos así:
Disco /dev/hda: 80.0 GB, 80026361856 bytes
255 cabezas, 63 sectores/pista, 9729 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/hda1 * 1 3365 27029331 83 Linux
/dev/hda2 3366 8587 41945715 83 Linux
/dev/hda3 8588 9631 8385930 83 Linux
/dev/hda4 9632 9729 787185 5 Extendida
/dev/hda5 9632 9729 787153+ 82 Linux swap / Solaris
Disco /dev/hdb: 60.0 GB, 60022480896 bytes
255 cabezas, 63 sectores/pista, 7297 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/hdb1 * 1 3264 26218048+ 83 Linux
/dev/hdb2 3265 7297 32395072+ 83 Linux
Lo más habitual es que la partición de arranque sea aquella que se corresponde con el primer disco (hda) y está marcada con un asterisco (*). En el listado anterior, la partición de arranque sería /dev/hda1.
Seguidamente, y recordando que hacemos esto sólo en el caso de que el programa de instalación no haya montado ya las particiones, crearemos un directorio sobre el cual montaremos posteriormente nuestra raiz de directorios (/):
# mkdir /sysimage
# mount -t ext3 /dev/hda1 /sysimage
Con esto habremos montado el sistema de ficheros raiz sobre el directorio /sysimage.
Si el sistema de rescate que hemos ejecutado desde el CD de instalación nos lo permite, ejecutaremos el comando grub sobre la consola y pasaremos al siguinte punto. En caso contrario, tendremos que funcionar sobre nuestro sistema de ficheros como si fuese el real. Esto se consigue mediante el comando chroot:
#chroot /sysimage
Con el sistema de ficheros montado con chroot, ya tendremos acceso al programa grub, que habitualmente se encuentra bajo el directorio /sbin. También hay que tener en cuenta que, si en alguna de las otras particiones tenemos montadas ramas del sistema necesarias para la ejecución de grub (como puede ser el propio /sbin o la rama /etc), estas habrán de ser montadas de la misma forma que montamos la partición raiz.
Dentro de grub
El acceso al programa grub se consigue de una forma muy simple:
#grub
Con lo que obtenemos una salida similar a esta:
GNU GRUB version 0.95 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename.]
grub>
Para grub, la referencia a las particiones y a los discos se hace de forma algo distinta a como estamos acostumbrados. Así, si nuestro sistema de ficheros raíz se encuentra en /dev/hda1, para grub se encontrará en (hd0,0): disco maestro primario, primera partición.
Una vez dentro del intérprete de comandos grub, tendremos que localizar dónde se encuentran los ficheros de configuración del gestor de arranque, lo cual se consigue mediante el siguiente comando:
grub> find /boot/grub/stage1
(hd0,0)
Si la partición /boot no forma parte de la partición raíz (/) y los ficheros de GRUB están situados en /boot/grub, es probable que find no pueda saber dónde se encuentran los ficheros, así que utilizaremos el comando como find /grub/stage1 si lo primero falla.
Seguidamente, se establece el sistema de arranque sobre la unidad devuelta por el comando find:
grub> root (hd0,0)
Filesystem type is ext2fs, partition type 0x83
Y finalmente instalaremos GRUB sobre la partición de arranque, en este caso sobre el primer disco (hd0):
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/grub.conf"... succeeded
Done.
Con el comando quit saldremos del intérprete de comandos grub y ya podremos reiniciar el sistema y comprobar que todo ha salido como esperábamos.
Posteriormente, podremos realizar cambios al menú de GRUB modificando el fichero /boot/grub/menu.lst o el fichero de configuración /etc/grub.conf.
__________________ Vive de manera que puedas mirar fijamente a los ojos de cualquiera y mandarlo al diablo.
-- Mencken, Henry-Louis -- |