The big day is here, and your new laptop has finally arrived. The old one was filled to bursting, but this new one has a great big SSD to hold all your stuff. You unbox it, charge it up, and after some quick configuration you’re at the desktop. You open Windows Explorer, look at the C: drive and see that available space of 512 gig– wait, what?
Why is it only 476.8 GB?!?
This is a common cause of surprise among some users, but there are perfectly rational explanations for it. In this article we’ll explore exactly what happens to all this precious space.
The first and most obvious reason you don’t have access to all your hard drive space is that there’s a significant piece of software installed on it already: your operating system. Unless you specifically selected a “no OS” model, it will come pre-installed with something.
For PC manufacturers like HP or Dell, the vast majority of machines ship with Microsoft Windows, while Apple only ships its own macOS, and some companies ship machines with Linux or Android. Regardless of which platform it runs, at the end of the day operating systems are software and software takes up storage space. For example, a relatively new installation of Windows requires over 15 GB, as shown in the below image.
The manufacturer also has the prerogative to install additional software with their products. This may include their own utilities, such as programs that will keep software drivers up to date. There could also be trial versions of applications affectionately known as bloatware, or bundled programs that aren’t part of the OS proper (e.g. macOS applications Photos and Garage Band).
These allow users to be productive as soon as they start up a new machine, provided those users are willing to use the provided apps. Otherwise, they simply take up space. Sometimes you can remove these using standard installers, as is the case with default apps in Linux distributions. Other times you may need to resort to OS utilities to remove these “features,” such as with Windows.
Partitioned Hard Drive
Another place your hard drive space might have gone is to a manufacturer-created disk partitions. In years past, a new computer commonly came with one (or a whole book full of) CDs containing software, including a recovery disk. In the event of a total meltdown of your machine, you could boot from this drive and restore your computer to an right-out-of-the-box state.
But nowadays it’s more common for manufacturers to include a recovery image. They’ll split your drive into two partitions: the standard OS partition, and one that’s the hard drive equivalent of those old CDs. Any space it takes up (as shown below in the Computer Management tool’s Storage > Disk Management screen), of course, will not be available for your operating system.
You can tell if you have one of these partitions by looking at the disk manager (Windows, Mac, and Linux all have them) for a smaller slice of the disk with keywords like “Restore” or “Recovery.” You may be able to recover this space by converting another drive (such as a USB stick) into the recovery drive, deleting the existing recovery partition, and resizing your main partition to use that space. It’s best to only do this if the manufacturer provides you an app that will create it for you, and if you can confirm nothing else will go wrong in the absence of that partition.
You may also notice one or more even smaller partitions on your disk. These can belong to bootloaders, or the software that hands control of the computer to the OS after you start it up. The UEFI bootloader, in particular, generally has space at the start of the drive where it resides, as well as space later on where the information for various OSs on the machine are stored. But these parts of the drive are generally very small, and won’t contribute much to your “missing” drive space. In any case, do not try to recover this space, or you could end up with an unbootable system.
Bytes vs. Gigabytes
The final reason your drive appears smaller than you were expecting has to do how its capacity is communicated. This is the least obvious but most significant reason for the surprise you may have felt. There are two parts to it: how total drive capacity is calculated, and how that capacity is relayed to you, the user.
Drive Capacity Calculation
Calculating the amount of stuff a drive can hold is a matter of straightforward multiplication. A traditional hard drive is constructed of magnetic disks broken down into tracks, which are in turn divided into sectors. Drives also have a rating for Areal density (the amount of data it can save on a single sector). Modern drives typically use Advanced Format, which allows for up to 4,096 bytes per sector. This means the capacity of a given drive is:
[Density in bytes per sector]
x [Number of sectors per track]
x [Number of tracks per disk]
x [Number of disks]
Note that SSD drives don’t have disks or tracks, but you can assume a value of one for both these so the formula still works. On Mac or Linux, the fdisk command is a great way to determine the precise specs of your drive. Consider the following, the output of fdisk for a Dell XPS 13 Developer Edition:
We can see here the SAD drive has 500,118,192 sectors, each of which holds 512 bytes, yielding a total capacity of 256,060,514,304 bytes. You can get similar stats on your drive in Windows with the System Information tool’s Components > Storage > Disks screen.
Drive Space Labeling
Of course, today’s consumers won’t stay interested long enough to digest a 12-digit number. Computer science uses the standard prefixes common in other sciences: “kilo-” for things in the thousands, “mega-” for millions, and “giga-” for billions.
Now, the average human would likely label 256,000,000,000+ bytes as “256 gigabytes” and call it a day. But developers (who are cyborgs, by the way) will be quick to tell you how wrong you are. While other sciences operate in decimal (i.e. the “base 10” numbering system we see every day), computers understand only binary, or zeroes and ones. As a result, the definition of these same prefixes isn’t based on thousands, but rather on groups of 1,024 (which is 210). This compounds as well, so a kilobyte is 1024 bytes, a megabyte is 1,024 kilobytes, and so on. The formula to calculate capacity in gigabytes therefore looks as follows:
/ 1,024 bytes per kilobyte
/ 1,024 kilobytes per megabyte
/ 1,024 megabytes per gigabyte
Doing this math on the information we got from fdisk, we get:
256,060,514,304 / 1,024 / 1,024 / 1,024 = 238.474937439 GB
Lo and behold this is the very first value fdisk gave back to us (as shown in the below image).
This discrepancy, how a computer calculates capacity versus the people creating labels, will continue to surprise some users. But as we’ve seen above, there’s nothing sinister going on here.
Your Operating System Is Technically Correct
Armed with this knowledge, you need never again be taken off guard when you see different hard drive sizes on your computer and its packaging. Your operating system is technically correct when reporting capacity — the product specs are misusing the term “gigabyte.” But we’ll probably never get a marketing person to agree to promoting a machine with a “238.5 GB SSD.”
Have you been startled by this in the past? How many of the things above apply to the machine you’re using right now? Let us know in the comments if you have any “wrong drive capacity” stories!