Páginas

sábado, 29 de septiembre de 2012

Cómo reinstalar el menú de arranque de openSUSE 12.2

El menú de inicio de openSUSE 12.2 es generado por GRUB 2, el cargador de arranque por defecto de openSUSE 12.2. El cargador de arranque es el primer programa que se ejecuta cuando se enciende el ordenador. Hasta openSUSE 12.2, el cargador de arranque por defecto era GRUB 1, también llamado GRUB Legacy porque ya no se desarrolla.

GRUB es un cargador de arranque múltiple desarrollado por el proyecto GNU. GRUB permite elegir qué sistema operativo, de todos los que se encuentran instalados en el ordenador, debe iniciarse, y también permite seleccionar un núcleo específico con una configuración determinada de una distribución Linux. GRUB permite arrancar una amplia variedad de sistemas operativos, además de Linux. GRUB es compatible con todas las versiones de Windows.

En openSUSE, las opciones de GRUB se configuran con YaST.  Por defecto, openSUSE instala el código de arranque de GRUB en el sector de arranque de la partición raíz del sistema y marca esta partición como partición activa o partición de arranque. Cuando se enciende el ordenador, el sistema básico de entrada y salida (BIOS) localiza el primer disco duro y ejecuta el código de arranque genérico instalado en el sector de arranque principal (MBR), que ejecuta el código de arranque de GRUB instalado en la partición activa.

GRUB también se puede instalar en una partición /boot separada (que no se crea por defecto en la instalación de openSUSE) o en la partición extendida (si la partición raíz se encuentra en una partición lógica y no existe una partición de arranque separada). No se recomienda instalar el código de arranque de GRUB en el MBR si se ha instalado otro sistema operativo en el equipo.

Si por alguna razón, como la instalación de un nuevo sistema operativo en el ordenador o por una actualización incorrecta, el sector de arranque principal del disco duro es sobreescrito o los archivos de configuración de GRUB son corrompidos, nos podemos encontrar con que el menú de arranque ha desaparecido o bien no podemos iniciar uno o varios de los sistemas operativos que tenemos instalados en el equipo. En ese caso, ¡qué no cunda el pánico! Para recuperar un menú de arranque operativo, basta con reinstalar GRUB.

Para reinstalar GRUB 2 en openSUSE 12.2 hay que seguir los pasos siguientes:

1. Arrancar el ordenador con el DVD de instalación de openSUSE 12.2. Elegir la opción de "Rescue System" o "Sistema de rescate" e iniciar sesión como superusuario escribiendo root.

Rescue login:
Rescue login: root
Rescue:~ #

2. Averigurar el nombre de la partición raíz de openSUSE 12.2. Ejecutar el comando fdisk -l para listar las particiones del sistema. Para el caso de una instalación por defecto con partición /home separada, la salida de este comando puede ser parecida a esta:

Rescue:~ # fdisk -l

Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x89c77279

Device    Boot     Start       End    Blocks Id System
/dev/sda1           2048   4208639   2103296 82 Linux swap / Solaris
/dev/sda2   *    4208640  46153727  20972544 83 Linux
/dev/sda3       46153728 625141759 289494016 83 Linux
Rescue:~ #

En este caso la partición raíz es /dev/sda2.

3. Montar la partición raíz del sistema openSUSE 12.2 instalado.

mount /dev/sda2 /mnt

4. Montar las otras particiones del sistema openSUSE 12.2 instalado.

mount --bind /dev /mnt/dev

Si el sistema instalado dispone de una partición de arranque separada, hay que montarla en /mnt/boot.

mount /dev/sdaX /mnt/boot

X es el número de la partición de arranque del disco /dev/sda.

5. Acceder al directorio raíz del sistema openSUSE 12.2 instalado. El indicador del sistema cambiará a  Rescue:/>.

chroot /mnt

6. Respaldar el archivo de configuración de GRUB 2, por si acaso.

mv /boot/grub2/grub.cfg /boot/grub2/grub.cfg.old

7. Regenerar el archivo de configuración de GRUB 2.

grub2-mkconfig -o /boot/grub2/grub.cfg

8. Instalar GRUB 2 en el MBR del disco duro o en el sector de arranque de la partición raíz de openSUSE.
  • En el MBR del disco duro:

    grub2-install /dev/sda
  • En la partición raíz de openSUSE:

    grub2-install /dev/sda2
9. Desmontar las particiones, salir del directorio raíz del sistema instalado y reiniciar.

umount -a

exit

reboot

He aquí una fotografia de un proceso similar al descrito. En este caso, la partición raíz es /dev/sda3.


Si arrancamos con un LiveCD de openSUSE 12.2 en vez de con el DVD de instalación, el proceso es el mismo. Sólo hay que abrir un terminal e iniciar sesión como superusuario con el comando su -. Este comando nos pedirá la contraseña de superusuario, que es linux.

Para obtener más información sobre las particiones del equipo, se puede recurrir a un CD de rescate, como KDE Partition Manager Live, y ejecutar una herramienta gráfica de particionamiento, como KDE Partition Manager. En el LiveCD de openSUSE 12.2 disponemos del módulo de particionamiento de YaST.

Para restaurar el cargador de arranque GRUB también se puede utilizar el CD de rescate Rescatux, que dispone de un asistente gráfico para las tareas de rescate. Rescatux también sirve para comprobar y reparar los sistemas de archivo, incluso aunque aparentemente no presenten errores. Esta distribución está totalmente traducida al castellano.

Fuentes:

39 comentarios:

  1. Muy completa la informacion pero en mi caso no se por que al inicio cuando doy el comando de fdisk -1 me indica que me faltan argumentos... por lo tanto no pude avanzar, desde el inicio me dio ese problema...

    ResponderEliminar
    Respuestas
    1. Es menos ele saco de cachas

      Eliminar
    2. Es menos ele saco de cachas

      Eliminar
  2. Hola. Es que no es un uno, es una ele, o sea fdisk -l, con una ele de "list".

    Un saludo.

    ResponderEliminar
  3. Muy buena explicación ,es la primera vez que lo consigo jejeej



    Gracias

    ResponderEliminar
    Respuestas
    1. Gracias por el comentario. Un par de preguntas: ¿Qué te ocurrió para que tuvieras que reinstalar GRUB? ¿Lo reinstalaste en el MBR o en la partición raíz? No es por curiosidad, es por ofrecer información sobre un caso práctico a los lectores.

      Eliminar
  4. Gracias por el tutorial. No conseguía iniciar mi suse 12.2 y me a venido de perlas.
    Saludos

    ResponderEliminar
  5. Se ve muy completa la guía, tentadora ahora que quiero instalar Windows 8 y conservar mi instalación de openSUSE 12.2 (actualmente tengo éste y Windows 7). Y es que según mi experiencia, cuando se tiene Windows y openSUSE y se reinstala Windows, este proceso corrompe o sobrescribe GRUB y tengo que reinstalar openSUSE.

    Me quedaron unas dudas, si pudiese responder: menciona ud. que no se recomienda instalar GRUB 2 en el MBR si se tiene otro sistema operativo, sin embargo en el paso 8 lo menciona como opción, como si sí fuese viable y pasando un poco por alto la anterior advertencia. Si manejo Windows y openSUSE, ¿mejor entonces optar por instalar GRUB 2 en la partición raíz de openSUSE?
    Y ahora que lo pienso, al hacer una instalación nueva de openSUSE, ¿es en la partición raíz de éste donde por default se instala GRUB 2?

    Por su ayuda, gracias.

    ResponderEliminar
  6. Yast no recomienda instalar GRUB en el MBR si se instala también otro sistema operativo, pero es posible hacerlo. Por defecto, Yast siempre instala GRUB en la partición raíz cuando se instala el sistema. Mi recomendación: siempre es más seguro instalarlo en la partición raíz. De todas formas, yo he probado este sistema de recuperación instalando GRUB en el MBR y en la partición raíz. Y en ambos casos no tuve ningún problema.

    Si te decides a instalar Windows 8 y tienes que recuperar GRUB, comenta cómo te va.

    Un saludo.

    ResponderEliminar
    Respuestas
    1. disculpa que conteste hasta ahora pero lo que estaba tratando de realizar era arreglar el arrancador porque eliminé windows hace mucho tiempo; sin embargo tuve que volver a instalarlo por cuestiones de trabajo, asi que se me paseó en el arranque de mi estimadisimo suse; por ese motivo estaba tratando de cargar otra vez el grub, para que asi pudiera tener de vuelta mi suse y lamentablemente tambien al mal instalados ambos en la misma casa...

      Eliminar
    2. Supongo que te ha ido bien. Ahora creo que es tarde, pero dependiendo de la potencia del ordenador, podría haber sido una solución instalar Windows en VirtualBox. Yo tengo Windows XP sobre VirtualBox para uso muy ocasional, por problemas de algunos .doc del trabajo, y funciona perfectamente.

      Un saludo.

      Eliminar
    3. Hola toniem: no entiendo por qué dices que tienes que usar Windows para los archivos .doc del trabajo. LibreOffice de Linux permite crear y modificar archivos .doc

      Saludos

      Eliminar
    4. Hay archivos .doc complejos que no se abren bien en LibreOffice: tablas, cuadros de texto, imágenes...

      Eliminar
  7. Mira en realidad estoy varado desde hace mucho tiempo... jajaja lo que ocurre es que despues de haber "metido la pata" no he vuelto a intentar porque estoy muy ocupado, en estos dias que estoy de vacaciones estoy retomando un poco el restablecer mi suse porque me hace mucha pero mucha falta! es horrible!

    Me di cuenta de que existia el virtual box hasta despues de haber "metido la pata".

    Bien; si puedes darme soporte te lo agradeceré demasiado; estoy convencido de que esto le va a ayudar a alguien porque es algo que le puede ocurrir a cualquier mortal.

    Esta es la informacion inicial:

    Device Boot Start End Blocks Id System
    /dev/sda1 2048 321535 159744 83 Linux swap / Solaris
    /dev/sda2 321536 500631551 250155008 8e Linux
    /dev/sda3 500631552 508823551 4096000 82 Linux
    /dev/sda4 * 508823552 625141759 58159104 7 HPFS/NTFS/exFAT
    Rescue:~ #


    No se si el resto de los datos es necesario; pero en este punto tengo varias dudas:

    1. La particion que "bootea" es la de windows logicamente, esa no la tengo que montar cierto?

    2. Intenté montar las otras particiones de linux y la unica que me deja montar es la sda1 (supongo que no es la correcta) las otras me indican esta informacion:
    **La primera me parece que era la correcta.

    Rescue:~ # mount /dev/sda2 /mnt
    mount: unknown filesystem type 'LVM2_member'

    La segunda:

    Rescue:~ # mount /dev/sda3 /mnt
    mount: unknown filesystem type 'swap'

    ResponderEliminar
    Respuestas
    1. Yo deduzco que la partición raíz de openSUSE debe ser /dev/sda2. Pero el tipo es LVM (identificador 82e), no sé porqué utilizas Logical Volume Manager. No tengo experiencia con ese tema. Yo te recomendaría que probaras con Rescatux o buscar información en forosuse.org. La solución fácil y pesada, claro, es actualizar la instalación de openSUSE desde el DVD de instalación. No perderás tus datos ni tus configuraciones si no formateas tu partición /home.

      Espero haberte ayudado. Un saludo.

      Un saludo.

      Eliminar
  8. Excelente artículo y muy minuciosamente explicado. Te felicito. No tengo problemas en mi ordenador con GRUB, donde por cierto, tampoco convive Windoues (No sé si se escribe así) y no lo necesito para nada. OpenSUSE 12.2 instaló GRUB perfectamente en su día y hasta el momento no ha habido problema alguno. No obstante he tomado notas por que nunca se sabe y quizás en un futuro me hagan falta. Gracias.

    ResponderEliminar
  9. Que tal, hace unos días instalé por primera vez opensuse(por primera vez) junto con win7, y todo iba bien con las instalaciones desde yast y en fin con todo el sistema. El problema vino cuando quise hibernar, ya que hibernó y todo, pero al encenderlo la pantalla se trabó y no reaccionó más, así que tuve que reiniciar a botonazo jejeje.

    Después inicié con win y trabaje normal, pero al intentar hibernar, sólo apagaba la pantalla pero el equipo seguia funcionando, y al mover el mouse continuaba como si no hubiera sido hibernada, ya busqué la solución al problema y debo marcar la partición de windows como activa para que funcione, pero esto me traería el problema de perder el Grub, con esto dicho puedes orientarme acerca de en qué partición poner el Grub nuevamente??? Te comento que es Opensuse 12.3 KDE.

    Saludos.

    ResponderEliminar
    Respuestas
    1. Para hibernar en Linux, has de tener una partición swap como mínimo del mismo tamaño que la memoria RAM. La hibernación y la suspensión a veces no funciona correctamente en Linux por culpa del BIOS de algunas placas, depende de la versión del núcleo y de la distribución. Busca información sobre tu hardware específico. Por otra parte el comportamiento que me comentas con Win7 es muy extraño. En principio con YaST puedes marcar la partición de Win7 como la partición activa, eso no implica perder el GRUB2 ni le impide a openSUSE poder arrancar. La recomendación es instalar el GRUB2 en la partición de arranque de openSUSE (si es una partición primaria), sobre todo si se comparte el disco con Windows.

      Un saludo.

      Eliminar
    2. Que tal, gracias por tu respuesta aunque la vi muy tarde jejeje!!!!
      Bueno pues te cuento, hice lo que leí en la otra pagina de marcar la partición de windows como activa, y ah sorpresa!!! Perdí el Grub y dije, no hay problema, ahorita lo resuelvo con este post, pero nunca pasaba del paso de regenerar el grub. Así que como necesitaba usar mi windows me puse a configurarlo por consola jejeje ya que tambien se jodio la MRB y no me detectaba el Bootimgr, total que por fin quedo y así lo use hasta hoy, que decidí recuperar mi grub, así que bajé rescatux, lo bootee y después me decia que habia podido recuperar mi grub, pero al reiniciar solo me aparecía la consola de grub, y nunca habia trabajado con ella, así que a buscar tutoriales y todo. Después de checar algunas páginas encontré lo que necesitaba para reconfigurar el menu.ls y entrar por fin a mi opensuse. Reinicié y oh problema, otra vez consola de grub, mi error fue no regenerar mi grub desde opensuse e instalarlo en la raiz de opensuse para que me booteara el grub, bueno lo regenere, lo instalé y listo tengo nuevamente mi grub funcionando y sin problemas con opensuse. Pero mi problema con win7 continua, no hiberna y cuando lo había marcado como partición activa si lo hacía. Ya cheque en el particionador de YaST y no encuentro la opción de marcarlo como activo, me podrías ayudar acerca de como hacerlo para no tener que volver a realizar todo lo que hice la vez anterior. Te comento que mi disco esta así
      Sda1 win7 531 GB NTFS
      sda2 extended 50 «- esta es la particion extendida que utilizo para opensuse
      sda3 Recovery 14 GB NTFS
      sda5 Linux native 36 GB ext4 /home
      sda6 Linux natice 10 GB ext4 /
      sda7 Linux Swap 4 GB swap

      No se por que no tengo sda4 jejeje, no me aparece en particionador de YaST.
      Espero y puedas ayudarme nuevamente, saludos!!!

      Eliminar
  10. Miguel de Castro11/5/13 9:06

    Hola, he realizado una instalación nueva de opensuse 12.3, después de estar pegándome con una actualización desde 12.2 ya que se me bloquea en el arranque, al terminar de instalar la 12.3 me doy cuenta de que me ha puesto el arranque en el disco duro principal, lo que quiero hacer es ponerlo en el disco donde he instalado opensuse , ya que es un disco usb y no está siempre conectado. ¿Siguiendo estos pasos se podría hacerlo?

    ResponderEliminar
    Respuestas
    1. Supongo que en el disco duro principal tienes Windows y en el disco USB tienes openSUSE y cuando lo tienes conectado el disco USB arrancas desde el disco USB, ¿sí?. Primero tienes que instalar GRUB 2 en el disco desde openSUSE con YasT --> Cargador de arranque. Después tienes que recuperar el arranque de Windows. Para eso consulta, por ejemplo, este artículo:

      http://www.taringa.net/posts/info/14563642/Como-Eliminar-Grub-Linux-De-Arranque-De-Windows-Vista-O-Seve.html

      Espero que te vaya bien, un saludo.

      Eliminar
    2. Miguel de Castro11/5/13 9:45

      Gracias por la respuesta, efectivamente tengo Windows XP en el principal y cuando quiero openSUSE arranco desde el disco usb

      Eliminar
    3. Cuando instales GRUB 2 en el disco USB, comprueba que arranca antes de eliminar GRUB 2 del disco duro principal. Parece una tontería, pero más vale prevenir. Un saludo.

      Eliminar
    4. Miguel de Castro11/5/13 14:02

      No te he respondido antes por problemas con el PC, lo probare y ya te contare.

      Gracias

      Eliminar
  11. Anónimo20/9/13 2:37

    q tal oye por requisito de la escuela tuve q instalar opensuse 12.3 y windows7 asi q tnia las dos particiones y todo jalaba bien menos cuando en windows se instalaban actualizaciones y cuando se reiniciaba decia que no se encontraba la imagen o algo asi jeje pero en cuanto la volvia a apagar y encender entraba de nuevo si problemas pero en la ultima actualizacion que hizo la maquina despues de varios dias(meses) ocurrio lo mismo pero ya jamas volvio a entrar en windows y solo podia entrar a opensuse entonces para "solucionarlo" puse el disco de instalacion de win7 y le di en reparar y en la terminal meti esto bootrec /fixmbr q supuestamente era para arreglar esto ..y en cuanto reinicie se perdio el menu de elegir el sistema operativo y ya ni a open pude entrar solo se podia a win7 pero seguia con el mismo error asi q decidi instalar win7 otravez para recuperar mis cosas de la carpeta windows.old y si funciono pero ahora no se como recuperar mi particion de opensuse 12.3 t estaria completamente agradecido si me pudieras ayudar con este problema mi buen .. saludos

    ResponderEliminar
    Respuestas
    1. Hola. No tienes más que seguir los pasos que describo. Son los mismos para openSUSE 12.2 y 12.3. Un saludo.

      Eliminar
    2. Anónimo21/9/13 1:26

      ok mychas gracias eres muy bueno compa..!

      Eliminar
    3. No hay de qué. Un saludo.

      Eliminar
  12. Disculpa en el menu que hablas al principio como le hagi para canbiar de opcion? Esque aparecen 3 opciones y windows es la ultima , ya le pique a todos los botones y no puedo jaaja tu sabes como?

    ResponderEliminar
    Respuestas
    1. Normalmente con las teclas del cursor y la tecla "entrar". Un saludo.

      Eliminar
  13. He instalado la nueva versión 13.1 junto con W7 en mi portátil, sorprendentemente sale en una de las opciones del menú de arranque, Wxp. Luego he probado con 12.3 y lo mismo. No me había sucedido nada igual hasta la fecha, ¿cómo solucionarlo?.

    ResponderEliminar
    Respuestas
    1. Pero arranca el W7? Si es así, entonces solo es un problema de nombres. Para editar el menú del cargador de arranque tienes YaST -- > Cargador de arranque --> Opciones del cargador de arranque. Cuidado con lo que tocas, porque puede ser que pierdas el arranque de alguno de los sistemas instalados. Un saludo.

      Eliminar
  14. Hola, cuando ejecuto: grub2-mkconfig -o /boot/grub2/grub.cfg me dice que no encuentra el directorio.

    ResponderEliminar
    Respuestas
    1. Hola, Miguel. Parece que no has montado la partición /boot. Vuelve a repasar el tutorial. Un saludo.

      Eliminar
    2. Gracias, era eso, no la había montado.
      Saludos.

      Eliminar
  15. Hola espero me puedas ayudar por favor, mi laptop viene con win8 de fabrica, por cuestiones de la escuela tuve que instalar opensuse, cree las particiones necesarias y se instaló muy bien, al reiniciar mi máquina me encuentro con que solo me da la opción de entrar con linux pero Windows ya no aparece, cheque y las demás particiones estan bien (o eso creo porque su nombre y su volumen no cambiaron) tu crees que pueda volver a iniciar con win8 o ya me olvido de el :(?? De antemano muchas gracias!!

    ResponderEliminar
  16. Me uno a los comentarios, ya que estoy pasando por esta experiencia, ya tenia instalado win 7 y Suse 12.2.. De pronto windows se cuelga y al reinstalar ya no me permite entrar a suse, lo que hice fue entrar con el disco suse de instalacion y actualizarlo y ahora no entro a windows solo aparece GRUB_ y el guion bajo intermitente y la pantalla en negro.. Espero solucionarlo con los comandos brindados..

    ResponderEliminar