Main Menu
Search CrapControl.com

Welcome

Username:

Password:


Remember me

[ Signup ]
[ Forgot password? ]

Newsletter
Ads by Google
How to format a large drive in FAT32
How to format a large drive in FAT32
Solution for formatting a volume bigger then 32GB in FAT32
Crapcontrol Tuesday 19 September 2006

It turns out that Windows XP won't let you format a volume bigger than 32GB with FAT32. You could use NTFS, but that's not what FATlib supports. NTFS can only be written safely by Windows XP - there are no other drivers for other OS's, unlike FAT which is supported by virtually anything.

As Microsoft put it here:

You cannot format a volume larger than 32 gigabytes (GB) in size using the FAT32 file system during the Windows XP installation process. Windows XP can mount and support FAT32 volumes larger than 32 GB (subject to the other limits), but you cannot create a FAT32 volume larger than 32 GB by using the Format tool during Setup. If you need to format a volume that is larger than 32 GB, use the NTFS file system to format it. Another option is to start from a Microsoft Windows 98 or Microsoft Windows Millennium Edition (Me) Startup disk and use the Format tool included on the disk.

Using Windows 98 obviously opens up other issues - It doesn't support USB 2.0 or SATA as far as I know. Formatting a huge disk will take ages. It suports IDE, but not 48bit LBA, which is required for drives greater than 137GB. Also, you need to patch format.exe and fdisk to work with disks greater than 64GB. Even then scandisk will corrupt large disks unless you disable it. It can be done, but basically, this is ancient 16 bit code, and using it on modern hardware is not a good idea. There is a port of mkdosfs from Linux to Win32. I tried it, and chkdsk complained about being unable to test a RAW filesystem. It also uses funny cluster sizes, only 4K for normal sized disks.

Actually, looking back at the Microsoft comment, if I could format the volume myself, all would be OK. Fat32 is pretty simple, so it occured to me to write a fast format routine to do the job. Note that the 32GB limit is a limit of the formatter in Windows XP. FAT32 itselft should be OK to 2TB, limited by a 32 bit sector count in the boot sector. XP comes with a partitioning tool, called Disk Management. It even has Wizards for partitoning. This should be a cinch.

I've tested this with a SATA disk as follows. Power off the computer and connect the disk. Power up again - check the Bios finds it. If you have a IDE or SATA disk, make sure you power off before connecting, USB and Firewire ones can be connected with the power on.

Click Start menu, select Run and enter diskmgmt.msc

If it asks you to initialise the disk, make sure you select a Basic disk, as opposed to a Dynamic.
There's a guide on Disk Management here You need to find the disk with unallocated space. Right click on it and select "New Partition" and follow these steps, clicking "Next" to get move on at each stage.

1. Partition Wizard starts, just click next to move on
2. Select Primary Partition.
3. Enter the maximum size for the Partition Size
4. Choose assign a drive letter. I used F:
5. Select "Do not Format this partition"
6. There will be a dialog box, summarising all the previous stuff. Click Finish

Now you have a drive letter, this is what we will pass to the formatter

Now download fat32format. Extract the single EXE file to somewhere suitable, like: 

C:. Click Start->Run and enter cmd.

CD (=change directory) to the where you extracted the fat32format exe, e.g. by typing

CD /D c:

Now you're almost done.

Type this fat32format f:

You should see this displayed

Warning ALL data on drive 'f' will be lost irretrievably, are you sure (y/n)

Now when it says this, it really means it. If you format the boot sector, FATs and root directory will be filled with zeros. By typing pressing Y and hitting return, you're also absolving me of liability for whatever was on the disk before.

Assuming you don't bail out at this point you should see something like this -

Warning ALL data on drive 'f' will be lost irretrievably, are you sure
(y/n) :y
Size : 250GB 488392002 sectors
512 Bytes Per Sector, Cluster size 32768 bytes
Volume ID is 1bdb:2c1d
32 Reserved Sectors, 59604 Sectors per FAT, 2 fats
7629261 Total clusters
7629260 Free Clusters
Formatting drive f:...
Clearing out 119304 sectors for Reserved sectors, fats and root cluster...
Wrote 61083648 bytes in 0.988463 seconds, 61796609.106193 bytes/sec
Initialising reserved sectors and FATs...
Done


This means that all has gone according to plan. It should take about 4 seconds per Terabyte to format the disk. You can run chkdsk f: at this point if you're curious, and see something like this -

The type of the file system is FAT32.
Volume Serial Number is 1BDB-2C1D
Windows is verifying files and folders...
File and folder verification is complete.
Windows has checked the file system and found no problems.
244,136,352 KB total disk space.
244,136,320 KB are available.

32,768 bytes in each allocation unit.
7,629,261 total allocation units on disk.
7,629,260 allocation units available on disk.


This shows that my calculations match up with the ones inside Windows, which is good news

It is also possible to set the cluster size with a -cN parameter where N is the number of sectors per cluster. On a hard disk, which is the only sort we support, one sector is 512 bytes. The cluster size will be N times 512. I played around with this, and it seems that Windows XP supports small cluster sizes, except that chkdsk runs very slowly, presumably because it needs to read the huge FAT that results from these settings. Given the nature of FAT32, you can't reduce the cluster size such that the number of clusters is more than 228. I'd recommend using the default cluster sizes, which are the Microsoft recommended ones, unless you need to force them for testing or something

There are a couple of things you need to know before running fat32format. You need to have Administrator rights on XP for it to work, since it opens the drive in raw write mode. You also need to make sure that there are no open files on the volume - if there are you will see a message like this -

Warning ALL data on drive 'f' will be lost irretrievably, are you sure
(y/n) :y
Failed to open device - close any files before formatting
Are you SURE you're formatting the RIGHT DRIVE!!!


This should make it a bit harder to lose data, assuming that you have at least one open file on the drives with data you want to keep. The drive that Windows is currently running from will have lots of files open - the pagefile, registry etc. I usually keep an Explorer.exe open in the root directory of any other drives to block format from running. Finally, it will only work with hard disks with 512 bytes per sector. If you have a DVD-Ram disk, format using the Windows formatter.

One last thing - fat32format is designed to format disks quickly. It doesn't check for bad sectors. If you need integrity checks, run a chkdsk /R f: after the format.

Finally and most importantly, it isn't possible to recover your data if you format the wrong disk, be careful using it. It is licensed under the GPL license.

Source: Ridgecrop consultants


>> List articles in this category
<< Back to articles front page
Rating
Not rated
Articles
New Downloads
DJ FireflyFX
Top Downloads
bullet Realtek High...
Requests: 4,260 (3.6%)
 
bullet GradientDesk R1...
Requests: 2,329 (2.0%)
 
bullet DirectX 9c (no...
Requests: 1,917 (1.6%)
 
bullet Unstoppable Copier...
Requests: 1,843 (1.6%)
 
bullet Adblock - Firefox...
Requests: 1,774 (1.5%)
 
Total: 118,468 (4.86gb)
Backend
Our headlines can be syndicated by using either our rss or text feeds.
news.xml - news.txt

Copyright ©2005-2006 Crapcontrol.com - All trademarks are © their respective owners. - Read our privacy policy here

Render time: 0.4920 second(s).