====== 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) {{tag>MS-DOS}}