Arreglo de un número mágico dañado en el superbloque del sistema de archivos

Si el superbloque de un sistema de archivos se ha dañado, no se puede acceder al sistema de archivos. Puede arreglar un número mágico dañado del superbloque del sistema de archivos.

La mayor parte de los daños del superbloque se pueden reparar. En el procedimiento siguiente se describe el modo de reparar un superbloque en un sistema de archivos JFS cuando el problema se debe un número mágico dañado. Si se ha dañado el superbloque primario de un sistema de archivos JFS2, utilice el mandato fsck para copiar automáticamente el superbloque secundario y reparar el superbloque primario.

En el caso de ejemplo siguiente, se asume que /home/myfs es un sistema de archivos JFS en el volumen físico /dev/lv02.

La información de este procedimiento se ha probado utilizando versiones específicas de AIX. Los resultados que obtenga pueden variar significativamente dependiendo de la versión y el nivel de AIX.

  1. Desmonte el sistema de archivos /home/myfs, que sospecha que puede estar dañado; para ello, utilice el mandato siguiente:
    umount /home/myfs
  2. Para confirmar que el sistema de archivos se ha dañado, ejecute el mandato fsck en el sistema de archivos. Por ejemplo:
    fsck -p /dev/lv02
    Si es problema es que se ha dañado el superbloque, el mandato fsck devuelve un mensaje similar a los siguientes:
    fsck: No es un sistema de archivos AIXV5
    O BIEN
    No es un tipo de sistema de archivos reconocido
  3. Con autorización de root, utilice el mandato od para visualizar el superbloque para el sistema de archivos, tal como se muestra en el ejemplo siguiente:
    od -x -N 64 /dev/lv02 +0x1000
    Donde el distintivo -x muestra la salida en formato hexadecimal y el distintivo -N indica al sistema que dé formato a no más de 64 bytes de entrada a partir del parámetro de desplazamiento (+), que especifica el punto del archivo donde se inicia la salida del archivo. Lo siguiente es una salida de ejemplo:
    0001000  1234 0234 0000 0000 0000 4000 0000 000a
    0001010  0001 8000 1000 0000 2f6c 7633 0000 6c76
    0001020  3300 0000 000a 0003 0100 0000 2f28 0383
    0001030  0000 0001 0000 0200 0000 2000 0000 0000
    0001040
    En la salida anterior, observe el valor mágico dañado en 0x1000 (1234 0234). Si todos los valores predeterminados se toman al crear el sistema de archivos, el número mágico debe ser 0x43218765. Si se altera temporalmente alguno de los valores predeterminados, el número mágico debe ser 0x65872143.
  4. Utilice el mandato od para comprobar el superbloque secundario para un número mágico correcto. A continuación, se muestra un mandato de ejemplo y su salida:
    $ od -x -N 64 /dev/lv02 +0x1f000
    001f000  6587 2143 0000 0000 0000 4000 0000 000a
    001f010  0001 8000 1000 0000 2f6c 7633 0000 6c76
    001f020  3300 0000 000a 0003 0100 0000 2f28 0383
    001f030  0000 0001 0000 0200 0000 2000 0000 0000
    001f040
    Observe el valor del número mágico correcto en 0x1f000.
  5. Copie el superbloque secundario en el superbloque primario. A continuación, se muestra un mandato de ejemplo y su salida:
    $ dd count=1 bs=4k skip=31 seek=1 if=/dev/lv02 of=/dev/lv02
    dd: 1+0 records in.
    dd: 1+0 records out.
  6. Utilice el mandato fsck para limpiar los archivos incoherentes debidos al uso del superbloque secundario. Por ejemplo:
    fsck /dev/lv02 2>&1 | tee /tmp/fsck.errs