-[ 0x10 ]--------------------------------------------------------------------

-[ NTFS ]--------------------------------------------------------------------

-[ by Falken ]--------------------------------------------------------SET-15-

 

                oooo   oooo ooooooooooo ooooooooooo oooooooo8

                 8888o  88  88  888  88  888    88 888        

                 88 888o88      888      888ooo8    888oooooo 

                 88   8888      888      888               888

                o88o    88     o888o    o888o      o88oooo888 

                                                              

                       -=  Windows NT File System  =-

                           ----------------------

 

                                     by

                                   Falken

 

 

INTRODUCCION

=-=-=-=-=-=-

 

   Uno de los aspectos mas importantes de cualquier sistema operativo es

el sistema de ficheros que se use. Dependiendo de como este organizado el

sistema de ficheros, gozaremos de ciertas ventajas, como las cuotas de

usuario, los enlaces a otros archivos, etc. Pero tambien tendremos que

tener en cuenta algunos inconvenientes.

 

   Sistemas de ficheros los tenemos de todos los colorines, gustos y

sabores. Asi, el mas popular es FAT, el sistema dise¤ado originalmente por

Microsoft para el MS DOS. Este sistema es de los mas simples que os podais

imaginar y hasta la version 2.0 no soportaba estructura de directorios ni

cosas similares.

 

   Gracias al sistema de ficheros elegido, podremos disponer de un mejor

aprovechamiento en el disco, ya sea duro o de Xixona. Asi, FAT se dise¤o

en un principio pensando que no se superarian ciertas capacidades y asi,

pues acabamos con un disco fragmentado de una manera que ni os imaginais.

 

   Con Windows NT (Potato NT para los amigos), Microsoft incluye soporte

para el sistema FAT y a¤ade un sistema nuevo propio, NTFS, del que se

hablan alabanzas y se le considera incluso hasta milagroso. ;)

 

   Ademas dicen que soporta HPFS, el sistema de ficheros de OS/2, pero en

Win NT 4.0 parece que no lo lleva de fabrica... Es algo por lo que hay que

pagar. Pero bueno, a nosotros lo que nos interesa ahora es NTFS, que para

algo este articulo se titula asi, no?

 

 

EL SISTEMA NTFS

=-=-=-=-=-=-=-=

 

   Para vendernos el NTFS, Microsoft se centra en la seguridad que aporta

este sistema, que como veremos es pura palabreria, al menos de momento.

Y como ven que por ahi no pueden, pues se empe¤an en que con NTFS podemos

gestionar discos de gran tama¤o sin problemas y que incorpora importantes

novedades sobre el resto de los sistemas conocidos. Supongo que se referiran

a la FAT y al HPFS, porque vamos, no han demostrado conocer otros sistemas.

 

   A todos lo que mas nos ha llamado la atencion sobre NTFS siempre ha sido

su aparente robustez. Pero es una robustez construida sobre castillos de

arena. Por que es seguro el PGP?  Pues porque entre otras cosas, sabes como

funciona y ves que es un problema matematico de gran importancia el

reventarlo.

 

   Y por que es seguro NTFS? Porque casi nadie conoce sus interioridades.

Se dijo que no se podia acceder desde otro sistema de archivos, y al poco

aparecio el NTFSDOS, para MS DOS, que permitia el acceso para lectura

a particiones NTFS que fueran de un tama¤o no superior a 2 GBytes. Y como

eso es poco, pues aparecio el patch para GNU/Linux que permitia superar

esa barrera de los 2 GBytes al acceder a particiones NTFS.

 

   Pero claro, si, puedes leer, pero no puedes escribir... gratis. O al

menos hasta que los drivers para GNU/Linux esten listos en su version

definitiva, pues la version 2.0 de NTFSDOS para MS DOS permite la alteracion

de la informacion sin ningun problema. Eso si, estad dispuestos a pagar

unos $200 aproximadamente... Prefiero esperar y currar para GNU/Linux.

 

   Asi que como vemos, de momento la seguridad parece nula.

 

   Veamos ahora cuales son las diferencias mas significativas respecto a

usar NTFS en contra de cualquier otro sistema.

 

   De primeras, tenemos el aprovechamiento del espacio.

 

   Un sistema de archivos que funcione bajo Windows reparte el espacio del

disco en unidades minimas denominadas clusters. El sistema FAT suele usar

entradas de 16 bits para refenciar a cada cluster, con lo que podra

direccionar un maximo de 65536 clusters. La forma es la siguiente:

 

 

        Fichero

      [ c0x0001 ]

         |

         `-->  c0x0001  --->  c0x000F  --->  c0x0213

             [ c0x000F ]    [ c0x0213 ]    [ c0xFFFF ]

 

   Lo que se indica en hexadecimal es el numero de cluster, correspondiendo

el 0xFFFF a la marca de fin de fichero. Entre corchetes hemos puesto cual

es el siguiente cluster del fichero, tal y como aparece en la FAT. Pensando

un poco nos damos cuenta del tama¤o que tiene que tener un cluster si el

disco es muy grande. Seria un minimo de 4 KBytes.

 

   Si usamos clusters demasiado grandes, se produce lo que se llama

fragmentacion interna, o lo que es lo mismo, una perdida de datos a lo

absurdo, del estilo de usar 16 Kbytes para un fichero de 500 bytes.

 

   Otro ejemplo mas, pues los discos duros de hoy dia tienen un tama¤o minimo

de 4 GBytes, lo que resulta en tener que usar clusters de 64 KBytes !!

 

   Por contra, NTFS usa 64 bits para el direccionamiento de los clusters,

lo que nos deja como resultado que con clusters de 512 bytes tiene de

sobra en muchas ocasiones.

 

   Centrandonos ahora en la seguridad, NTFS usa el mismo sistema de

seguridad del propio NT, usando las DACL (Discretionary Access Control Lists)

y las SACL (System Access Control Lists), con lo que en todo momento el

sistema sabe quien accede a que, cuando y que es lo que hace. Segun

Micro$oft, esto es una novedad que no existiria gracias a ellos... Me

pregunto si habran oido hablar alguna vez de UNIX.

 

   Otro detalle a tener en cuenta es el juego de caracteres permitido

a la hora de nombrar los ficheros dentro del sistema. Mientras que con

la FAT podemos usar el ASCII de 8 bits (creedme, lo he usado bajo DOS

y funciona), en NTFS disponemos del sistema Unicode de 16 bits, lo que

deja una posibilidad bastante amplia.

 

   Una cosa que si es algo que a mi me parece ventajoso en NTFS, y que

es algo que se deberia implementar en cualquier sistema de ficheros son las

medidas que toma para asegurar la integridad de los datos. NTFS es lo que

se denomina tolerante a fallos. Veamos a ver lo que se quiere decir con

esto.

 

   Los que useis GNU/Linux es probable que os hayais encontrado en la

situacion de haber sufrido un corte de luz, o cualquier alteracion en el

suministro electrico, que haya producido el apagado del sistema sin

cerrar archivos importantes del sistema. Esto nos provoca en la mayoria de

las situaciones la perdida de datos importantes y en muchos casos la

inconsistencia del sistema... Sip, se puede reparar, pero menudo rollo.

 

   En FAT es mucho mas cachondo, pues es facil destrozar el sistema, pero

si perder los datos con los que se esta trabajando.

 

   NTFS usa un fichero de logs en el que se van introduciendo las

modificaciones sobre el sistema de archivos, por lo que en caso de que el

sistema se cierre inesperadamente, se podra recuperar el estado anterior

sin ningun problema. El propio NT mira en el fichero de logs para ver cual

era la situacion y la reestablece automaticamente en el siguiente

arranque del sistema. Asi tenemos una perdida minima de datos.

 

   Por cierto, este fichero de logs es el denominado fichero de logs

de transacciones o Transactional Logging File.

 

   Lo del pantallazo azul es ya otra cosa, de la que si quereis, pues

hablamos en otro numero de SET para explicar que es lo que se esconde

detras de nuestro color favorito. ;)

 

   Sigamos...

 

 

LA GESTION DE DISCO

=-=-=-=-=-=-=-=-=-=

 

   Para crear una particion NTFS disponemos de dos utilidades basicas: el

FORMAT de toda la visa, o el NTFS Disk Management Disk Administrator, que

es lo mismo que decir el programa WINDISK.EXE. Por cualquiera de los dos

metodos podemos definir el tama¤o del cluster que queremos usar. En el caso

en el que prefiramos dejarselo a la eleccion del programa, este usara los

datos que aparecen en la siguiente tabla:

 

 

                .----------------------------------------.

                | Tama¤o del disco  | Tama¤o del cluster |

                |-------------------|--------------------|

                | 512 MB o menos    | 512 bytes          |

                | 513 MB - 1024 MB  | 1 KByte            |

                | 1025 MB - 2048 MB | 2 KByte            |

                | 2049 MB o mas     | 4 KBytes           |

                `----------------------------------------'

 

   Hasta aqui todo normal, salvo un detalle que es simplemente anecdotico,

y que hasta el momento no se ha mencionado. El sistema FAT es usado tanto

en discos duros como en diskettes, al igual que el HPFS o incluso el

SFM de Macintosh. Pero intentad formatear un diskette en NTFS... Nones,

verdad? Pues se puede. Pero el sistema operativo no lo lleva incluido. Es

un servicio de valor a¤adido de Micro$oft. Aunque podemos encontrar por

la red un programa gratuito para formatear un diskette en NTFS. Eso si,

no merece la pena, pero si estais interesados, estaba por:

 

        http://www.sysinternals.com

 

   Ademas, alli podreis obtener mas informacion sobre las interioridades

de Windows 95, Windows NT y Windows 98 ;)

 

 

DISSECCIONANDO NTFS

=-=-=-=-=-=-=-=-=-=

 

   Si bien la FAT se distribuye en el sector de arranque, dos copias de la

tabla FAT, las entradas de directorio y los ficheros propiamente dichos,

NTFS gestiona todo el sistema de archivos en base a archivos de datos.

Son los denominados Ficheros METADATA (Huy! Esto me suena de haberlo visto

antes).

 

   Cuando creamos una particion NTFS, se generan 11 METADATA FILES, que

se encuentran en el directorio raiz, pero son ocultos. Para verlos, basta

con ejecutar desde un shell (Ups! Perdon. Interfaz de comandos XD), el

siguiente comando:

 

        dir /ah <nombre de metafile>

 

   Los metafiles creados se muestran en la siguiente tabla:

 

  .------------------------------------------------------------------------.

  | Nombre   | Registro | Descripcion                                      |

  |----------|----------|--------------------------------------------------|

  | $MFT     |     0    | Master File Table. O como la FAT para NTFS.      |

  | $MFTMIRR |     1    | Copia de los 16 primeros registros de la MFT.    |

  | $LOGFILE |     2    | El fichero de logs de transacciones.             |

  | $VOLUME  |     3    | Numero de serie, fecha de creacion y dirty       |

  |          |          | flag del volumen.                                |

  | $ATTRDEF |     4    | Definicion de los atributos.                     |

  | .        |     5    | Directorio raiz del disco.                       |

  | $BITMAP  |     6    | Mapa de clusters libres.                         |

  | $BOOT    |     7    | Registro de arranque del disco.                  |

  | $BADCLUS |     8    | Lista de los clusters erroneos del disco.        |

  | $QUOTA   |     9    | Informacion acerca de las cuotas de usuario.     |

  |          |          | No se encuentra activado hasta la version NT 5.0 |

  |          |          | o mediante el uso de programas aparte.           |

  | $UPCASE  |    10    | Convierte minusculas en mayusculas :?            |

  `------------------------------------------------------------------------'

 

   Vamos a explicar ahora brevemente estos ficheros.

 

   Comenzamos por $MFT, que no es mas que una tabla FAT a lo bestia. Sirva

como ejemplo que para un disco duro de 4 GBytes ocupa mas de 22 MBytes. Pero

como es un archivo muy importante y en el que se centra NTFS, pues lo

tratamos mas en profundidad mas adelante.

 

   Los ficheros $LOGFILE, $VOLUME, . y $BOOT no necesitan mas aclaraciones.

 

   $ATTRDEF define los atributos a usar en el sistema, cosa que veremos con

mas detalle al ver el $MFT.

 

   El fichero $BITMAP es de lo mas original, pues cada bit se identifica con

un cluster del disco. Si el bit es 0, el cluster esta libre, si es 1, esta

ocupado. Si el cluster esta da¤ado, se incluye en el fichero $BADCLUS.

 

   Lo que me parece que habria que reprocharle y con mucho a Micro$oft es

incluir una gestion de cuotas con $QUOTA, y no activarla salvo con programas

a¤adidos. Porque tengamos en cuenta que el hecho de que se vaya a activar

en Windows NT 5.0 no es mas que un rumor. Y en teoria iba a venir activado

de serie en NT 4.0.

 

   Y lo del $UPCASE... Ellos sabran

 

   Eso si, este sistema de archivos me suena bastante... Creo que lo he

visto antes en algun sitio. Pero no puede er, puesto que segun Micro$oft

es nuevo e innovador. (Anda ya !!)

[Paseante: Te estas superando a ti mismo, no crees?.]

 

 

 

EL FICHERO $MFT

=-=-=-=-=-=-=-=

 

   Pese a cumplir la misma funcion que la FAT en el sistema FAT, veremos

que hay diferencias sustanciales entre la FAT y el $MFT. De primeras, el

$MFT se divide en peque¤as unidades logicas denomindas registros. En estos

registros, NTFS almacena los metadatos correspondientes a los directorios

y/o ficheros y sus caracteristicas.

 

   Ahora viene la paranoia que se montaron en Micro$oft. El $MFT no es

un fichero aparte, como se podria considerar a la FAT. El $MFT es un

fichero que se mapea en NTFS a traves del $MFT, o lo que es lo mismo, que

se ubica a si mismo. Con esto ademas obtenemos un factor importante... que

el tama¤o del $MFT puede variar en funcion de la cantidad de metadatos

existentes.

 

   Como todos sabemos desde los tiempos del MS DOS, una de las cosas que

garantiza un acceso mas rapido a la informacion en el disco es que esta

se encuentre de forma secuencial, que no exista fragmentacion (externa en

este caso). Si el fichero $MFT se encuentra fragmentado, NTFS debera

realizar multitud de operaciones para leer un registro, lo que ralentizara

el sistema. Para evitar que el $MFT se fragmente, al menos no demasiado,

NTFS reserva una zona rodeando al $MFT denominada ZONA MFT, que facilita

el uso de clusters contiguos a la hora de ampliar el tama¤o del $MFT. Esta

zona habitualmente se corresponde con el 12% del tama¤o del disco duro

a¤adido despues el $MFT. Es decir, que si el $MFT ocupa los primeros

15 megas de un disco de 4 gigas, se reservan unos 4 megas mas, ocupando

asi los 19 primeros megas para el $MFT.

 

   NTFS reconoce los ficheros y directorios por su posicion en el $MFT del

registro que describe sus metadatas. Asi, para los METADATA FILES, se han

reservado los registros que se indicaban en la anterior tabla.

 

   Un registro tipico ocupa 1 KByte en NT 4.0.

 

   El fichero $MFTMIRR es algo asi como la segunda copia de la FAT. Pero,

cuantas veces os ha pasado que se han da¤ado las dos copias de la FAT? Esto

pasa por estar una detras de la otra. Y lo mas divertido es cuando se da¤a

el primer sector de la primera copia y el segundo de la segunda... o

al reves.

 

   Por eso, el $MFTMIRR en vez de ir a continuacion del $MFT, se coloca

justo en el medio de la particion, y solo almacena los 16 primeros

registros del $MFT, es decir, los METADATA FILES y 5 registros mas.

 

 

LOS REGISTROS

=-=-=-=-=-=-=

 

   Nada que ver con los registros de Windows. Al menos por ahora ;)

 

   Un registro del $MFT consiste de una peque¤a cabecera que contiene

informacion basica sobre el registro, seguido de uno o mas atributos que

describen los datos o caracteristicas del fichero o directorio. Y como un

PNG vale mas que un documento de Word, pues aqui va un esquema:

 

 

         .-----------------------------------------------------.

         | Cabecera | Atributos de la cabecera | Espacio libre |

         `-----------------------------------------------------'

 

   Los datos de la cabecera incluyen numeros de secuencia para verificar

la integridad, un puntero al primer atributo en el registro y el numero

de registro $MFT del registro $MFT de base si es que este no es el primero.

 

   En NTFS se usan los atributos para indicar informacion acerca de los

ficheros o directorios, Existen 14 tipos de atributos en NT 4.0, que son los

que vemos a continuacion:

 

 .-------------------------------------------------------------------------.

 | Atributo              | Descripcion                                     |

 |-----------------------|-------------------------------------------------|

 | $VOLUME_VERSION       | Pues eso, la version del volumen.               |

 | $VOLUME_NAME          | Uhmm! Ah! El nombre del volumen.                |

 | $VOLUME_INFORMATION   | Versionde NTFS y dirty flag.                    |

 | $FILE_NAME            | No se... Tal vez el nombre del fichero o        |

 |                       | directorio.                                     |

 | $STANDARD_INFORMATION | Fecha, y atributos de oculto, sistema y lectura |

 | $SECURITY_DESCRIPTOR  | Informacion sobre la seguridad.                 |

 | $DATA                 | Los datos del fichero.                          |

 | $INDEX_ROOT           | Contenido del directorio.                       |

 | $INDEX_ALLOCATION     | Pues casi lo mismo que $INDEX_ROOT, dicen.      |

 | $BITMAP               | Mapeado del contenido del directorio.           |

 | $ATRIBUTE_LIST        | Cabeceras no residentes de atributos.           |

 | $SYMBOLIC_LINK        | No usado. Que sorpresa, verdad? ;)              |

 | $EA_INFORMATION       | Extension de atributos compatibles con OS/2     |

 | $EA                   | Extension de atributos compatibles con OS/2     |

 `-------------------------------------------------------------------------'

 

   Como vemos hay atributos tan curiosos como $SYMBOLIC_LINK, que como me

digan que es una novedad que no existia en otros sistemas de ficheros,

se me comen una distribucion completita de GNU/Linux. Y sigo diciendo que

este sistema de archivos me suena bastante.

 

   Bueno, a lo que ibamos. Los atributos se almacenan en disco en dos

componentes logicos: la cabecera y los datos.

 

   En la cabecera va el tipo de atributo, su nombre y sus flags, ademas de

identificar la ubicacion de los datos del atributo. En NTFS se intenta que

los datos de los atributos se almacenen tambien en los registros del $MFT.

Asi, se dice que un atributo es residente cuando tiene los datos en su

registro $MFT. Por lo general, los atributos de nombre de fichero,

informacion estandar y seguridad son siempre residentes.

 

   Cuando los atributos no entran en el registro $MFT correspondiente, la

cabecera de atributos incluye informacion que localiza los datos en el

disco. Esta funcion de mapeo de informacion es conocida como run-information.

 

   El run-information posee a su vez una cabecera que indica que clusters

de los datos son usados por el run-information. Esto se debe a que existen

atributos con datos muy grandes que deben ser repartidos en varios registros

$MFT.

 

   Cada parte del run-information cubre diferentes partes de un fichero.

Una entrada del run contiene un VCN (Vitual Cluster Number, numero de cluster

virtual). El VCN es un desplazamiento relativo desde los datos de atributo.

A esto le sigue un LCN (Logical Cluster Number, numero de cluster logico),

que indica la posicion en el disco donde residen los datos, y el numero de

clusters contiguos en esa posicion.

 

   Si hay muchos atributos para un fichero, pues nada mas simple que

incluirlos en otro registro y apuntar a este ultimo desde el primero. Y

esto es lo que hace NTFS.

 

   Veamos ahora un ejemplo con un fichero llamado SET_015.TXT ;)

 

   Primero el dibujo de turno:

 

            .----------.            .--------.

            |          |            |        |

 .----------'----------V------------'--------V------------------------------.

 | Cab. | Nombre | SET_015.TXT | Std Info | fecha... | Att List |   Datos   |

 `----------------------------------------------------.---------.-----------|

              .---------------------------------------'.--------'           |

              |                                       | VCN 0, LCN 128, 2   |

              |                                       | VCN 15, LCN 700, 4  |

              |                                       | .                   |

              |                                       | .                   |

              |                                       `---------------------'

              |

 .------------V-------------------------------------------------------------.

 | Cab. |  Datos   | Espacio libre                                          |

 `------.----------.--------------------------------------------------------'

   .----'          `------.

   | .                    |

   | .                    |

   | VCN 255, LCN 828, 6  |

   | VCN 276, LCN 443, 7  |

   `----------------------'

 

   En el ejemplo, vemos que SET_015 es un fichero muy grande y ademas esta

fragmentado. Aqui hemos mostrado simplemente el uso de dos registros $MFT

para indexar el fichero. Ademas, hemos obviado la informacion de seguridad,

simplificando asi el ejemplo, aunque mas de uno querriais haberla visto,

a que si?

 

   Asi, por ejemplo, tenemos que los datos del fichero no son residentes,

como es habitual. La primera entrada del run-information nos indica que

el fichero comienza con dos clusters seguidos en el cluster 128.

 

 

DIRECTORIOS

=-=-=-=-=-=

 

   Un directorio para NTFS no es mas que un fichero con el atributo de

indice. El directorio contiene el nombre de cada fichero y una copia

de su informacion estandar, concretamente de la fecha de creacion o ultima

modificacion.

 

   Si los datos de un directorio entran en un registro $MFT, el atributo

$INDEX_ROOT describe la posicion de las entradas en el registro. Al crecer

el directorio, es probable sobrepasar el limite de tama¤o del registro

$MFT, para lo que se determinan buffers en los que se almacenan las

entradas adicionales. Aqui el $INDEX_ALLOCATION indica cual es la posicion

de este buffer, que en NT 4.0 tene un tama¤o de 4 KBytes.

 

   NTFS ordena el directorio dentro del $INDEX_ROOT y el $INDEX_ALLOCATION

para hacer lo mas eficiente posible las busquedas dentro de los directorios.

El orden se establece de forma que 'a' es menor que 's'. Veamos ahora un

ejemplo grafico de una entrada de directorio:

 

         .------.

         |      |

    -----'------V-------------------------------------------------------

     | Index |  hnt.doc    set_015.txt   |      Index        |

     | Root  |        `--->        `---> |    Allocation     |

    ------------.--A-------.--A----------.-------------------.-----------

         .------'  |  .----'  |          | VCN 0, LCN 777, 2 |

         |   .-----'  |       |          `---------.---------'

         |   |        |       |                    |

         |   |        |       |                    |

         |   |        | .-----'                    |

    .----V---'--------V-`-.                        |

    | firma.bat   set.pgp | <----------------------'

    `---------------------'

 

 

        Listado:    firma.bat -> hnt.doc -> set.pgp -> set_015.txt

 

 

NOVEDADES PARA NT 5.0

=-=-=-=-=-=-=-=-=-=-=

 

   Pues segun se cuenta por ahi, la version de NTFS que acompa¤ara al NT 5.0

llevara por fin activado el fichero $QUOTA, que esta incluido desde la

version 3.5 de este sistema operativo, pero que a no ser que les compraras

el programa aparte no lo podias usar.

 

   Ademas, pues dicen que quieren meterle criptigrafia dentro del sistema

de ficheros, lo que llaman EFS o Encryption File System. El proceso, por

lo que hemos tenido oportunidad de ver, sera usar la ID del usuario en

conjunto con DES para manipular los datos del fichero.

 

 

CONCLUSIONES FINALES

=-=-=-=-=-=-=-=-=-=-

 

   NTFS no es un sistema de ficheros tan seguro como dicen. Ya se sabe,

no es tan fiero el leon como lo pintan. Lo que pasa es que el desconocimiento

generalizado de las interioridades de este sistema ha hecho que parezca mas

fiable de lo que es en realidad.

 

   Sigo diciendo que me suena bastante este sistema de archivos... Espera

un momento... No puede ser... Os acordais del VMS? Si, aquel maravilloso

sistema operativo de Digital, usado en los VAX, por ejemplo. No se parece

ligeramente este sistema de ficheros al de VMS? Yo diria que si...

 

    Ah, claro! Se me olvidaba que los dise¤adores de Windows NT fueron los

creadores del VMS... Y por lo que se ve, un poco adictos a Odisea en el

Espacio. Vamos, porque todos conoceis lo de HAL-IBM, verdad? Si hombre, si.

Mira:

 

        H + 1 = I

        A + 1 = B

        L + 1 = M

 

   A ver que pasa con Windows NT:

 

        W - 1 = V

        N - 1 = M

        T - 1 = S

 

   Asi que es por eso por lo que se llama NT, y no por otras cosas que se

han oido por ahi. Estos chicos de Micro$oft... ;)

[Otras fuentes afirman que NT significa "Nice Try"]

 

   Bueno, pues solo una cosa mas. Recordarles a los de Micro$oft que

activen la $QUOTA en NT 5.0, y ya de paso, pues que usen ese atributo de

$SYMBOLIC_LINK, que para algo esta, y no veas lo util que puede ser. Los

que conocemos algun UNIX lo sabemos muy bien.

 

   Ah! Antes de que se me olvide. Este articulo esta basado en el articulo

publicado en la Windows NT Magazine acerca de las interioridades del NTFS.

Espero que os haya servido para algo ;)

 

Have P/hun

Falken

 

 

-[ 0x12 ]--------------------------------------------------------------------

-[ TU AMIGO EL DISCO DURO ]--------------------------------------------------

-[ by Chessy ]--------------------------------------------------------SET-19-

 

 

                [ Nota del EDITOR: El articulo original en formato Word 97 podeis

                  encontrarlo en la seccion de archivos de nuestra web. En breve

                  estara disponible tambien una version en formato PostScript. ]

 

Prologo: como vereis , el caracter de este texto esta muy orientado a la

ense~anza, pero no por ello deja de ser interesante, IMHO, para SET. La

verdad es que el tema da mucho de si, asi que he pensado en seccionarlo por

la mitad, dejando la 2a parte para SET 20 (vaya, parece que esto marcha, 20

numeros!). En esta primera parte expongo la arquitectura de un disco duro,

sin entrar en muchos detalles, asi como el sistema de archivos FAT16, citando

al final alguna caracteristica del sistema FAT32, dejando para la siguiente

SET una descripcion mas detallada de FAT32. Es interesante conocer como

funciona internamente el sistema de archivos de MS-DOS y la familia Windows

(a excepcion de NT, de cuyo sistema de archivos, NTFS, ya se encargo Falken

en otra ocasion).

 

                            _

                           |_  ._ | _ ._ _.._  _| _

                           |_><|_)|(_)| (_|| |(_|(_)

                               |

                                    | _  _

                                    |(_)_>

 

                          _|o _ _ _  _   _|   ._ _  _

                         (_||_>(_(_)_>  (_||_|| (_)_>

 

 

Los discos duros estan hermeticamente cerrados y contienen un numero

determinado de platos, que giran a grandes velocidades mientras el disco

reciba corriente. Diferentes tipos de discos, tienen diferentes numeros de

platos. Cada plato tiene su propia cabeza de lectura/escritura, que flota a

una peque~isima distancia (un cuarto del diametro de un pelo humano) sobre la

superficie del plato cuando el disco esta operativo. Los platos suelen ser

rigidos, construidos normalmente de aluminio y cubiertos de un material

magnetico y otras capas que le dan la capacidad de almacenar magneticamente

datos codificados en forma de bits.

 

Cada plato tiene un determinado numero de pistas. Cada pista se divide en

sectores, que son siempre equivalentes a 512 bytes de datos. Una pista

individual (por ejemplo, la 23) en todos los platos, forma un cilindro.

 

Para acceder (direccionar) a una determinada parte del disco duro, se usa una

combinacion de tres valores: cilindro, cabeza (plato) y sector (Cylinder,

Head, Sector) Por ejemplo, el cilindro 46, cabeza 2, sector 231, se refiere a

un unico sector de 512 bytes dentro del disco duro.

 

Diferentes discos duros tienen diferentes geometrias, que no es mas que las

diferentes configuraciones de platos, clindros y sectores que puede tener un

disco duro. Los valores para un disco duro en particular estan almacenados

en la CMOS del ordenador.

 

Truco 1 : arranca el ordenador y entra en la BIOS. Veras que la CMOS

(almacen de datos que no se pierde al apagar el ordenador) guarda la

geometria de los discos que tenga tu ordenador. Es aconsejable apuntarlos

pues en caso de perdida, si la BIOS no puede autodetectar la geometria de tu

HD se debera introducir a mano.

 

Truco 2: para calcular el maximo teorico de la capacidad de un disco,

simplemente debes multiplicar el numero de cabezas por el numero de cilindros

por el numero de sectores por pista por 512 bytes por sector.

 

 

---{ Comprendiendo las particiones

 

Las diferentes unidades de discos duros pueden ser divididas en particiones

-- subdivisiones logicas del disco duro. Cada unidad de disco duro puede

tener hasta 4 particiones. Una particion puede ser o bien primaria o bien

extendida. Un disco duro puede tener hasta 4 particiones primarias, aunque

solo una de ellas puede estar activa en un momento dado1. Las particiones

extendidas se componen de unidades  logicas --que no son mas que distintas

letras de disco duro con las que identifica el sistema operativo a cada

trozo dentro de la particion extendida. Un disco duro solo puede tener una

particion extendida. Tipicamente, los discos duros que contienen numerosas

letras de unidad estan configurados con una unica particion primaria y una

unica particion extendida, con esta ultima conteniendo una o varias letras

de unidad. (Puedes tener todas las letras de unidad que quieras dentro de

una particion extendida; en realidad estas limitado al numero de letras

disponibles, hasta la Z)

 

Supongamos que estas configurando un disco duro y quieres dividirlo de tal

forma que termines con 4 letras de unidad, desde la C hasta la F. Crearas

para ello una particion primaria (Windows 98 solo puede arrancar desde una

particion primaria) con el tama~o que necesites para la unidad C. Crearas

tambien una unica particion extendida, que contiene 3 unidades logicas

dentro de ella, cada una de ellas con el tama~o que necesites para las

letras de unidad D, E y F.

 

-----------------------------------------------------------------------------

Nota: para un disco duro secundario (uno que no tenga que arrancar un sistema

operativo), podrias configurarlo para que solo tuviera una unica particion

extendida hecha de una o mas unidades logicas.

-----------------------------------------------------------------------------

 

Las particiones bajo Windows 98 estan hechas y mantenidas usando un programa

llamado FDISK (abreviatura de Fixed Disk Setup Program). FDISK te permite ver

la configuracion actual de las particiones de tu disco duro al igual que

crear y borrar particiones.

 

Los datos sobre las particiones de un disco duro se almacenan como parte de

una zona del disco llamada Master Boot Record (MBR) situada en el cilindro 0,

cabeza 0, sector 0. Una seccion de 64-bytes del MBR contiene la configuracion

de la particion para el disco duro. Cada particion esta definida por una

entrada de 16 bytes (lo que significa que no puede haber mas de 4

particiones, dado que 16 bytes por 4 particiones hacen un total de 64 bytes).

Dentro del sector MBR, los datos de la particion se almacenan comenzando en

el byte 446 y usando el resto de los 512 bytes del sector MBR (ojo!,

512-446=66 pero los ultimos 2 bytes no estan relacionados con los datos de la

particion, sino que son la marca end-of-sector (fin de sector), que en

hexadecimal es 0x55AA)

 

Cada entrada de 16 bytes de la tabla de particiones se compone de los

siguiente campos:

 

                * El byte 00 almacena el indicador de arranque, que siempre es o

          bien 0x00 o bien 0x80. 0x80 indica que la particion es usada para

                  arrancar el sistema; 0x00 indica que la particion no es usada para

                  arrancar el sistema.

                * El byte 01 almacena el numero de la cabeza donde comienza la

                  particion.

                * Los bytes 02 y 03 almacenan una entrada combinada que consiste en

                  el sector y cilindro donde comienza la particion. Los primeros 6

                  bits almacenan el sector de comienzo; los restantes 10 bits

                  almacenan el numero del cilindro donde comienza la particion.

                * El byte 04 almacena el Identificador del Sistema (System ID). Este

                  ID indica el sistema de ficheros usado en la particion (queda

                  determinado al hacer un FORMAT). Este ID puede indicar que la

                  particion pertenece al sistema de ficheros FAT16 (Windows 3.1,

                  Windows 95), FAT32 (Windows 98), NTFS (Windows NT).

                * El byte 05 almacena el numero de cabeza donde termina la particion.

                * Los bytes 06 y 07 son otra entrada combinada, que ahora almacenan

                  el sector y el cilindro de finalizacion de la particion. Otra vez,

                  los ultimos 6 bits almacenan el sector de finalizacion y los

                  ultimos 10 bits almacenan el numero del cilindro de finalizacion

                  de la particion.

                * Los bytes 08 a 11 almacenan el sector relativo -- que no es mas

                  que el numero de sector relativo donde comienza la particion.

                * Los bytes 12 a 15 almacenan el numero de sectores dentro de la

                  particion.

 

Las unidades logicas almacenan sus datos de particion de forma algo diferente

a como lo hacen las particiones primarias y extendidas. Lo que sucede es lo

siguiente: una entrada de particion extendida en la tabla de particiones MBR

indica el primer sector de la particion extendida, que es la localizacion de

la primera unidad logica en la particion extendida (una particion extendida

debe tener obligatoriamente al menos una unidad logica). El primer sector de

la primera unidad logica almacena otra tabla de particiones. Esta tabla de

particiones de la unidad logica se almacena en los ultimos 64 bytes del

primer sector (dejando 2 bytes para la marca de fin-de-sector) y su

configuracion es exactamente igual que la tabla de particiones principal del

MBR. Sin embargo, la tabla de particiones de la unidad logica contiene solo

2 entradas: la primera entrada contiene la configuracion para esa unidad

logica y la segunda entrada contiene la configuracion de la siguiente unidad

logica. Las entradas 3a y 4a estan vacias y no pueden ser usadas. La segunda

entrada apunta a la siguiente unidad logica, que a su vez contiene su propia

tabla de particiones para unidades logicas, y asi sucesivamente. Como puedes

ver, las unidades logicas dentro de una particion extendida son definidas

como una lista ligada de tablas de particion, cada una apuntando a la

siguiente.

 

 

---{ Entendiendo la FAT

 

Cualquier sistema operativo soporta uno o mas sistemas de ficheros -- metodos

usados para almacenar ficheros en dispositivos de almacenamiento. Existen

muchos sistemas de ficheros diferentes, como FAT (File Allocation Table, en

versiones FAT16 o FAT32, de Windows95/98) , NTFS (New Technology File System,

de Windows NT), HPFS (High Performance File System (HPFS), CDFS (CD-ROM File

System), etc. Por ejemplo, Windows 98 soporta 4 sistemas de ficheros

diferentes: FAT16, FAT32, CDFS y el sistema UFS (Universal File System) para

los discos DVD-ROM. Gran parte del tema que sigue sobre FAT se basa en FAT16

-- en la siguiente seccion veremos las diferencias entre FAT16 y FAT32.

 

FAT significa File Allocation Table, un metodo para almacenar ficheros y

directorios en un disco duro. FAT tiene una larga historia -- fue usado por

primera vez en 1977  como una forma de almacenar datos en disquetes para el

Disk Basic de Microsoft. A traves de varias tecnicas , incluyendo la nueva

variante FAT32 (introducida en 1996 con Windows95 OSR2), FAT ha sido

extendida y mejorada a lo largo de los a~os.

 

Un volumen (nombre que se le da bajo DOS/WIN a cada unidad de particion)

formateado con FAT esta dispuesto de tal forma que comienza  con un Sector

de Particion de Arranque (Partition Boot Sector), seguido de dos copias

identicas de la FAT (FAT1 y FAT2), un listado del directorio raiz y luego

el resto del volumen (area de datos). Se almacenan dos copias de la FAT

debido a que se desea tener redundancia en caso de que una de ellas sea

da~ada.

 

El Sector de Particion de Arranque contiene la informacion necesaria para

arrancar un sistema operativo (si la particion es una particion primaria

configurada con ese proposito). Los datos del Sector de Particion de Arranque

se describen en la siguiente tabla:

 

       __________________________________________________

      | Bytes |            Description                                                          |

      |-------+------------------------------------------|

      |     3 | Jump instruction                                |

      |     8 | OEM Operating System name in text format |

      |    25 | BIOS Parameter Block                                      |

      |    26 | Extended BIOS Parameter Block                     |

      |   448 | Bootstrap code                                                |

      `--------------------------------------------------'

 

Los bloques de parametros de la BIOS (BIOS Parameter Blocks) almacenan

informacion adicional sobre la configuracion del volumen, como el numero de

bytes por sector, numero de sectores por cluster, numero de entradas del

directorio raiz, etc.

 

Los volumenes FAT estan divididos en unidades de asignacion, llamados

clusters. FAT16 puede manejar hasta un total de 2^16 clusters (65535

clusters) FAT32 sin embargo, es capaz de gestionar 2^32 clusters (4,294,967,

295). Dependiendo del tama~o del volumen, los clusters seran de un tama~o u

otro. El tama~o minimo de cluster son 512 bytes;  el tama~o de un cluster

siempre es una potencia de 2 por 512 bytes (por ejemplo, 1024 bytes, 2048

bytes, 4096 bytes, etc.) El tama~o maximo de cluster bajo FAT es de 65535

bytes, o lo que es lo mismo, 64K.

 

Cada fichero de un volumen FAT consume al menos 1 cluster, indiferentemente

del tama~o del fichero o el del cluster. En un volumen que use clusters de

32K, un fichero de 1 byte consumira 32K de espacio en disco. Si un fichero

del mismo volumen tuviera un tama~o de 32K + 1 byte, consumiria 2 clusters

-- 32k en el primer cluster + 1 byte en el siguiente.

 

Un volumen FAT16 no puede ser mayor de 2 Gb. La siguiente tabla muestra los

tama~os maximos de volumen y sus correspondientes tama~os de cluster:

 

                       ____________________________

                      | Volume Size | Cluster Size |

                      |-------------+--------------|

                      |      32 M   |   512 bytes  |

                      |      64 M   |     1 K      |

                      |     128 M   |     2 K      |

                      |     255 M   |     4 K      |

                      |     511 M   |     8 K      |

                      |    1023 M   |    16 K      |

                      |    2047 M   |    32 K      |

                      |    4095 M   |   Error!     |

                      `----------------------------'

 

La tabla FAT es una simple lista ligada. Cada entrada de fichero en el

directorio apunta al primer cluster usado. Usando la correspondiente entrada

en la tabla FAT, el sistema operativo puede recorrer la lista de las entradas

de la FAT por cada cluster, localizando cada uno de los clusters que ocupe

un fichero.

 

Considera el siguiente ejemplo: un fichero tiene una longitud de 70K  y el

volumen tiene clusters de 32K. La entrada del fichero en el directorio nos

muestra que el primer cluster libre es el numero 2.345. El sistema operativo

busca despues todas las piezas del fichero leyendo la entrada FAT 2.345 (para

los primeros 32K del fichero). La entrada de la FAT indica que el siguiente

cluster es, digamos, el numero 4123 (para los siguientes 32K del fichero).

El cluster 4123 indica que el siguiente cluster es el numero 932 (para los

restantes 8K del fichero). La entrada FAT para el cluster 932 almacena 0xFFFF

en lugar de un puntero al siguiente cluster, indicando de esta forma que se

ha alcanzado el ultimo cluster para el fichero.

 

Cada entrada en la FAT corresponde a un cluster, y contiene informacion

relativamente sencilla:

 

                * Si el cluster esta en uso o no.

                * Si el cluster esta marcado como defectuoso o no.

                * Un puntero (una entrada de 16 bits en la FAT16) para el siguiente

                  cluster en la cadena, o el valor (0xFFFF) indicando que el cluster

                  es el ultimo ocupado por un fichero.

 

La informacion sobre el fichero se almacena dentro del area de datos del

volumen, excepto para el directorio raiz, que se encuentra en una posicion

fija dentro de un volumen FAT16. El directorio raiz esta limitado a 512

entradas en FAT16.

 

Cada directorio en un volumen FAT es tambien un fichero (al igual que en

UNIX), pero un fichero que esta marcado como entrada de directorio de tal

forma que el sistema operativo sepa como manejarse con el. (A menos que

estes editando la informacion de un disco byte-a-byte, no puedes darte

cuenta de que un directorio es simplemente un fichero especial con la marca

de directorio activada). Dentro del "fichero" directorio encontramos entradas

para todos los ficheros y subdirectorios del directorio.

 

Cuando introduces un comando DIR en el simbolo del sistema, simplemente estas

recibiendo un listado del contenido del "fichero" directorio, formateado de

tal forma que su lectura sea sencilla. Los directorios consumen clusters de

la misma forma en que lo hacen los ficheros normales. Observa que los

directorios no son la FAT; la FAT es simplemente una tabla que permite al

sistema operativo localizar las distintas partes de los ficheros y

subdirectorios listados en un directorio, comenzando por el directorio

raiz.

 

Cada entrada de directorio contiene la siguiente informacion (en 32 bytes):

 

                * El nombre del fichero o del directorio, almacenado en 11 bytes (en

                  formato 8.3;  el punto no se almacena)

                * 8 bits que indican los atributos de la entrada

                * 10 bytes reservados

                * 16 bits que indican la fecha de creacion del fichero

                * 16 bits que indican la hora de creacion del fichero

                * 16 bits (en FAT16) indicando el numero del primer cluster ocupado

                  por la entrada

                * 32 bits indicando el tama~o de la entrada

 

 

                      THE STRUCTURE OF A DIRECTORY ENTRY

                      """"""""""""""""""""""""""""""""""

 

 

Offset      0-7                 8-10            11            12-21

             |                   |               |              |

   .---------^--------.----------^---------.-----^-----.--------^---------

    ----------------------------------------------------------------------

   |     Filename     |      Extension     | Attribute |     Reserved    |

    ----------------------------------------------------------------------

   `---------.--------^----------.---------^-----.-----^--------.---------

             |                   |               |              |

Size      8 Bytes             3 Bytes         1 Byte        10 Bytes

 

 

 

                 22-23      24-25        26-27          28-31

                   |          |            |              |

             .-----^----.-----^----.-------^------.-------^-------.

              ----------------------------------------------------

             |          |          |   Starting   |               |

             |   Time   |   Date   |    cluster   |   File size   |

              ----------------------------------------------------

             `-----.----^-----.----^-------.------^-------.-------'

                   |          |            |              |

                2 Bytes    2 Bytes      2 Bytes        4 Bytes

 

 

Los bits de atributo indican cuando una entrada es de un fichero o de otro

directorio (subdirectorio), cuando la entrada es para una etiqueta de volumen

y los atributos definibles por el usuario (solo-lectura, sistema, oculto y

archivo).

 

Para juntar todas las partes de este articulo en forma de resumen, examinemos

un extenso ejemplo: un fichero llamado TEST.FIL almacenado en el directorio

C:\Windows\System\, de 50K de longitud, debe ser leido en una aplicacion. El

volumen de ejemplo usa clusters de 32K de longitud. (Algunos pasos se han

simplificado debido a que no son relevantes para nuestro proposito (entender

el funcionamiento del sistema de archivos FAT sin entrar en detalles

demasiado profundos)).

 

                1. La aplicacion pide los datos del fichero al sistema operativo.

           Para ello, la aplicacion le manda al S.O. el nombre del fichero y

           del directorio, en formato de direccionamiento absoluto:

           C:\Windows\System\TEST.FIL.

        2. El S.O. localiza el fichero barriendo (recorriendo) primero las

           entradas del directorio raiz del disco C en busca de una entrada

           llamada Windows con la marca de directorio activa  (indicando que

           es un directorio)

        3. La entrada del directorio Windows indica que comienza en el

           cluster 555. Despues se lee la FAT; usando la lista ligada en la

           FAT descrita anteriormente, el sistema operativo descubre que el

           directorio Windows ocupa los clusters 1123,2342,523 y 4923. Usando

           esa informacion, el sistema operativo lee el directorio Windows y

           lo escanea en busca de una entrada llamada System.

        4. Se encuentra una entrada denominada System en el listado del

           directorio \Windows, con el atributo de directorio activado. La

           entrada System indica que el 1154 es su primer cluster.

        5. La FAT se lee otra vez, comenzando en el cluster 1154 y siguiendo

           la cadena hasta que todos los clusters del directorio System son

           conocidos. Usando esa informacion, el sistema operativo lee la

           tabla del directorio System en memoria y la escanea en busca de

           una entrada llamada TEST.FIL. Cuando se encuentra, observamos que

           su atributo de directorio esta inactivo, indicando que es un

           fichero "normal". Leyendo esa entrada, el sistema operativo

           encuentra que el primer cluster de TEST.FIL es el numero 2987.

        6. Se vuelve a leer la FAT, comenzando en el cluster 2987. Usando la

           lista ligada, el sistema operativo localiza y almacena en memoria

           todos los clusters que albergan el fichero TEST.FIL para poder

           leer despues  su contenido directamente desde memoria.

        7. El sistema operativo pasa despues el contenido del cluster (el

           contenido del fichero) a la aplicacion como un flujo de bytes.

 

Como puedes ver, leer el contenido de un fichero es un gran trabajo!!!

Afortunadamente el sistema guarda todas las entradas de directorio -- ademas

de la tabla FAT al completo -- en memoria RAM, haciendo asi que la necesidad

de leer los directorios y las entradas de la FAT no requieran demasiados

accesos a disco. Sin embargo, observa que el escribir los cambios en una

aplicacion a un fichero requiere unos cuantos pasos que necesitan escribir

en disco. Esto es lo que pasa cuando se guarda un fichero:

 

                * Basandose en el tama~o del fichero, el Sistema Operativo debe

                  escanear la FAT en busca de clusters libres que puedan ser

                  asignados al fichero.

                * Las dos copias de la FAT deben tener una nueva lista ligada con el

                  nuevo fichero que se ha escrito.

                * El directorio que contiene el fichero debe tener su nueva entrada

                  para el fichero creado o modificado.

                * Finalmente, se guarda el contenido del fichero.

 

Cuando observas detenidamente todo el trabajo que se realiza internamente

para abrir, leer y escribir ficheros, parece increible que no se necesite

mas tiempo para realizar todo este tinglado.

 

 

FAT32 es una mejora del sistema de archivos FAT que:

 

                * soporta discos duros de mas de 2 GB (hasta los 2 Terabytes) 

                * mejora la gestion del espacio en disco, siendo ahora mas eficiente.

                  FAT32 usa clusters mas peque~os (p. ej. Clusters de 4k en discos

                  de hasta 8 Gb) consiguiendo un ahorro considerable de espacio en

                  disco. La siguiente tabla es un ejemplo del tama~o que los

                  clusters tendran  para diferentes tama~os de disco duro:

 

             ___________________________________________________

            | Tama~o del disco | Tama~o del Cluster por defecto |

            |------------------+--------------------------------|

            |  Menos de 512MB  | 512 Bytes                      |

            |      < = 8GB     |   4 Kilobytes                  |

            |     < = 16GB     |   8 Kilobytes                  |

            |     < = 32GB     |  16 Kilobytes                  |

            |     > = 32GB     |  32 Kilobytes                  |

            `---------------------------------------------------'

 

                * Mas robusto. FAT32 es capaz de reasignar el directorio raiz a otra

                  zona del disco y usar la copia de seguridad de la FAT en lugar de

                  la copia por defecto. Como ventaja a~adida se puede citar que el

                  sector de arranque en los discos FAT32 ha sido expandido para

                  incluir una copia de seguridad de las estructuras de datos mas

                  criticas. Esto significa que los discos FAT32 son menos

                  susceptibles de fallo que los volumenes FAT.

                * Mas flexible. El directorio raiz de un disco FAT32 es ahora una

                  cadena de clusters ordinaria, de tal forma que ahora puede tener

                  el tama~o que se quiera y ser asignada en cualquier parte del

                  disco. Ademas, el “mirroring” FAT se puede desactivar, permitiendo

                  asi activar  una copia de la FAT diferente a la primera. Estas

                  caracteristicas permiten un reparticionar las particiones FAT32 de

                  forma dinamica. Es de destacar que aunque el dise~o de FAT32

                  permita estas florituras, no se ha implementado aun por Microsoft.

 

 

Existe una utilidad para pasar un disco duro FAT16 a FAT32 en el CDROM de

Windows98, concretamente en la seccion del Kit de Recursos (Resource Kit).

 

No existe en Windows la utilidad inversa (FAT32 -> FAT16), siendo necesaria,

una utilidad externa como por ejemplo, la ultima version del excelente

Partition Magic.

 

 

---{ Consideraciones de compatibilidad

 

Para conseguir mantener la mayor compatibilidad posible con las aplicaciones

existentes, redes y controladores de dispositivos, FAT32 ha sido

implementado con el menor numero de cambios posible en la arquitectura de

Windows95, estructuras de datos internas, API’s y formato del disco. Sin

embargo, debido a que ahora se necesitan  mas bytes para almacenar los

numeros de cluster, muchas estructuras de datos internas que tratan con los

discos, asi como API’s publicadas fallaran como escopetas de feria en discos

FAT32. La mayoria de las aplicaciones no se veran afectadas, sin embargo,

por estos cambios. Las utilidades y drivers que existian para FAT16 seguiran

funcionando en discos FAT32, aunque los drivers de dispositivos de bloques

(ej.: ASPIDISK.SYS) y utilidades de disco para estos necesitaran ser

revisadas para soportar discos FAT32.

 

Todas las utilidades del sistema que vende Microsoft con el Win95OSR2,Win98,

(FORMAT, FDISK, DEFRAG, SCANDISK, DRIVESPACE) han sido revisadas para

trabajar con FAT32. Y por supuesto, Microsoft ya se puso en contacto con

todos los fabricantes de controladores y utilidades de discos para que

revisen sus productos.

 

 

---{ Creando discos FAT32

 

A partir de Win95 OSR2, si ejecutas la utilidad FDISK en un disco de mas de

512 MB, te preguntara si deseas soporte para discos grandes. Si respondes

que si, cualquier particion de mas de 512 MB que crees. Y .. sera marcada

como particion FAT32.

 

 

---{ BIBLIOGRAFIA:

 

Descripcion del Sistema de Archivos FAT32

Knowledge Base, ID Article: E154997

 

Sean Erwin's Windows 95 OSR2 FAQ

www.compuclinic.com/osr2faq/index.html

 

Windows98 Proffesional Reference, Ed. new Riders

Macmillan Computer Publishing

Cap 17: File Systems and Disk Resources

 

ZDNET Webopedia

http://www.zdwebopedia.com/TERM/h/hard_disk.html

 

TheTech Teach

http://thetech.pcwebopedia.com/TERM/F/FAT32.html