lunes, 13 de septiembre de 2010

News: Problemas con GRUB y LILO resueltos.

 

News: Problemas con GRUB y LILO resueltos. Si en tu ordenador tenías instalado GRUB o LILO como gestores de arranque (para lanzar por ejemplo Ubuntu) y posteriormente intentabas instalar ReactOS en otra partición, seguro que te encontraste con mensajes de error del tipo:

“Node is not a directory” (El nodo no es un directorio).

ReactOS aniquilaba el arranque de GNU/Linux.

Ahora este bug ha sido resuelto y deberías poder instalar sin problemas ReactOS para arrancarlo dualmente.

Podrás comprobarlo en la versión 0.3.12 de ReactOS.

Si no sabes que es Grub, ni Lilo, ni “gestor de arranque”, ni te suena eso del “arranque dual”, o quieres saber algo más del Bug, sigue leyendo ;)

 

Grub/Lilo

 

GRUB (GRand Unifier Bootloader) es un gestor de arranque: es lo primero que se carga cuando se inicia el ordenador.

Permite tener diferentes sistemas operativos, y diferentes versiones de ellos, en el mismo disco duro. Por ejemplo podemos tener Windows y GNU/Linux en el mismo ordenador, GRUB se cargará antes que cualquiera de éstos permitiéndonos elegir cuál iniciar.

El gestor de arranque GRUB viene preinstalado en la mayoría de las distribuciones de GNU/Linux modernas, entre ellas Debian, Ubuntu y sus derivadas. Anteriormente, el gestor de arranque más usado era LILO.

 

 

El Bug

El problema ocurría cuando  Grub o Lilo se encontraba ya instalados en el ordenador(como parte de la instalación de Ubuntu por ejemplo).

Sin embargo, si se instalaba ReactOS primero y posteriormente Ubuntu, el problema no se daba.

Más info sobre el bug, aquí: Bug 2733

 

 

 

El Master Boot Record (MBR)

 

Lilo y Grub modifican una sección denominada Master Boot Record. El Master Boot Record es el primer sector del disco duro.

En informática todo empieza contando desde CERO, asi que a este primer sector también se le conoce como “Sector Cero” o “Sector de Arranque”.

En el Master Boot Record se almacenan varias informaciones:

El Gestor de Arranque+Una Tabla con las Particiones del Disco Duro+ Firma de Unidad Arrancable.

Hemos dicho que Grub y Lilo modifican el MBR, pero realmente modifican la sección “Gestor de Arranque” del mismo,con el fin de permitir tener 2 Sistemas Operativos distintos y “arrancar”  Ubuntu o  ReactOS en función de la elección del usuario.

 

 

 

Dos posibilidades

  • Ubuntu instalado+Instalando ReactOS:

Cuando instalábamos Ubuntu, Grub/Lilo modificaba el MBR.

Cuando (posteriormente) instalábamos ReactOS, ReactOS reescribía sobre el “Sector Cero” y aniquilábamos a Grub/Lilo ignorando la existencia de otros Sistemas Operativos previamente instalados. Entonces aparecía el Bug.

 

  • ReactOS instalado+Instalando Ubuntu:

Cuando instalábamos ReactOS el MBR era modificado.

Cuando (posteriormente) instalábamos Ubuntu, ReactOS era detectado y Grub/Lilo tenían en consideración la existencia de una instalación anterior. Todo perfecto.

 

 

 

Conclusión

El problema (como podéis imaginar) es mucho más complejo que esto, ya que entra en juego también la BIOS, el Volume Boot Record y la Tabla de las Particiones…

Lo importante es que el Bug ya está resuelto (o debería).

Si alguno se atreve a probarlo, solo necesita descargarse una Daily Build. En caso de encontrar algún problema, dejad un comentario con los detalles técnicos y se lo haremos llegar a los desarrolladores.

 

Gracias por vuestra colaboración :)

7 comentarios:

  1. Convengamos que esto era un bug para todos menos para Microsoft, dado que MS Windows desde siempre, y aún hoy, sigue pisando el GRUB y el LILO.

    Ya hay un puntito en el que ReactOS es superior a Windows, además del hecho de ser open source.

    ResponderEliminar
  2. Que bien lo probare en cuanto pueda, por otro lado hasta la 0.3.11 (no se si algun bootcd actual) sigue habiendo problemas con la instalacion reactos + msdos donde aunque si se detecta la instalacion de los dos sistemas al momento de ingresar se pierden las direcciones (he reportado ese bug), además en esa version reactos no detecta a freedos, saludos.

    ResponderEliminar
  3. ¿pero para el caso de windows, ya es funcional tener windows y reactos instalados en diferentes particiones de disco y que me salga con cula sistema debo trabajar ò solamente funciona con linux y reactos?

    Estamos en contacto!!

    ResponderEliminar
  4. Jose Felix, si bien no lo se con precisión, el boot loader de Windows es cerrado, así que no creo que se sepa cómo se actualizarían los sistemas; ahora, esto solo traería problemas si se mantiene el boot loader, si ReactOS carga el Freeldr, calculo que debería ser compatible con el arranque de los Windows (cosa que al parecer no pasa con los Linux, asumo que por mantener la compatibilidad con el bootloader de Win).
    En cualquier caso (y eso incluye FreeDOS), tenés la opción de crear una pequeña partición /boot y usar GRUB con ambos sistemas. Con 300MB debería sobrar, así que si te parece, creo que debe ser la opción más segura (igual recomendaría, si vas a hacer eso, instalar algún linux de los más chicos, como el DSL, para asegurarse de poder actualizar el GRUB cuando haga falta).

    ResponderEliminar
  5. Tambien me uno a la pregunta, ¿es posible tener windows y luego instalar reactos? ¿se podra lograr arranque multiple? ¿reactos soporta ya particiones primarias y secundarias?

    ResponderEliminar
  6. Hola Julcar,

    Como la respuesta es un tanto larga, me vas a permitir que te ponga simplemente el enlace a una versión traducida del mensaje original. La respuesta la escribe Eric Kohl, actual desarrollador del sistema de arranque de ReactOS.

    El enlace es este:
    http://translate.google.com/translate?js=n&prev=_t&hl=es&ie=UTF-8&layout=2&eotf=1&sl=en&tl=es&u=http%3A%2F%2Fwww.reactos.org%2Fpipermail%2Fros-dev%2F2010-September%2F013403.html&act=url

    ResponderEliminar