This topic is brought up today because we hear some Users have issues understanding this point. The partition size inside an image file does matter. The question we will answer today is why it matters.
Let us start off with two simplified overviews. First, all storage devices use a partition to define it’s characteristics. A storage device has a file system, like FAT32 or exFAT or NTFS and that file system has a defined size or digital capacity. These characteristics, and some others, are laid out in the partition.
Second, an image file is the above partition with all its detail, the file system, defined capacity along with all the actual files and folders on that partition and put into a single file or .img file.
For a non-technical person, let me use a puzzle as an example.
- The puzzle box is equivalent to the physical device.
- The plastic bag inside the puzzle box, holding all the pieces, is the image file.
- Print on the puzzle box indicating the number of pieces, is the partition.
- The puzzle pieces inside the box are equivalent to the data.
Okay, so at this point we know the image file (.img) is the bag which holds all the puzzle pieces and the data are all the bits inside the bag. So let’s address the question of this post, “Why does the partition size matter inside an image file?”
Back to the puzzle box. As with any puzzle, the outside of the box lists the number of pieces. In this example, we can use the number of pieces printed on the outside of the box as the partition table size. If the physical box size is, let us say, 8″ x 11″ then it’s totally logical that a 1,000 piece puzzle would fit inside. In fact, it is logical to say even a 20 piece puzzle will fit inside the box. But, could a 5,000 piece puzzle fit inside this box?
From the three scenarios above, one doesn’t work, right? The scenario where the box says there are 5,000 puzzle pieces in a box that is physically to small.
Partitions are the same.
The situation which doesn’t work, is when the print on the outside of the puzzle is telling you the number of pieces inside the box are clearly more than what the physical box can handle.
Said another way, you cannot use a partition table size of 4GBs and try to have the image file fit on a USB stick that has only 1GB of storage space. Even if the image file itself is only 1GB large of actual data. Just like the puzzle, no matter what is printed on the outside of the box, if the number of pieces are larger than what can fit inside the box… it just doesn’t work.
Here is a real-world example: You can download this IMG file which is only 40MB large. The IMG itself has a 4GB partition inside it. As long as you write out the IMG file to a flash drive that is 4GBs or larger, everything will work. If you try and write out the IMG file to something smaller, like a 2GB stick, it won’t work.
Windows is very smart. All versions of Windows (from 7 and higher) will take a look at the total available memory and compare that to the partition table size. If Windows sees the partition table is larger than the available memory of the device, she won’t let you do anything with the device… other than format it. Once the drive is formatted, Windows will automatically rewrite the partition table to fit the amount of available memory. In this example, Windows would format the drive to become a 2GB stick… not a 4GB stick.
Why does Windows do this?
They want to eliminate fraud. Windows 7 was introduced in 2009 and before that, the only OS was WindowsXP. Well, Windows XP didn’t have the capability to compare partition tables to available memory. The result was fraud. Many would sell some larger GB capacity drive… like at the time 32GB, but only 4GB of real, usable, memory was there. The user would run out of memory space long before the “printed capacity” of the drive was reached.
If you found this article; maybe there is a situation where an image file is not working when written out to a USB flash drive? If this is the case, be sure to check your partition table compared to the amount of physical memory available. The easiest way to check, would be mounting the IMG file on your computer and check Properties for the partition size. Keep in mind, the default “Mount” command in Windows doesn’t work. You need something like this.