Esta partición es una ruina

El uso prolongado de las unidades de almacenamiento de nuestro ordenador (discos magnéticos, SSD, memorias flash) y el continuo trasiego de ficheros creados, borrados o copiados que ello genera, provoca un cierto desgaste en el sistema de ficheros con el cual han sido formateadas dichas unidades. Esto se traduce en la aparición progresiva de errores de inconsistencia en dicho sistema de ficheros, errores que se dejan notar con el paso del tiempo en el rendimiento del disco afectado, cuyo funcionamiento se va ralentizando gradualmente.

Con objeto de prevenir la aparición de problemas que podrían desencadenar en una pérdida de datos con información valiosa, tenemos en GNU/Linux una herramienta de diagnostico que se ejecuta desde la terminal para el análisis de una amplia variedad de sistemas de ficheros. Esta herramienta es el comando fsck, el cual es, en realidad, una interfaz de otros comandos que, ejecutados de manera transparente al usuario, examinan y reparan errores en los sistemas de ficheros sobre los cuales puede actuar fsck.

El comando fsck puede ser ejecutado de dos maneras: automáticamente durante el arranque del sistema, o manualmente por parte del usuario. En este artículo me voy a ocupar de los pormenores de la ejecución manual, dejando el modo automático para otra ocasión. Así que vamos a ello.

Como he dicho anteriormente, con este comando podemos explorar un sistema de ficheros, y, dependiendo del conjunto de opciones que elijamos al ejecutarlo, reparar los errores que pudieran detectarse. Hay que aclarar que fsck se puede aplicar sobre uno o más sistemas de archivos Linux, los cuales pueden señalarse mediante un nombre de partición de dispositivo (/dev/hdc1, /dev/sdb2), un punto de montaje (/, /usr, /home) o una etiqueta extX 1 o especificador UUID (UUID=8868abf6-88c5-4a83- 98b8-bfc24057f7bd o LABEL=raíz). Normalmente, el programa fsck intentará manejar sistemas de archivos de diferentes unidades de disco físicas en paralelo, para reducir la cantidad total de tiempo necesario para comprobar todas ellas. Vamos a ver, pues, como debemos ejecutar fsck.

Importante❗ antes de hacer nada con fsck es necesario desmontar la partición o particiones sobre las cuales vamos a intervenir.

  1. Verificación: para realizar una comprobación sin más de los posibles bloques dañados que pueda haber en, por ejemplo, el sistema de ficheros de un lápiz de memoria USB, ejecutaremos fsck de la siguiente manera:
    $ sudo fsck –MCVn /dev/sda1
    

    Y este podría ser el resultado de la ejecución:

    fsck de util-linux 2.27.1
    CP0: Argumento inválido
    Trying to set fallback DOS codepage 437
    fsck.fat 3.0.28 (2015-05-16)
    There are differences between boot sector and its backup.
    This is mostly harmless. Differences: (offset:original/backup)
      3:53/6d, 4:59/6b, 5:53/66, 6:4c/73, 7:49/2e, 8:4e/66, 9:55/61, 10:58/74
      , 90:fa/0e, 91:fc/1f, 92:31/be, 93:c9/77, 94:8e/7c, 95:d1/ac, 96:bc/22
      , 97:76/c0, 98:7b/74, 99:52/0b, 100:06/56, 101:57/b4, 102:1e/0e, 103:56/bb
      , 104:8e/07, 105:c1/00, 106:b1/cd, 107:26/10, 108:bf/5e, 109:78/eb
      , 110:7b/f0, 111:f3/32, 112:a5/e4, 113:8e/cd, 114:d9/16, 115:bb/cd
      , 116:78/19, 117:00/eb, 118:0f/fe, 119:b4/54, 120:37/68, 121:0f/69
      , 122:a0/73, 123:56/20, 124:20/69, 125:d2/73, 126:78/20, 127:1b/6e
      , 128:31/6f, 129:c0/74, 130:b1/20, 131:06/61, 132:89/20, 133:3f/62
      , 134:89/6f, 135:47/6f, 136:02/74, 137:f3/61, 138:64/62, 139:a5/6c
      , 140:8a/65, 141:0e/20, 142:18/64, 143:7c/69, 144:88/73, 145:4d/6b
      , 146:f8/2e, 147:50/20, 148:50/20, 150:50/6c, 151:cd/65, 152:13/61
      , 153:eb/73, 154:62/65, 155:8b/20, 156:55/69, 157:aa/6e, 158:8b/73
      , 159:75/65, 160:a8/72, 161:c1/74, 162:ee/20, 163:04/61, 164:01/20
      , 165:f2/62, 166:83/6f, 167:fa/6f, 168:4f/74, 169:76/61, 170:31/62
      , 171:81/6c, 172:fa/65, 173:b2/20, 174:07/66, 175:73/6c, 176:2b/6f
      , 177:f6/70, 178:45/70, 179:b4/79, 180:7f/20, 181:75/61, 182:25/6e
      , 183:38/64, 184:4d/0d, 185:b8/0a, 186:74/70, 187:20/72, 188:66/65
      , 189:3d/73, 190:21/73, 191:47/20, 192:50/61, 193:54/6e, 194:75/79
      , 195:10/20, 196:80/6b, 197:7d/65, 198:b8/79, 199:ed/20, 200:75/74
      , 201:0a/6f, 202:66/20, 203:ff/74, 204:75/72, 205:ec/79, 206:66/20
      , 207:ff/61, 208:75/67, 209:e8/61, 210:eb/69, 211:0f/6e, 212:51/20
      , 213:51/2e, 214:66/2e, 215:ff/2e, 216:75/20, 217:bc/0d, 218:eb/0a
      , 219:07/00, 220:51/00, 221:51/00, 222:66/00, 223:ff/00, 224:36/00
      , 225:1c/00, 226:7c/00, 227:b4/00, 228:08/00, 229:e8/00, 230:e9/00
      , 232:72/00, 233:13/00, 234:20/00, 235:e4/00, 236:75/00, 237:0f/00
      , 238:c1/00, 239:ea/00, 240:08/00, 241:42/00, 242:89/00, 243:16/00
      , 244:1a/00, 245:7c/00, 246:83/00, 247:e1/00, 248:3f/00, 249:89/00
      , 250:0e/00, 251:18/00, 252:7c/00, 253:fb/00, 254:bb/00, 255:aa/00
      , 256:55/00, 257:b4/00, 258:41/00, 259:e8/00, 260:cb/00, 262:72/00
      , 263:10/00, 264:81/00, 265:fb/00, 266:55/00, 267:aa/00, 268:75/00
      , 269:0a/00, 270:f6/00, 271:c1/00, 272:01/00, 273:74/00, 274:05/00
      , 275:c6/00, 276:06/00, 277:46/00, 278:7d/00, 280:66/00, 281:b8/00
      , 282:d6/00, 283:95/00, 284:24/00, 286:66/00, 287:ba/00, 292:bb/00
      , 294:80/00, 295:e8/00, 296:0e/00, 298:66/00, 299:81/00, 300:3e/00
      , 301:1c/00, 302:80/00, 303:8c/00, 304:ad/00, 305:7f/00, 306:68/00
      , 307:75/00, 308:74/00, 309:e9/00, 310:f8/00, 311:02/00, 312:66/00
      , 313:03/00, 314:06/00, 315:60/00, 316:7b/00, 317:66/00, 318:13/00
      , 319:16/00, 320:64/00, 321:7b/00, 322:b9/00, 323:10/00, 325:eb/00
      , 326:2b/00, 327:66/00, 328:52/00, 329:66/00, 330:50/00, 331:06/00
      , 332:53/00, 333:6a/00, 334:01/00, 335:6a/00, 336:10/00, 337:89/00
      , 338:e6/00, 339:66/00, 340:60/00, 341:b4/00, 342:42/00, 343:e8/00
      , 344:77/00, 346:66/00, 347:61/00, 348:8d/00, 349:64/00, 350:10/00
      , 351:72/00, 352:01/00, 353:c3/00, 354:66/00, 355:60/00, 356:31/00
      , 357:c0/00, 358:e8/00, 359:68/00, 361:66/00, 362:61/00, 363:e2/00
      , 364:da/00, 365:c6/00, 366:06/00, 367:46/00, 368:7d/00, 369:2b/00
      , 370:66/00, 371:60/00, 372:66/00, 373:0f/00, 374:b7/00, 375:36/00
      , 376:18/00, 377:7c/00, 378:66/00, 379:0f/00, 380:b7/00, 381:3e/00
      , 382:1a/00, 383:7c/00, 384:66/00, 385:f7/00, 386:f6/00, 387:31/00
      , 388:c9/00, 389:87/00, 390:ca/00, 391:66/00, 392:f7/00, 393:f7/00
      , 394:66/00, 395:3d/00, 396:ff/00, 397:03/00, 400:77/00, 401:17/00
      , 402:c0/00, 403:e4/00, 404:06/00, 405:41/00, 406:08/00, 407:e1/00
      , 408:88/00, 409:c5/00, 410:88/00, 411:d6/00, 412:b8/00, 413:01/00
      , 414:02/00, 415:e8/00, 416:2f/00, 418:66/00, 419:61/00, 420:72/00
      , 421:01/00, 422:c3/00, 423:e2/00, 424:c9/00, 425:31/00, 426:f6/00
      , 427:8e/00, 428:d6/00, 429:bc/00, 430:68/00, 431:7b/00, 432:8e/00
      , 433:de/00, 434:66/00, 435:8f/00, 436:06/00, 437:78/00, 439:be/00
      , 440:da/00, 441:7d/00, 442:ac/00, 443:20/00, 444:c0/00, 445:74/00
      , 446:09/00, 447:b4/00, 448:0e/00, 449:bb/00, 450:07/00, 452:cd/00
      , 453:10/00, 454:eb/00, 455:f2/00, 456:31/00, 457:c0/00, 458:cd/00
      , 459:16/00, 460:cd/00, 461:19/00, 462:f4/00, 463:eb/00, 464:fd/00
      , 465:8a/00, 466:16/00, 467:74/00, 468:7b/00, 469:06/00, 470:cd/00
      , 471:13/00, 472:07/00, 473:c3/00, 474:42/00, 475:6f/00, 476:6f/00
      , 477:74/00, 478:20/00, 479:65/00, 480:72/00, 481:72/00, 482:6f/00
      , 483:72/00, 484:0d/00, 485:0a/00, 504:fe/00, 505:02/00, 506:b2/00
      , 507:3e/00, 508:18/00, 509:37/00
    1) Copy original to backup
    2) Copy backup to original
    3) No action
    ?
    

    Como puede verse, fsck ha detectado un inofensivo problema de incoherencia entre el sector de arranque de la unidad y su copia de seguridad, algo fácilmente soluble con solo forzar otra copia de seguridad.

    1) Copy original to backup
    2) Copy backup to original
    3) No action
    ? 1
    Perform changes ? (y/n) y
    /dev/sda1: 563 files, 297965/942340 clusters
    
  2. Reparación: se puede reparar un sistema de ficheros lanzando fsck con distintas opciones, según el comportamiento con el cual queremos que se ejecute.
    • Para ejecutarlo en modo no interactivo, con la posibilidad de interrumpirse si encuentra algún error que requiera la intervención del usuario, escribiremos lo siguiente:
      $ sudo fsck –MCVa /dev/sda1
        

      Si encuentra un error de ese tipo devolverá un código de salida superior a 2; en cuyo caso, el administrador deberá corregir el error manualmente. Se puede obtener el valor de dicho código ejecutando echo $? en el terminal.

    • La otra opción es ejecutarlo en modo interactivo, pero asumiendo una respuesta afirmativa a todas las posibles preguntas que nos plantee; de forma que será como un fsck no interactivo, pero irá corrigiendo todos los errores.
      $ sudo fsck –MCVy /dev/sda1
        

      Este modo de ejecución no se puede utilizar con todos los sistemas de ficheros.

Con la opción –M nos aseguraremos de que fsck no examine sistemas de ficheros montados y devuelva un código 0 si se diera el caso.

Y estas son los posibles usos que se le pueden dar al comando fsck, una utilidad, como ya he dicho antes, que se adapta automáticamente a diversos sistemas de ficheros, ahorrándonos el esfuerzo de memorizar una sarta de comandos específicos para cada sistema (efsck, e2fsck, dosfsck, fsckvfat, etc.).


  1. Siendo X=1, 2, 3 o 4 
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s