Fat32 Hard Drive Formatter Programmer

HomeProductsTeensyBlogForum

♣ Format a large disk (over 32GB) to FAT32 smoothly. ♣ Format corrupted SD card in Windows computer. ♣ Format write-protected disk if the hard disk becomes read-only due to corrupted file sytstem. ♣ Convert FAT32 to NTFS, or NTFS to FAT32 without formatting/losing data. I have a 4TB GPT external USB hard drive that I need to format as FAT32. (Yes, I know there are better filesystems; I need FAT32.) I have other 4TB external drives already formatted as FAT32 (see. May 27, 2021 Actually, the reason why you can't format to FAT32 is that the FAT32 file system has size limit (32 GB), which is set by Microsoft manually. On a hard drive with 512-byte sectors, the real size limit of FAT32 is 2TB. On a hard drive with 2 KB sectors and 32 KB clusters, the real size limit is 8 TB. On a hard drive with 4 KB sectors and 64 KB. Apr 22, 2013 - Trying to format a large external USB or Firewire hard drive to the FAT32. This program and it was able to convert my 1TB hard drive to FAT32. To avoid frustration, use a third-party tool or try the quick format option below. Jan 10, 2021 fat32format is a freeware application which allows Windows systems to format any drives to FAT32; despite the format's limitations, the author posits that even huge drives up to 2 TB (yes, 2 terabytes). As the program is a command line tool, it will be necessary to extract fat32format to a directory where it can be run from the command prompt.

You are here:8051 ToolsCode LibraryIDE Hard DriveFAT32 Info
PJRC Store
8051 Board, $79
LCD 128x64 Pixel, $29
LCD 16x2 Char, $14
Serial Cable, $5
9 Volt Power, $6
More Components...
8051 Tools
Main Page
Software
PAULMON Monitor
Development Board
Code Library
Serial I/O, Polled
Automatic Baud Rate
Serial I/O, Intr.
Lexer
Random Numbers
Serial EEPROM
AMD 28F256 Flash
Xilinx 3000
IDE Hard Drive
Tiny Basic
89C2051 Programmer
Other Resources

This page is intended to help you understand how to access dataon Microsoft FAT32 filesystems, commonly used on hard drivesranging in size from 500 megs to hundreds of gigabytes. FAT isa relatively simple and unsophisticated filesystem that isunderstood by nearly all operating systems, including Linux andMacOS, so it's usually a common choice for firmware-based projectsthat need to access hard drives. FAT16 and FAT12 are very similarand used on smaller disks. This page will concentrate on FAT32only (to keep it simple), and briefly mention wherethese other two are different.

TheofficialFAT specification is available from Microsoft, complete with asoftware 'license agreement'. Saddly, the documentfrom Microsoft is hard to read if you do not already understand the FATfilesystem structure, and it lacks information about disk partitioningwhich also must be dealt with to properly use standard hard drives. Whileyou may find the Microsoft spec useful, this page is meant to 'stand alone'...and you can simply read it without suffering through 3 pages of legalese!

However, this page will intentionally 'gloss over' many small detailsand omit many of the finer points, in an attempt to keep it simple andeasy to read for anyone faced with learning FAT32 without any previousexposure.

Where To Start... How About At The Beginning?

The first sector of the drive is called the Master Boot Record (MBR).You can read it with LBA = 0. For any new projects, you should noteven worry about accessing a drive in CHS mode, as LBA just numbersthe sectors sequentially starting at zero, which is much simpler.All IDE drives support accessing sectors using LBA. Also, all IDEdrives use sectors that are 512 bytes. Recent Microsoft operatingsystems refer to using larger sectors, but the drives still use 512bytes per sector and MS is just treating multiple sectors as if theywere one sector. The remainder of this page will only refer to LBAaddress of 512 byte sectors.

The first 446 bytes of the MBR are code that boots the computer.This is followed by a 64 byte partition table, and the last twobytes are always 0x55 and 0xAA. You should always check theselast two bytes, as a simple 'sanity check' that the MBR is ok.


Figure 1: MBR (first sector) layout

The MBR can only represent four partitions. A technique called 'extended'partitioning is used to allow more than four, and often times itis used when there are more than two partitions. All we're goingto say about extended partitions is that they appear in this tablejust like a normal partition, and their first sector has anotherpartition table that describes the partitions within its space.But for the sake of simply getting some code to work, we're goingto not worry about extended partitions (and repartition and reformatany drive that has them....) The most common scenario is only onepartition using the whole drive, with partitions 2, 3 and 4 blank.

Each partition description is just 16 bytes, and the good news isthat you can usually just ignore most of them. The fifth byte isa Type Code that tellswhat type of filesystem is supposed to be contained within thepartition, and the ninth through twelth bytes indicate the LBABeginaddress where that partition begins on the disk.


Figure 2: 16-byte partition entry

Normally you only need to check the Type Code of each entry,looking for either 0x0B or 0x0C (the two that are used for FAT32),and then read the LBA Begin to learn where the FAT32 filesystemis located on the disk.

TODO: add a table of known type codes, with the FAT32 ones colored

Winhex Warning

Several people have attempted to read the MBR (LBA=0) with Winhex,and actually ended up reading the FAT Volume ID sector. When usingWinhex, sector addressing may be relative to your windows partition.

The Number of Sectors field can be checked to make sure youdo not access (particularly write) beyond the end of the space thatis allocated for the parition. However, the FAT32 filesystem itselfcontains information about its size, so this Number of Sectorsfield is redundant. Several of Microsoft's operating systems ignoreit and instead rely on the size information embedded within the firstsector of the filesystem. (yes, I have experimentally verified this,though unintentionally :)Linux checks the Number of Sectors field and properly preventsaccess beyond the allocated space. Most firmware will probably ignore it.

The Boot Flag, CHS Begin, and CHS End fields should be ignored.

FAT32 Volume ID... Yet Another First Sector

The first step to reading the FAT32 filesystem is the read itsfirst sector, called the Volume ID. The Volume ID is readusing the LBA Begin address found from the partition table.From this sector, you will extract information that tells youeverything you need to know about the physical layout of theFAT32 filesystem.

Microsoft's specification lists many variables, and the FAT32Volume ID is slightly different than the older ones used for FAT16and FAT12. Fortunately, most of the information is not neededfor simple code. Only four variables are required, and threeothers should be checked to make sure they have the expected values.


Figure 4: FAT32 Volume ID, critical fields

FieldMicrosoft's NameOffsetSizeValue
Bytes Per SectorBPB_BytsPerSec0x0B16 BitsAlways 512 Bytes
Sectors Per ClusterBPB_SecPerClus0x0D8 Bits1,2,4,8,16,32,64,128
Number of Reserved SectorsBPB_RsvdSecCnt0x0E16 BitsUsually 0x20
Number of FATsBPB_NumFATs0x108 BitsAlways 2
Sectors Per FATBPB_FATSz320x2432 BitsDepends on disk size
Root Directory First ClusterBPB_RootClus0x2C32 BitsUsually 0x00000002
Signature(none)0x1FE16 BitsAlways 0xAA55

After checking the three fields to make sure the filesystem is using512 byte sectors, 2 FATs, and has a correct signature, you may want to'boil down' these variables read from the MBR and Volume ID into justfour simple numbers that are needed for accessing the FAT32 filesystem.Here are simple formulas in C syntax:

As you can see, most of the information is needed only to learn thelocation of the first cluster and the FAT. You will need to rememberthe size of the clusters and where the root directory is located, butthe other information is usually not needed (at least for simply readingfiles).

If you compare these formulas to the ones in Microsoft's specification,you should notice two differences. They lack 'RootDirSectors', becauseFAT32 stores the root directory the same way as files and subdirectories,so RootDirSectors is always zero with FAT32. For FAT16 and FAT12, thisextra step is needed to compute the special space allocated for the rootdirectory.

Microsoft's formulas do not show the 'Partition_LBA_Begin' term. Theirformulas are all relative to the beginning of the filesystem, which theydon't explicitly state very well. You must add the 'Partition_LBA_Begin'term found from the MBR to compute correct LBA addresses for the IDEinterface, because to the drive the MBR is at zero, not the Volume ID.Not adding Partition_LBA_Begin is one of the most common errors mostdevelopers make, so especially if you are using Microsoft's spec, do notforget to add this for correct LBA addressing.

The rest of this page will usually refer to 'fat_begin_lba', 'cluster_begin_lba','sectors_per_cluster', and 'root_dir_first_cluster', rather than theindividual fields from the MBR and Volume ID, because it is easiest tocompute these numbers when starting up and then you no longer need all thedetails from the MBR and Volume ID.

Bad Sectors

In the old days, disk drives had 'bad' sectors.Brand new drives would often have several bad sectors,and as the drive was used (or abused), additionalsectors would become unusable.

The FAT filesystems are designed to handle badsectors. This is done by storing two identical copiesof the File Allocation Table. The idea is that if asector within one FAT becomes bad, the correspondingsector in the other FAT will (hopefully) still be good.

Bad sectors within the clusters are handled by storinga special code within the FAT entry that represents thecluster that contains the bad sector. If a file happenedto be using that cluster, well, you lost part of thefile's data, but at least that cluster would be markedas bad so that it would never be used again. The initialformatting of the disk would write and read every sector andmark the bad clusters before they could be used, so dataloss could only occur when a previously-good sectorbecame bad.

Fortunately, bad sectors today are only a distant memory,at least on hard drives.Modern drives still internally experience media errors,but they storeReed-Solomonerror correcting codes for every sector. Sector data canbe interleaved and distributed over a wide area, so a physicaldefect (localized to one place) can damage only a small part ofmany sectors, rather than all of a few sectors. The errorcorrection can easily recover the few missing bits of each sector.Error correction also dramatically increasesstorage capacity (despite using space to store redundant data),because the bits can be packed so closetogether that a small number of errors begin to occur, andthe error correction fixes them.

All modern drives also include extra storage capacity thatis used toautomaticallyremap damaged sectors. When a sectoris read and too many of the bits needed error correction, thecontroller in the drive will 'move' that sector to a fresh portionof the space set aside for remapping sectors. Remapping alsodramatically reduces the cost of disk drives, because smallbut common defects in manufacturing don't impact overallproduct quality.

Because all modern drives use sophisticated error correction toautomatically detect and (almost always) correct for media errors,bad sectors are virtually never seen at the IDE interface level.

How The FAT32 Filesystem Is Arranged

The layout of a FAT32 filesystem is simple. The first sector isalways the Volume ID, which is followed by some unused spacecalled the reserved sectors. Following the reserved sectors aretwo copies of the FAT (File Allocation Table). The remainderof the filesystem is data arranged in 'clusters', with perhapsa tiny bit of unused space after the last cluster.


Figure 5: FAT32 Filesystem Overall Layout

The vast majority of the disk space is the clusters section,which is used to hold all the files and directories. Theclusters begin their numbering at 2, so there is no cluster #0or cluster #1. To access any particular cluster, you need touse this formula to turn the cluster number into the LBA addressfor the IDE drive:

lba_addr = cluster_begin_lba + (cluster_number - 2) * sectors_per_cluster;

Normally clusters are at least 4k (8 sectors), and sizes of 8k, 16k and32k are also widely used. Some later versions of Microsoft Windows allowusing even larger cluster sizes, by effectively considering the sectorsize to be some mulitple of 512 bytes. The FAT32 specification fromMicrosoft states that 32k is the maximum cluster size.

Now If Only We Knew Where The Files Were....

When you begin, you only know the first cluster of the root directory.Reading the directory will reveal the names and first cluster locationof other files and subdirectories. A key point is thatdirectories only tell you how to find the first cluster number of their filesand subdirectories. You also obtain a variety of other infofrom the directory such as the file's length, modification time, attributebits, etc, but a directory only tells you where the files begin. Toaccess more than the first cluster, you will need to use the FAT. Butfirst we need to be able to find where those files start.

In this section, we'll only briefly look at directories as much asis necessary to learn where the files are, then we'll look at howto access the rest of a file using the FAT,and later we'll revisit directory structure in more detail.

Directory data is organized in 32 byte records. This is nice, becauseany sector holds exactly 16 records, and no directory record will evercross a sector boundry. There are four types of 32-byte directoryrecords.

  1. Normal record with short filename - Attrib is normal
  2. Long filename text - Attrib has all four type bits set
  3. Unused - First byte is 0xE5
  4. End of directory - First byte is zero
Unused directory records are a result of deleting files. The first byteis overwritten with 0xE5, and later when a new file is created it can bereused. At the end of the directory is a record that begins with zero.All other records will be non-zero in their first byte, so this is aneasy way to determine when you have reached the end of the directory.

Records that do not begin with 0xE5 or zero are actual directory data, andthe format can be determined by checking the Attrib byte. For now, we areonly going to be concerned with the normal directory records that havethe old 8.3 short filename format. In FAT32, all files and subdirectorieshave short names, even if the user gave the file a longer name, so you canaccess all files without needing to decode the long filename records (as longas your code simply ignores them). Here is the format of a normaldirectory record:


Figure 6: 32 Byte Directory Structure, Short Filename Format

FieldMicrosoft's NameOffsetSize
Short FilenameDIR_Name0x0011 Bytes
Attrib ByteDIR_Attr0x0B8 Bits
First Cluster HighDIR_FstClusHI0x1416 Bits
First Cluster LowDIR_FstClusLO0x1A16 Bits
File SizeDIR_FileSize0x1C32 Bits

The Attrib byte has six bits defined, as shown in the table below. Mostsimple firmware will check the Attrib byte to determine if the 32 bytes area normal record or long filename data, and to determine if it is a normalfile or a subdirectory. Long filename records have all four of the leastsignificant bits set. Normal files rarely have any of these four bits set.

Attrib BitFunctionLFNComment
0 (LSB)Read Only1Should not allow writing
1Hidden1Should not show in dir listing
2System1File is operating system
3Volume ID1Filename is Volume ID
4DirectoryxIs a subdirectory (32-byte records)
5ArchivexHas been changed since last backup
6Ununsed0Should be zero
7 (MSB)Ununsed0Should be zero

The remaining fields are relatively simple and straigforward.The first 11 bytes are the short filename (old 8.3 format). The extensionis always the last three bytes. If the file's name is shorter than 8 bytes,the unused bytes are filled with spaces (0x20). The starting cluster numberis found as two 16 bit sections, and the file size (in bytes) is found in thelast four bytes of the record. In both, the least significant byte is first.The first cluster number tells you where the file's data begins on the drive,and the size field tells you how long the file is The actual space allocatedon the disk will be an integer number of clusters, so the file size lets youknow how much of the last cluster is the file's data.

File Allocation Table - Following Cluster Chains

The directory entries tell you where the first cluster of each file (orsubdirectory) is located on the disk, and of course you find the firstcluster of the root directory from the volume ID sector.For tiny files and directories (that fit insidejust one cluster), the only information you obtain from the FAT isthat there are no more clusters for that file.To access all the other clusters ofa file beyond the first one, you need to use the File Allocation Table. The name FAT32 refersto this table, and the fact that each entry of the table is 32 bits. InFAT16 and FAT12, the entries are 16 and 12 bits. FAT16 and FAT12 work thesame way as FAT32 (with the unpleasant exception that 12 bit entries do notalways fall neatly within sector boundries, but 16 and 32 bit entries nevercross sector boundries). We're only going to look at FAT32.

The File Allocation Table is a big array of 32 bit integers, where eachone's position in the array corresponds to a cluster number, and thevalue stored indicates the next cluster in that file. The purpose ofthe FAT is to tell you where the next cluster of a file is located onthe disk, when you know where the current cluster is at. Every sector ofof the FAT holds 128 of these 32 bit integers, so looking up the nextcluster of a file is relatively easy. Bits 7-31 of the current clustertell you which sectors to read from the FAT, and bits 0-6 tell you whichof the 128 integers in that sector contain is the number of the nextcluster of your file (or if all ones, that the current cluster is the last).

Here is a visual example of three small files and a root directory, allallocated near within first several clusters (so that one one sector ofthe FAT is needed for the drawing). Please note that in this example,the root directory is 5 clusters... a very unlikely scenario for a drivewith only 3 files. The idea is to show how to follow cluster chains, butplease keep in mind that a small root directory (in only 1 cluster) wouldhave 'FFFFFFFF' at position 2 (or whereever the volume ID indicated asthe first cluster), rather than '00000009' leading to even more clusters.However, with more files, the root directory would likely span severalclusters, and rarely would a root directory occupy consecutive clustersdue to all the allocation for files written before the directory grew touse more clusters. With that caveat in mind, here's that simple example:


Figure 7: FAT32 Sector, Cluster chains for root directory and three files

In this example, the root directory begins at cluster 2, which is learnedfrom the Volume ID. The number at position 2 in the FAT has a 9, so thesecond cluster is #9. Likewise, clusters A, B, and 11 hold the remainderof the root directory. The number at position 11 has 0xFFFFFFFF whichindicates that this is the last cluster of the root directory. Inpractice, your code may not even attempt to read position 11 because thean end-of-directory marker (first of 32 bytes is zero) would be found.Likewise, a filesystem with a small root directory might fit entirelyinto one cluster, and the FAT could not be needed at all to read such adirectory. But if you reach the end of the 32 byte entries within thefirst cluster without finding the end-of-directory marker, then the FATmust be used to find the remaining clusters.

Similarly, three files are shown. In each case, the FAT gives noindication of which cluster is the first... that must be extracted fromthe directory, and then the FAT is used to access subsequent clustersof the file. The number of clusters allocated to the file shouldalways be enough to hold the number of bytes specified by the sizefield in the directory. A portion of the last cluster will be unused,except in the rare case where the file's size is an exact multiple ofthe cluster size. Files that are zero length do not have any clustersallocated to them, and the cluster number in the directory should be zero.Files that fit into just one cluster will have only the 'FFFFFFFF'end of file marker in the FAT at their cluster position.

Shortcut Hint: One approach to the simplest possible code is to keepthe root directory very small (few files, only 8.3 filenames), avoidsubdirectories, and runthe 'defrag' program on a PC. That way, the root directory is found injust one cluster and every file occupies only consecutive clusters.Though this approach is very limiting, it means you can read fileswithout using the FAT at all.

According to Microsoft's spec, the cluster numbers are really only 28 bitsand the upper 4 bits of a cluster are 'reserved'. You should clear thosetop for bits to zeros before depending on a cluster number. Also, theend-of-file number is actually anything equal to or greater than 0xFFFFFFF8,but in practive 0xFFFFFFFF is always written. Zeros in the FAT markclusters that are free space. Also, please remember that the clusternumbers are stored with their least significant byte first (Figure 7shows them human-readable formatted, but they are actually stored LSB first).

The good news for a firmware designer working with limited resources isthat FAT is really very simple. However, FAT's simplicity is also itsweakness as a general purpose file system for high performance computing.For example, to append data to a file, the operating system must traversethe entire cluster chain. Seeking to random places within a file alsorequires many reads within the FAT. For the sake of comparison,unix filesystems use a tree-likestructure, where a cluster (also called a 'block') has either a list ofblocks (often called 'inode' in unix terminology), or a list of otherinodes which in turn point to blocks. In this manner, the location ondisk of any block can be found by reading 1, 2, or 3 (for huge files)inodes. The other weakness of FAT, which is mitigated by caching, isthat it is physically located near the 'beginning' of the disk, ratherthan physically distributed. Unix inode-based filesystems scatter theinode blocks evenly among the data blocks, and attempt to describe thelocation of data using nearby inode blocks.

Directories and Long Filenames In Detail

TODO: write this section someday.... the basic idea is that a bunch of32-byte entries preceeding the normal one are used to hold the long namethat corresponds to that normal directory record.

Where's the Free Code ???

At this time, I do not have a free general-purpose FAT32 code libraryfor you to easily drop into your project.

However, you can find FAT32 code in the mp3 player project.The 0.1.x and 0.5.x firmware used a simple one-sector-at-a-time approachthat is very easy to understand and only needs a single 512 byte buffer,but is not very sophisticated. These old firmware revs do not properlyfollow cluster chains for file (they do for directories), so it is necessaryto run defrag before using the drive with them.

The 0.6.x mp3 player firmware does use the FAT properly to follow clusterchains. It uses megabytes of memory from the SIMM to buffer cluster andsectors from the FAT. A table of recently read FAT sectors is maintained,and a binary search is implemented to quickly locate the memory associatedwith any cached FAT sector. The firmware manages the megabytes of RAM bydividing it into 4k chunks (which works together with the bank swappingimplemented by the FPGA), and the first 32 hold a big array of 16-bytestructs with info about what is held in each 4k block. These structsimplement linked lists that for each file cached in memory. A file I/OAPI is built on top of this to allow the main program to access the cacheddata. The 0.6.x firmware also uses DMA, so data transfers are quite fast.

Both of the MP3 player project FAT32 implementations are read-only. Bothare GPL'd, but both are quite specific to that project. You can chooseeither very simple without features and needing defrag, or quite complexwith lots of features but heavily dependent on the FPGA and SIMM.

Perhaps someday I will write a more general purpose FAT32 implementationwith nice documentation for this code library section. But this is notplanned for the near future. Hopefully the description on this pagewill at least help you to understand how FAT32 works so you can writeyour own code or understand the project-specific code in the mp3 players.

Other Sites With FAT Filesystem Code For Microcontrollers

  • Rob's Projects - FAT32 File I/O Library. Intended for AVR, but the code is in C.
  • Nassif's ZipAmp - A mp3 player with FAT16 and FAT32 code.

Please Help....

If you have found this web page helpful, please create a direct link on yourown project webpage (hopefully with at least 'FAT32' in your link text).Visitors to your sitewill be able to find this page, and your link will help search enginesto direct other developers searching for FAT32 information to thispage.

Understanding FAT32 can be difficult, especially if you can only findpoorly written documentation like Microsoft's specification. I wrotethis page to help bridge the gap and make understanding FAT32 easier.Please help make it easier for others to find it.

Thanks.

Understanding FAT32 Filesystems, Paul Stoffregen
http://www.pjrc.com/tech/8051/ide/fat32.html
Last updated: February 24, 2005
Suggestions, comments, criticisms:<paul@pjrc.com>

Last updated on July 28, 2021

These best free formatters work for all brands and types of usb flash drive, hard drive, memory card... You may use them to force format usb drive/disk/sd for free.

Format usb flash or memory card on MAC? Be free to visit: Top 3 free formatters for MAC; Flash drive corrupted? Try these usb repair utilities: 8 usb repair tools for Windows

Table of contents

  1. A). HP USB Format Tool Download - needs admin privilege
  2. B). IM-Magic Partition Resizer Free - can also repair bad blocks for disk/usb before formatting
  3. C). Rufus - format disk/usb/sd that won't format

Hard Disk Formatting Software to Format Hard Disk?

'Windows was not able to complete the format when I received drive not formatted error message and performed a chkdsk and it reported error'The type of file system is raw, chkdsk is not available for raw drives.' Can I format hard disk smoothly and also restore its common use. Thanks!'

'I am searching for best free drive formatting software to wipe everything stored inside before selling this drive online. Do you have any suggestion? Hope the suggested formatting software would help delete data permanently and any erased file will never be restored again. Thanks'

Hello, friends, are you looking for hard drive reformatting utility to fix hard drive problems or remove hard drive viruses, bad sectors and sensitive data, etc? OK! No worry! Here are several tested best hard drive formatting programs for you.

Note: Before any formatting, we would recommend you backup data from your media. If the device is no longer accessible, you may try this tool: how to recover data from not formatted drive/card

Free Disk Drive/Memory Card Data Recovery Tool

Free Download Tool to Recover Data from Damaged Media, inaccessible drive, not formatted disk/usb/memory card.

Tested 5 Best Free Hard Drive/USB/SD Formatting Tool

Here are several common and useful free hard disk formatting utilities for you:

1). HP USB Disk Storage Format tool

HP USB Disk Storage Format Tool is really a free disk formatting tool which allows people to easily and quickly format a USB flash drive to FAT32, exFAT or NTFS file system. And it can work flawlessly even when Windows was unable to complete the format when your usb pen drive turned raw format.

MUST READ: * It needs you to run it under 'Administator'

With this software, if necessary, you can also make a bootable USB drive by choosing its 'Create a DOS startup disk' option.

Pros:

*It is completely free and easy to grasp and use.
*It works well in formatting USB drive into FAT32, FAT or NTFS.
*It is portable and could be installed on a flash drive to be used on different PCs.
*It allows people to 'Create a DOS startup disk' to help boot up a computer from USB flash drive.
*It supports common Windows operating systems.

Cons:

* It works well on USB flash drive and does not recognize internal hard drives and partitions.
* It needs you to run it under 'Administator'

Also read: HP USB Disk Storage Format Tool Review and Error Fixing

2). IM-Magic Partition Resizer Free

As a disk formatting tool, Partition Resizer Free Edition also allows people to format the selected hard drive or partition into FAT32/ntfs for free. As a partition managing program, this software also help format, create, wipe, delete, resize, hide and manage partitions effectively for you.

Free USB/Disk Formatter

Download IM-Magic Partition Resizer Free Edition to format disk/usb/memory card totally free of charge.

Format, repair bad blocks totally free of charge.

Must have: it has 'Check Partition' function to check and repair possible errors for your digital devices.

Pros:

*The home edition is free and easy.
*It helps format hard drive or partition into FAT32 as you wish.
*It also help format, wipe, delete, resize, hide and manage computer internal hard drive partitions well.
*A tutorial video will also be automatically popped out and lead you to this software step by step.
*It supports the latest Windows 10/8/7 Vista and XP.

Hard

Cons:

*This home edition is free for personal use.

Note: this freeware also provides bootable iso version that you may format disk/usb under WinPE.

Read more details: Partition software bootable iso download

3). Rufus - format device that cannot be formatted

Rufus is an easy to use freeware that is able to format media which cannot be formatted in regular ways.

Rufus download url: https://github.com/pbatard/rufus/releases/download/v3.11/rufus-3.11.exe

Also read: how to format sd card that cannot be formatted, or format usb drive that won't format

4). HDD Low Level Format Tool

HDD Low Level Format Tool is also another completely free disk formatting utility and allows people to easily format internal and external hard disk. With a Low-level format function, it often helps users format a hard drive completely and leave no original drive data there as well as removing some basic hard drive problems.

Pros:

*It is free and user-friendly.
*It support not only external hard drives, and also reads internal hard drives.
*It also offers a low-level format option to help users completely format hard drive and also ease everything inside drive.
*It also supports external memory cards, like SD, MMC, memory stick, CF card and more.

Cons:

*Pay $3.30 to upgrade this free tool to get faster speed and free lifetime updates.
*It recognizes the internal hard drive as one, not separated partitions.
*The speed of this free version is capped at 180GB per hour which is 50MB/s.

5). USB Disk Storage Format Tool

As the second disk formatting tool tested and listed here, USB disk storage format tool is also 100% freeware and allows people to completely format any USB flash drive or memory card with FAT, FAT32, exFAT and NTFS file system formats.

Hard

Pros:

*It is free, fast and safe to format a flash drive or memory card.
*It supports all USB flash drives and memory card, like pen drive, thumb drive, CF, SD, Micro SD, TF, SDXC, SDHC memory card and more storage devices with different bands.
*It supports USB drive and memory card with FAT, FAT32, exFAT and NTFS file system types.
*It helps formatting storage device and also removes all stored videos, music and files completely.

Cons:

*It also does not read any internal hard disk and partition.
*Upgrade software to pro version to get more features, like creating bootable USB disk, formatting USB disk not recognized by Windows, doing a low-level format or adjusting cluster size for USB disk for faster speed, etc.
*It supports FAT, FAT32, exFAT and NTFS file system types only.

6). Tokiwa FAT32 Formatter

Tokiwa FAT32 Formatter is also a free disk formatting program which also helps everyone format hard disk and partition into FAT32 for free. With an easy-to-use interface, this software is also able to help delete or initialize a drive or partition smoothly.

Pro:

*It is free and easy to grasp.
*It allows users to delete or initialize hard drive partitions with simple clicks.
*It also reads all computer internal hard drives as separated partitions.
*It also allows user to format drive or partition into FAT32

Cons:

*It is able to format only unallocated space into FAT32 file system type.
*It only allows people to format hard drive or partition into FAT32.
*It supports Windows XP/Vista /2000 /7 only.

Fat32 Hard Drive Formatter Programmer Download

Free usb/disk formatting without software

Here are also some free methods that are available for you to operate hard drive formatting or usb format without any software under Windows.

Fat32 Hard Drive Limit

Tool #6: format by right click the disk drive, pen drive or sd card

Tool #7: Format under PC Disk Management

Tool #8: format with cmd, it works when Windows was unable to complete the format

Step 1: open cmd by typing 'cmd' or 'diskpart' in 'Search Programs and Files' under Windows start

Step 2: type the letters inside of the quote 'format F: /fs:fat32' and enter. F must be replaced by the drive you want to format.

If you want to know more solution about why and what to do when Windows was unable to complete the format, you may read this article: Windows failed to format

Or you may see the following video to get a quick fix when it is unable to format your drive/card.

Note: when your flash drive or hard disk is damaged, be free to try these 8 free usb drive repair software for free repairing.

Remove Sensitive Data on Hard Disk/USB Flash by freeware Partition Resizer Free

Some users want to download disk formatting programs with the purpose of removing personal information on their storage media that they do not want to share any byte of the confidential data with another one.

In case of removing sensitive data with the usb format tools, we would recommend this freeware - Partition Resizer Free to you since it is built with a function - 'Wipe Partition' that could wipe the whole disk or usb by writing 0 or 1 into the disk, which makes the old data to be completely overwritten and can not be restored by any data recovery programs.

Fat32 Hard Drive Formatter Programmer Free

Step 1: Download and install Partition Resizer Free and get the usb/card to your PC if you want to remove an external device.

Fat32 Hard Drive Formatter Programmer Driver

Step 2: Launch Partition Resizer Free and then right click the media you want to remove its privacy.

Step 3: Choose a wiping method. Time consumption depends on how much data on your media. Usually 120GB data would take about 10 minutes.

Conclusion:

No matter why you have to format a hard drive or memory card, there are always five common ways for you to choose, like formatting it in My Computer, performing a formatting process in Disk Management, formatting a hard drive with common line, doing a formatting process with drive partition managing software or disk formatting software. And No matter which way you choose at last, hope you can extract and save important data backups well in advance to avoid any unexpected data loss troubles.

Other articles that you may want to read

Fat32 Hard Drive Formatter Programmer Mac

Hot Articles