2006-10-15

Windows y FAT32

Bueno, hoy estoy inspirado (o confuso, que es una situación mucho más habitual para mí).


Cuando compré el portátil desde el que escribo, una de las primeras cosas que hice fue quitar el Windows XP Home Edition que venía de fábrica y poner Windows 2000 Professional. Esto puede parecer una estupidez, pero en aquella época, Windows XP era relativamente nuevo (no había salido ni el Service Pack 1, si la memoria no me falla) y, encima, la versión Home venía capada (ahora que lo pienso, sigue estando capada): no había opciones sencillas de administración de permisos de acceso y cosillas así.


Bueno, puesto que entonces el acceso a NTFS en Linux era, cuando menos, complejo (no había cosas como ndiswrap o NTFS-3G). Así que particioné todo en FAT32 (sí, sí, ¿para qué quiero entonces todo el soporte de permisos de acceso? Nunca he dicho que fuera coherente conmigo mismo). Pasando el tiempo, compré una unidad externa para discos duros IDE de 3,5 pulgadas con conexión USB. No me compliqué y dejé la partición FAT32 que venía de fábrica. FAT32 no es un sistema de ficheros especialmente bueno: es tan propenso a perder información como FAT16, pero en montones más grandes. Pero... lo entienden casi todos los sistemas operativos.


Así que, hace dos días, después de quitar de enmedio unos cuantos GiB del mismo: vídeos familiares de BBC (bodas, bautizos y comuniones), vídeos descargados tiempo ha como Revelations y morralla variada, me dispuse a desfragmentarlo. Sí, esa tarea que ha consumido horas y horas de encendido de equipos desde 1981 (y no antes porque no existía el IBM PC). Considerando el tiempo que llevaba usando el disco, es un milagro que no lo hubiera hecho antes.


Dos días después (aproximadamente) de empezar, el proceso acabó. Pero, como uno ya está escaldado (y, esta vez, suficientemente lúcido como para darse cuenta), pedí un nuevo análisis del disco. ¡Oh, sorpresa! El disco, aunque Windows afirmaba que ya estaba listo, seguía teniendo, a ojímetro compensado, más de un 20% de fragmentación. "En mis tiempos...", cuando desfragmentabas un disco, quedaba desfragmentado. Todo, excepto lo que realmente no se pudiera mover, como los archivos de sistema. ¿Tan difícil es defragmentar FAT32? No debe serlo, porque la segunda ejecución está avanzando (¿pero no estaba ya desfragmentada la partición) a buen ritmo. La única explicación razonable que se me ocurre es que mantener toda la información para hacer la operación bien requiere mucha memoria... pero el programa "sólo" está ocupando aproximadamente 36Mib en memoria (y yo tengo tres cuartos de GiB). ¿Vuelve Microsoft a hacer de las suyas? ¿Es esto otro intento solapado de hacer que la gente migre a NTFS? (Lo cual, por otro lado, tampoco sería _tan_ terrible, ahora que hay mecanismos probados para usarlo desde Linux). No lo sé. De momento, me basta con saber que el segundo desfragmentado parece estar haciendo las cosas bien, para variar. Hala, hasta otro rato.

2 comentarios:

Anónimo dijo...

He tenido problemas con la defragmentación del FAT32 al igual que tu y sin embargo con una particion NTFS no tarda tantíisimo como tarda con FAT32, tu sabes si tiene algo que ver con el sistema de archivos el que dure más o menos una defragmentación?

baka no shinobi dijo...

Sí, tiene mucho que ver con el sistema de archivos.
FAT no tiene ningún mecanismo de previsión en la asignación, así que va asignando los sectores de la partición empezando por los primeros. Esto se traduce en que los sectores se reutilizan más cuanto más cerca del principio de la partición están y que, cuando se borra un archivo después de haber creado unos cuantos más, los nuevos archivo pueden quedar repartidos en trozos a lo largo y ancho de la partición.
Por su parte, NTFS maneja el concepto de 'tiras' (stripes en inglés) de modo que el contenido de cada archivo se mantiene, siempre que se puede, dentro de una misma tira. Esto no garantiza la ausencia de fragmentación, pero las tiras tienden a llenarse todas al mismo ritmo, con lo que, como mucho, tienes fragmentación dentro de las tiras, lo que no tiene tanto efecto sobre el acceso a los datos y requiere menos defragmentaciones.
Que una defragmentación "dure más o menos" depende principalmente del uso que des a la partición: si los datos que estaban ahí después de la defragmentación no se borran a menudo, es previsible que el área que ocupan no se fragmente. Por ello, una buena sugerencia es sacar de la partición todos los datos altamente volátiles (como directorios temporales o archivos de usuario como documentos y archivos de Outlook y cía), defragmentar y, después, devolver dichos datos a la partición. Así la defragmentación ocurrirá sólo en la zona de archivos que se crean y destruyen con cierta frecuencia (vamos, que te ahorras problemas con la carpeta Archivos de programas y la de Windows, por poner un par de ejemplos). Es incluso mejor pasar las cuentas de usuario a otra partición y dejar la de sistema para lo que es (Windows y programas), pero eso ya requiere algo más de maña. Si te interesa, te puedo hacer una descripción del proceso para migrar cuentas.