Jump to content

Above 256GB FAT32 partition resize tools for up to 2TB hard drives


Sfor

Recommended Posts

So far I was able to test these

Partition Magic 7

- can not resize FAT32 partitions larger than 256GB

- can not create FAT32 partitions larger than 256GB

+ safe to manipulate smaller than 256GB FAT32 partitions

+ allows to adjust the cluster size

GParted

- can not resize FAT32 partitions larger than 256GB

+ creates FAT32 partitions larger than 256GB correctly

- there are problems with manipulating FAT32 partitions smaller than 256GB

EaseUS Partition Master Home Edition

+ can resize big FAT32 partitions

- requires Windows 2000 or newer

- no controll over the cluster size

The Windows version of the Partition Magic 7 does allow to grow an oversized FAT32 partition, but it ends with application fault, when it comes to the actual job. There were no data loss in such a case, however.

It seems the Partition Magic 8 is no longer available on the market, there are also some informations mentioning it is compatible just with up to 160GB hard drives.

GParted had many versions, apparently. Some of them were able to resize FAT32, but some were not. Still I found nothing about ability to resize larger than 256GB FAT32 partitions in any version.

I have no possibility to safely test all the available partition resize software. So, I'm asking for the solutions proven to work correctly with growing oversized FAT32 partitions on 2TB hard drives.

Edited by Sfor
Link to comment
Share on other sites


I have paritioned and resized them with Paragion Partition Manager 9. I created the FAT32 partition onto my 750GB HDD with it and it seems to work fine, however I cannot say anything about resizing, I don't have other big drives to experiment with right now...

Link to comment
Share on other sites

While browsing Google I've found a thread about EaseUS Partition Master. An user was able to shrink a 2TB FAT32 partition down by about 600GB. It ended well, however the EaseUS Partition Master was very slow while doing the job.

So, I decided to use this application, as it appears there is a version free for noncommercial use. It did the job, correctly. However it needlessly moved the entire partition data during the process. So, it took several hours to englare 670GB partition with free space right behind it.

In any case, the EaseUS Partition Master requires Windows 2000 or newer. So, it is not a perfect choice for a Windows 98 user. It is slow, but effective, apparently.

Link to comment
Share on other sites

Can you post some details?

Is it possible that the issue was that you (actually EaseUS Partition Master) had to resize the cluster size for the newly "shrinked" or "enlarged" partition?

How big were clusters on the "before" partition? (and how big was it)?

How big are clusters in the "after" partition? (and how big is it)?

How much data was in the partition?

Can I also dare to ask WHY are you using such big partitions?

jaclaz

Edited by jaclaz
Link to comment
Share on other sites

I did englare a FAT32 681GB partition to 733GB. The initial cluster size was 16k, now it is 64k. So, the EaseUS Partition Master Home Edition did change the cluster size, indeed.

There is more. The EaseUS Partition Master Home Edition does not allow the cluster size change. So, there is no controll over the cluster size, at all.

Edited by Sfor
Link to comment
Share on other sites

Well, cluster size is (and always has been and always will be) a trade-off.

http://www.pcguide.com/ref/hdd/file/partFAT32-c.html

The significance of this is not the fact that the FAT32 volume will have to waste several megabytes of space on the disk to hold the FAT (after all, it is saving far more space than that by reducing slack a great deal). The real problem is that the FAT is referred to a lot during normal use of the disk, since it holds all the cluster pointers for every file in the volume. Having the FAT greatly increase in size can negatively impact system speed.

Virtually every system employs disk caching to hold in memory disk structures that are frequently accessed, like the FAT. The disk cache employs part of main memory to hold disk information that is needed regularly, to save having to read it from the disk each time (which is very slow compared to the memory). When the FAT is small, like the 128 kiB FAT used for FAT16, the entire FAT can be held in memory easily, and any time we need to look up something in the FAT it is there at our "fingertips". When the table increases in size to 8 MiB for example, the system is forced to choose between two unsavory alternatives: either use up a large amount of memory to hold the FAT, or don't hold it in memory.

For this reason, it is important to limit the size of the file allocation table to a reasonably-sized number. In fact, in most cases it is a matter of finding a balance between cluster size and FAT size. A good illustration of this is the cluster size selections made by FAT32 itself. Since FAT32 can handle around 268 million maximum clusters, the 4 kiB cluster size is technically able to support a disk volume 1 TiB (1,024 GiB) in size. The little problem here is that the FAT size would be astronomical--over 1 GB! (268 million times 4 bytes per entry).

If you want an efficient (actually as efficient as it can be) FAT filesystem, you want SMALL FAT tables, please read as FEW clusters indexed in them, i.e. LARGE cluster size.

The amount of "wasted" space with large cluster size will however be impressive.

The "default" setting is 32 Kb cluster size (and is ALREADY NOT efficient on such Large volumes).

The previous 16K size could be defined as "pure folly".

A FAT 32 volume is made by:

  1. a few "hidden sectors", number may vary in different implementations, but usually32 sectors
  2. a FAT table
  3. a second copy of it
  4. indexed space containing files or ready to contain them

Since evey FAT table entry is 4 bytes long, every sector (exception made for the first one, that "loses" two entries) of a FAT32 table can index 512/4=128 clusters

Talking of a 681GB partition, i.e. 681*1024*1024*1024=731,218,182,144 bytes one, in sectors 731,218,182,144/512= 1,428,160,512 you have around:

32+2*348,502+ 1,427,463,476=1428160512

I.e. the FAT table is around 348,502*512=178,433,024 bytes in size or around 170 Mb!

Using 64 Kb cluster size, the FAT becomes a much better (though still "crazy") roughly 42 Mb.

The default according to MS is 32 Kb clusterss for anything bigger than 32 GB, meaning that according to them, a (say) 33 Gb partition with 16 Kb clusters, i.e. with a FAT table of around 8Mb, is already less efficient than a 32 K one and you had a partition 20 times bigger with half the size for clusters, a 1 to 40 ratio!

Spring effect graphics! :w00t:

http://reboot.pro/13466/

jaclaz

Link to comment
Share on other sites

Can I also dare to ask WHY are you using such big partitions?

This particular partition stores archive video data. So, there are significant amount of relatively large files. On the other hand my driver collection sits on a 16GB partition, as there are a lot of relatively small files. The more files on a partition, the more time it takes for scandisk to do its job. In case of a "bad shutdown" only used partitions are scanned, so it is good to have a few partitions separating actual work from archives.

In any case dividing a 2TB hard drive to large amount of small partitions requires many drive letters to be used. Another problem is, the classical DOS derived hard drive partitioning allows just one primary one extended and four logical partitions, giving up to 5 drive letters. I do not know how DOS or Windows 98 would handle more of them. In my particular case I'm using 9 drive letters on two hard drives (1,5TB and 2TB).

Bact to the big partitions. Currently I'm using 3 of them.

0,99 TB on the 1,5TB drive.

733GB and 681GB on the 2TB drive.

It would be easier to make just one huge NTFS partition, but it would mean no compatibility with Windows 98.

Edited by Sfor
Link to comment
Share on other sites

In any case dividing a 2TB hard drive to large amount of small partitions requires many drive letters to be used. Another problem is, the classical DOS derived hard drive partitioning allows just one primary one extended and four logical partitions, giving up to 5 drive letters. I do not know how DOS or Windows 98 would handle more of them. In my particular case I'm using 9 drive letters on two hard drives (1,5TB and 2TB).

I am not sure to follow you.

The "really classical" partition scheme (what FDISK will let you do) allows for:

  1. 1 Primary
  2. 1 Extended (containing as many logical volumes as you wish inside it)

But since there are 4 partition entries in the MBR you can have either:

  • 4 primaries

or

  • 3 primaries
  • 1 Extended (containing as many logical volumes as you wish inside it)

There is no theoretical lmit to the number of logical volumes you can have inside an extended partition (as it is simply a "chain" of volumes, each EPBR has an entry for "itself" - i.e. the logical volume and an entry for "next" EPBR in the chain).

The issue you may have is the number of available drive letters (26-2)=24

The real "adantage" of having a NT based system /since 2K) is that you can have even a small NTFS partition and as many mountpoints (volumes mapped to directories) as you wish without needing to "use" drive letters:

http://en.wikipedia.org/wiki/Volume_Mount_Point

http://technet.microsoft.com/en-us/library/cc938934.aspx

I don't recall having seen something (third party) similar for 9x/Me but I may be wrong.

It would be interesting to test if any of the NTFS drivers for Win9x/Me are compatible with this feature (that is actually a feature of NTFS 3.0+ and not of the NT kernel, AFAIK)

jaclaz

Link to comment
Share on other sites

The partition table in the extended partition has the same structure as the one in the MBR. So up to 4 logical volumes are possible in a single extended partition table. Perhaps some operating systems are able to take advantage of the endless chain of the extended partition inside an extended partition idea, but DOS is not one of them. So, Windows 98 will not, as well. DOS is not able to use two primary partitions in the same time, either.

To sum it up, a theoretical endless possibilities are tied up by compatibility issues.

I saw no good and reliable RW NTFS compatibility for Windows 98 driver, so far. That's why I'm sticking to the FAT32.

Edited by Sfor
Link to comment
Share on other sites

The partition table in the extended partition has the same structure as the one in the MBR. So up to 4 logical volumes are possible in a single extended partition table. Perhaps some operating systems are able to take advantage of the endless chain of the extended partition inside an extended partition idea, but DOS is not one of them. So, Windows 98 will not, as well. DOS is not able to use two primary partitions in the same time, either.

To sum it up, a theoretical endless possibilities are tied up by compatibility issues.

I saw no good and reliable RW NTFS compatibility for Windows 98 driver, so far. That's why I'm sticking to the FAT32.

As far as I can tell, only one Logical Partition can be in a single Extended Partition Table, so the chain is linear.

DOS and Windows 9x support multiple Primary Partitions. The additional Primary Partitions are all placed after the Logical Partitions in the Drive letter sequence.

You can have Partitions up to 2TiB in size but you may need my Patch if it is larger than 1TiB.

Link to comment
Share on other sites

The partition table in the extended partition has the same structure as the one in the MBR. So up to 4 logical volumes are possible in a single extended partition table. Perhaps some operating systems are able to take advantage of the endless chain of the extended partition inside an extended partition idea, but DOS is not one of them. So, Windows 98 will not, as well. DOS is not able to use two primary partitions in the same time, either.

To sum it up, a theoretical endless possibilities are tied up by compatibility issues.

I saw no good and reliable RW NTFS compatibility for Windows 98 driver, so far. That's why I'm sticking to the FAT32.

While the partition table in the extended partition has four slots, just like in the MBR, the logical partitions inside the extended partition are connected in a daisy-chain, which means only one ot two of the slots are ever used.

Link to comment
Share on other sites

The partition table in the extended partition has the same structure as the one in the MBR. So up to 4 logical volumes are possible in a single extended partition table. Perhaps some operating systems are able to take advantage of the endless chain of the extended partition inside an extended partition idea, but DOS is not one of them. So, Windows 98 will not, as well. DOS is not able to use two primary partitions in the same time, either.

NO. :no:

It doesn't work like that.

Of the four entries in a EPBR only TWO are "filled", the first one with "itself" (i.e. first next volume in the Extended partition space) and the other points to next EPBR..... and so on until you get to last EPBR that has obviously NOT the entry to next EPBR.

This applies to *any* OS that supports the extended partition, including DOS and Win9x.

Read:

http://www.ranish.com/part/primer.htm

http://www.goodells.net/multiboot/ptable.shtml

More than one primary partition is not recommended on VERY OLD DOS versions, but has no issues that I know of on at least MS-DOS 5.00 and later (but still FDISK won't let you make them).

The only possible issue with multiple primaries is possibly this one:

http://www2.arnes.si/~fkomar/xosl.org/faqhow/faq.html

Microsoft Operating Systems MS-DOS through Windows 98 or even Windows ME have a bug where, if the last logical partition in the extended partition is not a recognized file system type, and multiple visible FAT primary partitions exist, it will use the last logical partition as a FAT one in place of the next primary partition. But it will think the size of the partition is that of the primary partition. Data coruption can occur!

http://www.goodells.net/multiboot/notes.shtml#note01

Drive letter assignment follows an algoithm that is different on different OS, see here:

page__view__findpost__p__913549

AND links within:

DOS (and Win9x/Me):

http://support.microsoft.com/kb/51978/en-us

2K (and later):

http://www.dewassoc.com/support/win2000/driveletters.htm

This said, it is UNneeded to have more than one primary partition accessible/mountable by DOS based systems, and this approach has worked now since what, 18 years ;) :

You use only 2 of the 4 MBR entries, and you have two still free for other OS if needed and yes, also 98/Me can be installed to a logical volume, see:

http://www.allensmith.net/OS/XOSL/II.htm#Content

The additional findings by Dan Goodell's, see the already mentioned:

http://www.goodells.net/multiboot/ptable.shtml

allow additionally to directly boot from a logical volume.

jaclaz

Edited by jaclaz
Link to comment
Share on other sites

Microsoft Operating Systems MS-DOS through Windows 98 or even Windows ME have a bug where, if the last logical partition in the extended partition is not a recognized file system type, and multiple visible FAT primary partitions exist, it will use the last logical partition as a FAT one in place of the next primary partition. But it will think the size of the partition is that of the primary partition. Data coruption can occur!

I fixed that problem years ago.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...