NTFS,FAT32,MBR,GPT What is the difference?

Pooya f

Jul 5, 2014
Hello guys,i'm a little confused with these words and i don't really know what is the defference...please explain these and tell the difference...Thank you :)


Any HDD must have two levels of "organization" on it so you can use it.

The base level is setting up Partitions. A Partition is just one contiguous chunk of the space on the HDD that will be used as one "drive" with its individual letter name. It is possible to set up only one Partition on a HDD that uses up any amount of its space, up to and including ALL of the space. If the first Partition created uses LESS than all of the space, then you can subsequently create a second Partition in the remaining Unallocated Space. This Partition will be located right after the first one on the HDD, and will be used as a completely separate "drive" with a different letter name. If you have not yet used up all the space of the HDD, you can continue by creating a third Partition, and a fourth.

Now, there is a limit to this - the MBR system of Partitions only allows a max of four Primary Partitions - that is the "normal" type. Why? Well, when any Partition is created, the information about exactly where it is is written to a small file at the very beginning of the HDD, called the Partition Table. It holds up to four sets of definitions for Primary Partitions, but that's all the space it has. (There is another less-used type of Partition that can be used to make many more Partitions on one HDD, but there is not usually any need for this.)

The Partition Table also contains another very important component - the Master Boot Record (guess where the label MBR came from!). This is actually a small set of computer code that gets loaded into the RAM of your computer at boot-up and then executed. What it does is the very simplest first step of using the HDD - it reads the Partition Table info to find out where the bootable Partition is - that is, the one that contains the Operating System - and then reads in from there the first pieces of new code used to read in the rest of the OS. Now, this first stage of reading from the MBR part of the Partition Table and then executing that code is controlled by the permanent code in your computer's BIOS chip. That is fixed at the time of manufacturing, so it MUST be able to rely on a standardized way of finding that first bit of code. So, the Partition Table needs to be in a known place, and the MBR part of it needs to be in a known place and size.

MBR has been the common form of Partitioning and of writing the Partition Table and its bootstrap code on HDD's until recently. BUT it has had limits that causes problems in today's world. One is the max of four Primary Partitions on one HDD unit, although that's not a huge issue. The big problem, though, is that the layout of data in a Partition Table allows the maximum size of the HDD unit to be only 2 TB. Today we have larger units! The solution is to change to an updated system for Partitions, known as GPT. It has a number of new features allowing for much larger HDD units. BUT since its data structure and layout are different, AND it uses a different bootstrap code for the initial start-up, the computer's BIOS MUST be different to use a HDD organized this way. The common term for this is a UEFI-enabled BIOS. Most BIOS chips with this feature actually can handle both the older and the newer systems, but they need to be told (only once, as the system is set up) which type of Partitioning system will be used to set up each HDD in the computer.

So, once one or more Partitions have been created on a HDD unit, there are defined areas to be used as "drives". BUT those areas still contain no data at all. The SECOND step in setting things up is to create on EACH "drive" (Partition) a File System. This is the set of files you never see, used to store all the information about each file you write to the drive and read from it. The older FAT system, in use since the first IBM PC's with only floppy diskette drives, had two basic files for this. The first was the Root Directory, which contained one block of info for each file stored on the drive. Each entry in this Root Directory contained such info as the file name, its extension, its size, its date, the Sector where it starts, and several other pieces of info. (By the way, a Sector is one short arc of one circular track on a HDD disk's magnetic surface, and it contains 512 bytes of data.) The second key file is the File Allocation Table (aka the FAT). It contains a sequence of records of which Sectors on the HDD are in use by which files. For one file, its entry in the Root Directory points to the first Sector used by the file. In the FAT, the entry for that sector points to the next Sector it uses. And so on. The LAST FAT entry used by a file contains a special terminating character so that the system knows it has found the end of the file.

On the original floppy diskette systems, the FAT used 12 binary bits to store the number of the "next Sector". That was not nearly enough for HDD's with larger capacities, so the early HDD's used an improved system called FAT16 - 16 bits to store the numbers. As that system became too much of a limit, the new revision was FAT32 - use 32 binary bits to store the number of the next sector. (Along the way, the whole system of finding things on a HDD changed, too, so that the system stopped working with individual Sectors and began to track Allocation Units consisting of a fixed number of Sectors in a group. The File System also added an important feature VERY early on - the use of Sub-Directories to avoid the problem that the Root Directory had a fixed limit on how many files it could keep track of.)

Now, even FAT32 has limits, because the total size of the FAT file is fixed, and that limits how many Allocation Units it can track; hence, it can't handle really large HDD units. In the meantime, Microsoft developed a more advanced version of the Windows Operating System called Windows NT (for New Technology), and it included a new more advanced File System called NTFS - New Technology File System. When Windows XP was released, it established the use of this new NTFS system as the "normal" way of doing things with HDD's. NTFS uses much more information in many more files to track all that the File System does for you in storing and retrieving your files. (I'm told nobody but Microsoft actually knows all it does, and how.)

So, now there are two File System options for Windows users - the old FAT system (usually only the last version of that, FAT32), or NTFS. Either can be "installed" on any Partition. The "install" of a File System is what the Format command does - it writes to the start of one Partition a set of housekeeping files and ensures they are all empty, ready to accept data. (Format does some other tasks, too.) For most modern users, you should choose to use the NTFS system - it is much better in many ways. But a few older software packages can't use that and require the FAT32 system in place on the drives they use, so Windows allows that option if you need it.

A new empty HDD already has on its magnetic surface the circular tracks, broken up into Sectors, where data can be stored, and they are filled with nonsense signals. This part of the work is done at the factory when they are made, and creating those magnetic signals is called the "Low-Level Format". You may read that term from time to time, but the truth is that NOBODY does a Low-Level Format on a HDD at home these days. That step is done only at the factory. You get a new HDD in this condition, and it contains no meaningful information at all. You need to Create one or more Partitions on that HDD, and then to Format each such Partition to install the File System for the Partition(s). Only then can your OS actually use that HDD to store and retrieve data.

Now, doing this is not really very difficult at all. If you are Installing Windows on a brand new HDD from a CD, the CD is set up so that your computer's BIOS can boot from the CD (it knows how to get at its data), and that software it reads will do all the work for you! It will look around to find what HDD units are available, ask you to either approve its plan or adjust it if you wish, and then go ahead to do all the steps needed:
1. Create a first Primary Partition on the HDD (that includes writing the Partition Table to the start of the HDD);
2. Format that Partition;
3. Test the HDD to be sure it is reliable;
4. Copy all the required OS files to that Drive (now called the C: drive), including placing certain critical files in exactly the right fixed location so they can be found in the boot-up process later;
5. Reboot the computer from the HDD, and hand over control to you.

At that start of this process, you get to choose what HDD unit (if you have a choice) to install the OS on, what type of Partitioning system you want to use - MBR or GPT, depending on what your BIOS is capable of using - how large the Partition should be, what type of File System you want to use - FAT32 or NTFS - and how extensive a test you want it to do of the HDD before going ahead with all the file copying.

AFTER you have your OS installed, you might want to have another Partition(s) created and Formatted on that HDD unit IF you left any Unallocated Space on it. Or, you might need to do this work on a second HDD unit you install, even though you won't put an Operating System on that second unit. There are utilities to do this work, and one is included in Windows, known as Disk Management. Most modern versions of this combine those two steps into one called Initializing a Disk or Creating a Simple Volume, and the helpful "Wizard" software tool lets you choose settings for them and then does the work.