home *** CD-ROM | disk | FTP | other *** search
- #: 139244 S4/Programming
- 16-Jul-85 13:12:29
- Sb: #Cluster Size
- Fm: Bill Higgins 70575,307
- To: ALL
-
- Standard 10mb fixed disks formatted under DOS 3.0 & 3.1 utilize 4k
- clusters (i.e., the minimum space allocated to any file is 4096 bytes),
- while drives 20mb and larger utilize 2k clusters. At work, I use a PC
- with twin 10mb drives under DOS 3.1. Since I have a multitude of small
- files on these disks, the smaller allocation unit's space saving
- advantage far outweighs any theoretical disadvantage of additional
- overhead for DOS to handle the added allocation units. With the help of
- Bob Morse, Jim Gainsley, and the DOS Technical Reference, I was able to
- make the changes necessary to use 2k clusters on both of my 10mb drives.
- The following text was previously sent to Connie privately, on how to
- make the switch on his drives. He indicated that it may be of enough
- general interest to post publicly, so here it is:
-
- Here are the first few bytes out of your boot sector, which are used
- to develp the BIOS Parameter Block. The two values which must be
- changed are set apart and described:
-
- EB2C9049424D2020322E300002 08 01000200020351F8 0800 110004000100
- sectors sectors
- per per
- cluster single FAT
-
- The number of sectors per cluster would change from 08 to 04, since
- that's what this is all about. The sectors per FAT will change, in
- order to accomodate (1) the increased number of possible FAT entries,
- and (2) the increased size of each fat entry (new 16 vs. old 12 bits
- each). The value to use for a 10 meg & 2y+W.]Y9s would be 21 sectors,
- or 1500 in hex word format. Since your values are for 2.0, some of the
- other boot sector entries will change when you format under 3.1, but not
- these two entries, until you change them yourself, if you so decide.
-
- As to your first FAT sector: It should look in part like this after you
- reformat under 3.1:
-
- F8FFFF00 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000
-
- you need to make the first line look like:
-
- F8FFFFFF 00000000 00000000 00000000 00000000 00000000
- to account for the 2 byte entries.
-
- Most critical to the process is the sequence in which this procedure is
- attempted. I will list the steps that I took to go from 4k to 2k
- clusters. It is quite possible that some of these steps are not
- necessary, but I don't have the expertise to determine which, if any,
- can be eliminated. I applied a little 'artificial' intellegence (still
- looking for the real thing) and some dead reckoning to the somewhat long
- procedure I went thru last week, and gave it a shot on my ten meg d:
- drive at work today: It worked fine, and simplifies the task.
-
- (1) Do a complete backup of the drive.
- (2) Do a low-level format. This will wipe the FAT's and root directory
- clean.
- (3) Cold boot DOS 3.1, and FDISK the drive to create a DOS partition.
- (4) Format the drive using the DOS format program. Don't use any
- parameters (no /s or /v).
- (5) Using your norton (or whatever), select the boot sector and view
- it. You should see a value of 08 for sectors per cluster. Change
- this to 04. You should see a value of 0800 for sectors per FAT.
- Change this to 1500. Moving along to the first FAT sector, change
- the first four bytes from F8FFFF00 to F8FFFFFF, and verify that all
- the other entries are 0000 in this sector. I have verified that the
- subsequent format (7,below) will take care of setting up FAT2.
- There seems to be no need to zero out any of the following FAT or
- directory sectors.
- (6) Exit Norton and do a cold boot.*
- (7) Reformat the drive using the DOS program, using whatever switches
- that you desire (/s or /v). Format will not affect your changes to
- the boot sector.
- (8) Restore your files (I remember that you are aware of the new switch
- in restore which will cause a prompt before restoring sys files).
-
- * This is critical, since the boot sector is read by DOS only once,
- at boot time, in order to build the BIOS Parameter Block. Having
- different info in the boot sector than what's in the memory-resident
- BPB will cause exceedingly flaky things to happen, as you can
- imagine.
-
- ******
-
- Of course, I cannot warrant this procedure to work for everyone,
- particularly for controllers and drives which are not 'XT clones'.
- Comments solicited.
-