User Tools

Site Tools


sysadmin:cluster_del_file_system_fat

Cluster del file system FAT

        14 May 90  09:24:20
From:   Lord Fenner
To:     Tutti
Subj:   Cluster da 512 bytes (ripeto per crash mio nodo)
------------------------------------------------
Messaggio di Massimo Gentilini relativo a come fare dei CLUSTER PICCOLI, ripeto
il messaggio che avevo gia' messo qualche giorno fa per via di un SRASH del
nodo dove ho il POINT.
.....
Il Dos pero' ci permette, anche se non esplicitamente, di fare i cluster grandi
o piccoli quanto vogliamo, e' quindi possibile fare dei cluster composti da un
solo settore, lunghi quindi solo 512 byte. Ecco come...

Necessario: Una utility di formattazione intelligente (il format del Dos non va
bene), che riformatti il disco secondo i parametri gia' scritti nel boot block
ed un programma per editare direttamente i settori su disco che permetta di
lavorare anche sul settore 0, il boot block. Io ho usato l'accoppiata Norton
Ultilities/Safe format di Peter Norton, versione 4.5. Credo che anche
l'accoppiata PcTools/PcFormat della Central Point possa andare bene.

Procedete innanzitutto a partizionare il vostro disco usando Fdisk e creando
una partizione dedicata al Point o ai messaggi del BBS che non sia troppo 
grande. Io ho usato una partizione da 5 megabyte, non so quale sia il limite
superiore. Formattare questa partizione usando il format del Dos, senza
volume label o altro.

A questo punto usare il sector editor e leggere il settore logico 0 del disco
cosi' creato. Questo e' il Boot sector e contiene il BPB (Bios Parameter
block) che e' quello su cui si basano i formattatori tipo SF o PcFormat per
riformattare il disco e scrivere correttamente l'area di sistema.

Il BPB inizia dal Byte 0BH (prima c'e' un Jump all'inizio della routine di
Boot ed il nome dell'OEM che ha fatto il Dos) e' cosi' fatto (*indica che
sono  i byte da cambiare):

Byte    Significato          Es. Esa Spiegazione
=====================================================================
0B-0C   Byte per settore     00 02   200H=512 Byte x settore
0D    * Settori per cluster  08      8 settori x cluster = 4096 byte
0E-0F   Settori riservati    01 00   Settori riservati dal DOS, NON indica
                                     quelli usati da Fat e Root, lasciateci
                                     quello che c'e'.
10      Numero di Fat        02      Normalmente ci sono due Fat
11-12   Entrate nella Root   00 02   200H=512 file nella root al massimo
13-14   Numero totale dei
        Settori nel volume   FE C8   I settori del Disco, e' una misura
                                     indipendente dal Cluster, non toccare
15      Media Desc. Byte     F8      Numero che indica che device e', F8=HD
16-17 * Settori per ogni Fat 05 00   5 settori per Fat

Per procedere alla modifica e' sufficiente modificare i Byte 0D e 16-17,
mettendo per cominciare 01 al Byte 0D in modo da indicare al Dos di fare un
cluster da 512 Byte, e poi modificando il numero di settori che compongono la
Fat. Per sapere che numero metterci e' sufficiente fare un calcolo, 
considerando che ogni entrata nella Fat corrisponde ad un cluster. Se prima
avevamo una Fat (esempio) composta da 5 settori ed ogni cluster era formato
da 8 settori ora che abbiamo detto che il cluster e' di 512 byte ci saranno 8
volte i cluster che c'erano prima sull'Hard Disk. E' quindi sufficiente
moltiplicare 5 per 8, convertire il 40 ottenuto (che e' una cifra decimale)
in esadecimale (nel nostro caso otteniamo 28) e scrivere questo nuovo valore
sul disco.

A questo punto salviamo il settore ed effettuamo un Boot, in modo che il Dos
legga il nuovo BPB del disco. Ricordatevi di fare il Boot se no non funziona
nulla.

Ora e' sufficiente lanciare il Safe Format di Norton (o il Pc Format) e questi
formattatori andranno a leggere il BPB esistente su disco e riformatteranno
tutto di conseguenza, scrivendo correttamente la nuova Fat e la Root al posto
giusto.
Formattate il disco e se va tutto bene avrete un disco con un cluster da 512
byte. Per controllare il funzionamento scrivete due file di pochi byte (ad
esempio con il comando \"echo p > file\") e cancellatene uno dando il dir prima e
dopo, se con la cancellazione spariscono solo 512 byte e' OK. Per terminare i
test riempite completamente la partizione e verificate che il numero di settori
della Fat sia corretto dando il comando Dir dopo che il disco e' stato
completamente riempito. Se la Fat e' troppo piccola il dos scrive gli ultimi
byte della Fat sulla root directory ed il disco si rovina, se e' troppo grande
non succede nulla.

Io ho provato il sistema per due volte ed ha funzionato perfettamente,
funzionano CHKDSK, NDD, lo Speed Disk e tutte le utility che ho usato.

Per invogliarvi nell'operazione vi riporto due o tre dati di prima e dopo la
cura, relativi alla directory del mio point, contenente circa 1200 messaggi.

                                       Cluster 2048        Cluster 512
Spazio Effettivamente occupato          2.804.629           2.804.629
Spazio usato Cluster compresi           4.640.768           3.225.088
Percentuale di disco sprecato           39%                 13%
Come potete vedere 1 mega e mezzo abbondante guadagnato senza sforzo alcuno.
Ciao e buon lavoro....

Massimo Gentilini

--- ME2
 * Origin: Point, piano piano ti SPIANO (L.Fenner 2:332/102.8)
sysadmin/cluster_del_file_system_fat.txt · Last modified: 20/12/2021 04:40 by lrosa