fallos (#4) - No reconoce el Sistema Operativo instalado en una partición cuando el directorio de sistema es distinto de Windows (#135) - Message List

No reconoce el Sistema Operativo instalado en una partición cuando el directorio de sistema es distinto de Windows
 unsolved

Haciendo pruebas para la posible migración de nuestro sistema de clonado de DRBL/clonezilla a OpenGnsys nos encontramos con el problema que OpenGnsys no reconocía el sistema operativo instalado en una partición windows.

Creemos que el problema radica en que nuestro directorio de sistema no se llama Windows sino WINNT.

  • Message #347

    Buenas.

    En teoría, OpenGnSys debe detectar el sistema Windows tanto en directorios "windows" como en "winnt", con cualquier combinación de mayúsculas y minúsculas.

    Puedes hacer las siguientes pruebas e indicarnos los resultados:

    # Se supone que Windows está instalado en la 1ª partición del disco (si no, hay que cambiar los valores de ogMount.
    MNTDIR=$(ogMount 1 1)
    # Mostrar versión de Windows.
    ogGetRegistryValue $MNTDIR software '\Microsoft\Windows NT\CurrentVersion\ProductName
    # Obtener el camino del fichero de registro para el Software instalado.
    ogGetHivePath $MNTDIR software
    

    Sería interesante saber también qué versión de OpenGnSys estás usando.

    • Message #348

      Gracias por la rápida respuesta. Creo que he encontrado el problema, está en la función ogGetHivePath dentro de la librería Registry.lib:

      224c224 < [ -f $FILENT ] && FILE="$FILENT" ---

      [ -f "$FILENT" ] && FILE="$FILENT"

      226c226 < [ -f $FLEHXP ] && FILE="$FILEXP" ---

      [ -f "$FILEXP" ] && FILE="$FILEXP"

      Me podéis confirmar que estos cambios no afectarían a otras partes del sistema?

      • Message #349

        Efectivamente, hay una errata en el fichero de la librería Registry.

        Te paso las líneas con el código correcto (hay que entrecomillar la variable en la comparación para evitar problemas).

        # Camino del fichero de registro en NT/2000 o XP/Vista/7.
        FILENT=$(ogGetPath "/$1/winnt/system32/config/$2")
        [ -f "$FILENT" ] && FILE="$FILENT"
        FILEXP=$(ogGetPath "/$1/windows/system32/config/$2")
        [ -f "$FILEXP" ] && FILE="$FILEXP"
        

        Voy a subir esta modificación a la versión de desarrollo, indicando la autoría del cambio.

        ¡Muchas gracias!

Attachments

No attachments created.