Re: FAT32 size issues, _just_ about size?
Jeff Richards wrote:
> > Additionally, a fat32 drive over 32 gigs would have a fair
> > amount of wasted space due to large cluster size.
>
> and will perform quite poorly for file changes due to the large
> size of the FAT.
I've posted here about a year ago on the topic of using small cluster
size for win-98 on large hard drives.
Basically, I've run win-98 on 160gb and 500 gb drives (formatted as a
single partition using 4 kb cluster size).
There is _no_ performance hit because of the huge increase in the size
of the FAT. The OS does not load in the entire fat into memory during
normal operation either - it might only do that during drive
maintainence operations like scandisk and defrag. There is
And that's where the use of small cluster size runs into problems for
win-98, and there are some remedies (like using Win-me versions of
scandisk and defrag). I also found that win-98 doesn't like putting
the swap file on a 500-gb hard drive formatted as a single partition
with 4kb clusters.
-------------------------
Newsgroups: microsoft.public.win98.gen_discussion
From: 98 Guy <98@Guy.com>
Date: Mon, 26 Feb 2007 10:49:46 -0500
Subject: Update 4: Cluster size and exploring the limits of FAT-32
I think this will be the last update, as I've made a rather important
discovery, which is that DOS scandisk (both the original win-98
version and the windows ME version) don't really seem to have a
cluster size limitation.
Specifically, here's what I've just tested:
drive c: 25 gb / 4kb cluster size / 6.3 million clusters
drive d: 31 gb / 4kb cluster size / 7.8 million clusters
drive e: 125 gb / 4kb cluster size / 31.2 million clusters
drive f: 156 gb / 32kb cluster size / 4.9 million clusters
drive (c) is SATA drive 1
drive (d) and (e) are SATA drive 2
drive (f) is SATA drive 3
Drive C has win-98se installed, and instead of starting 98 I instead
brought up the start menu and started in DOS. From the command
prompt, I ran scandisk (Win-98se and Win-ME).
Both of them ran fine on all of the above volumes.
Previously when I was testing dos scandisk.exe, I was booting from a
floppy, and probably wasn't loading himem.sys. Himem.sys is needed by
scandisk to run properly.
So here is the master summary of this thread:
---------------------------
1) Scandisk (DOS scandisk.exe, not Windows scandskw.exe) does not
appear to have a cluster-count limitation. Both Win-98se and Win-ME
versions of scandisk have been run on drives with up to 31 million
clusters and have executed properly with no errors. Himem.sys must be
loaded for scandisk to function properly. Microsoft states that
FAT-32 volumes are limited to 4.17 million clusters because of
scandisk.exe, and that scandisk.exe is limited to a memory or data
array size of 16 million bytes. It could very well be that this 16 mb
limit is based on Microsoft's stated minimum system requirements for
Windows 98 (which is 16 mb of system RAM) and that scandisk will
automatically make use of all available system memory if required.
----------------------------
2) Win-98se has been installed directly on 160 gb volumes formatted
with 4kb cluster size (resulting in 40 million clusters) and has not
shown any instability. This was performed on a 160 gb SATA drive
assigned to a RAID controller (but not used in RAID mode). To test
for 137gb data corruption (which theoretically takes place when a read
or write across the 137 gb boundary occurrs) a series of 1 gb VOB
files were copied repeatedly in order to fill the drive. The drive
was eventually filled with 150 of these 1 gb files, and no drive
corruption occurred.
----------------------------
3) The only drawback that I've seen when running a volume with a large
cluster count is that DOS will take a much longer time to perform the
first DIR command. This might also happen in Windows as well - I may
have seen this effect but I haven't specifically looked for it. The
issue is the computation and display of free remaining drive space,
which is part of the DIR command and also happens when browsing the
drives in windows. Related to this is the question does windows store
the amount of remaining drive space somewhere on the drive (instead of
requiring it to be re-calculated every time it's needed).
---------------------------
4) Standard DOS tools like fdisk and format can be used to partition
and format hard drives in excess of 137 gb. Fdisk was used to
partition a 160 gb drive into a 32 gb primary and 121 gb secondary.
The updated or "fixed" version of fdisk.exe was used. What has not
been tested (yet) is the undocumented /Z:n command line parameter for
format, which allows the user to specify a particular cluster size (n
x 512 bytes). Third-party drive utilities (based on On Track's Disc
Manager) can also be used to partition and format hard drives, but I
have found those utilities to be very unstable and to lock up/crash
about 75% of the time I use them.
---------------------------
5) There is evidence that 6,291,204 clusters may represent some sort
of "magic number". A third-party drive partition tool (PartitionMagic
Pro Server 8.05) resorted to this cluster count when an existing 32 gb
partition was manually resized to 4kb cluster size. Norton Disk
Doctor and Speed Disk was found to work properly using this cluster
count, but not on a volume with a slightly larger cluster count of 7.8
million clusters (see note 7 below). This 6.3 million cluster count,
combined with 32kb cluster size, results in a volume size of 206 gb.
Perhaps this set of parameters is the reason for the 200 gb hard drive
size which emerged in early to mid 2003. A dir command is also
performed instantly with no delays in computing free space given a
volume with 6.3 million clusters.
--------------------------
6) Win-98 versions of Scandisk (scandskw.exe) and Defrag did not
function on a volume with 6.3 million clusters but seems to be limited
to the MS stated value of 4.17 clusters. However, Windows ME versions
of dskmaint.dll and defrag.exe does appear to function correctly with
Windows 98se and compatibility with volume size of up to 31.2 million
clusters has been observed. It is not know what their ultimate limit
is.
----------------------------
7) Norton Utilities is a very common third-party set of applications
and their compatibility with large hard drives with a large cluster
count may be of importance to some people. I have found that Norton
Disk Doctor and Norton Speed disk were compatible with volumes with up
to 6.3 million clusters, but not more without using the command-line
parameter /NOLBA. When using this parameter, NDD and SD worked on
volumes with 7.8 million clusters but not 31 million. The exact
cluster-count limit is therefore unknown at this point and I may
explore that in the future.
The switch /NOLBA forces NDD and SD to skip the drive configuration
check. This can also be done using a registry entry by adding a DWORD
registry value named NOLBACHECK at this location:
HKEY_LOCAL_MACHINE\Software\Symantec\Norton Utilities
When this option is set to 1, Norton Disk Doctor and Speed Disk skip
the drive configuration check.
----------------------------
8) Anyone considering adding a large hard drive (a drive larger than
137 gb) to an existing win-98 computer needs to consider certain
issues that include the drive type (IDE/PATA vs SATA) as well as how
the drive is controlled by the motherboard BIOS (mapped to IDE channel
or controlled by RAID controller). The main issue here is that you DO
NOT WANT the win-98se 32-bit driver (ESDI_506.PDR) to be used to
access a hard drive larger than 137 gb. Many or most motherboards
made for the past 3 years will have built-in SATA ports. Windows-98
users are advised to obtain SATA drives instead of the older
conventional IDE drives when adding a new drive (larger than 137 gb)
to a system or if building a new system.
----------------------------
From July 2007 posts (regarding running win-98 on a 500 gb hard drive
partitioned as a single volume using 4kb cluster size):
Installed win-98 on a 500 gb volume (with 121 million 4kb clusters)
and filled up the drive to about 90% with many 1gb .VOB files.
Windows will not create or place the swap file on it, hence virtual
memory will not be enabled. It will create / place the swap file on a
secondary drive, even if that drive is another 500 gb drive (an
otherwise empty drive but formatted with 32kb cluster size resulting
in 15 million clusters).
Those seeing win-98 report a negative number for the amount of free
space on the hard drive should look at this:
http://support.microsoft.com/kb/272620
Even with 1 gb of installed memory, I got an "insufficient memory"
error when running Windows (ME) Scandisk and Defrag on the 500 gb
drive.
DOS scandisk does not give an error, but it would have taken 4 days to
run (given it was at the 30% point after 30 hours).