Why Windows Utilities Show Different Views of System Storage

Windows utilities can occasionally show differing numbers of disks in your computer. Learn why.

Brien Posey

March 21, 2022

4 Min Read
Screenshot of Microsoft DiskPart utility
Brien Posey

Windows utilities don’t always seem to agree about how many disks are installed in your computer.

Let me show you an example.

If you look at Figure 1, you can see the Disk Management Console on a machine that is running Windows Server 2022. The Disk Management Console shows two physical disks: the system disk and a non-provisioned disk that is currently offline. Notice the disk numbers (Windows assigns a number to every disk). The system disk is Disk 0, and the non-provisioned disk is Disk 3.

 Disk 0 and Disk 3.

Inconsistent 1_0

Figure 1. The Disk Management Console shows two disks: Disk 0 and Disk 3.

Look now at Figure 2. I have opened an elevated PowerShell session and am using both the Get-Disk cmdlet and the Get-PhysicalDisk cmdlet to view the disks installed in the system. Both cmdlets only see a single disk (Disk 0), despite the Disk Management Console showing two disks.

 Msft Virtual Disk, Disk 0.

Inconsistent 2

Figure 2. While the Disk Management Console sees two disks, PowerShell sees a single disk (Disk 0).

So, what about the DiskPart utility? Well, if I enter the DiskPart command, followed by the List Disk command, I see three disks (Disk 0, Disk 3, and Disk 4). See what this looks like in Figure 3.

Screenshot of DiskPart utility showing three disks installed

Inconsistent 3

Figure 3. The DiskPart utility shows that there are three disks installed. 

Three Windows Utilities, Three Views

Related:Why Can’t PowerShell Session Access My Network Volumes?

As you may recall, PowerShell showed one disk, the Disk Management Console showed two disks, and DiskPart showed three disks. There are simple explanations as to why the Windows utilities disagree about how many disks exist in the system.

Let’s start with the simplest explanation first. The Disk Management Console, in fact, does show three disks. It’s just that Windows has a bad habit of opening the Disk Management Console in a window that is too small to show you everything. In Figure 4, you can see that when the Disk Management Console window is maximized, it indeed shows three disks (Disk 0, Disk 3, and Disk 4).

Screenshot of a maximized Disk Management Console window

Inconsistent 4

Figure 4. Maximizing the Disk Management Console window revealed additional disks.

OK, but why does PowerShell only show a single disk? To answer that question, you must turn your attention to yet another Windows utility that lists the disks attached to the system: the Device Manager. If I open Device Manager and expand the Disk Drives section, I see four Microsoft Virtual Disks and a Microsoft Storage Space Device.

Screenshot of Device Manager with expanded Disk Drives section. It shows four Microsoft Virtual Disks and a Microsoft Storage Space Device.

Inconsistent 5

Figure 5. Device Manager presents yet another view of the disks that are attached to the server.

Herein lies the problem. Windows Storage Spaces is controlling access to some of the system’s disks. If I open Server Manager, you can see that a storage pool has been created on this machine. A virtual disk (the one that the system identified as Disk 4) has been created from the storage pool. Even though the non-provisioned disk is not a part of the storage pool, it is being treated as a disk that can be pooled.

Screenshot of open Server Manager window

Inconsistent 6

Figure 6. Windows Storage Spaces is in use on the machine.

With that said, let’s see what happens when the storage pool is removed. For the sake of demonstration, I have deleted the 50 GB virtual disk and deleted the MyPool storage pool. I also detached the disks that were previously part of the storage pool, just to help avoid any confusion. Now, if I enter the Get-Disk cmdlet into PowerShell, I see the system disk (Disk 1) and the new disk (Disk 3) that has yet to be provisioned.

Screenshot of PowerShell window. Get-Disk command is used to show the system disk (Disk 1) and the new disk (Disk 3) that has yet to be provisioned.

Inconsistent 7

Figure 7. PowerShell now shows the non-provisioned disk.

Of course, in the real world, if you have gone through the trouble of setting up a storage pool, you would probably want to add the new disk to the pool and use it there. However, my purpose in writing this article was not to debate if you should be using storage pools, but instead to explain why PowerShell might not acknowledge the existence of certain disks.

About the Author

Brien Posey

Brien Posey is a bestselling technology author, a speaker, and a 20X Microsoft MVP. In addition to his ongoing work in IT, Posey has spent the last several years training as a commercial astronaut candidate in preparation to fly on a mission to study polar mesospheric clouds from space.

http://brienposey.com/

Sign up for the ITPro Today newsletter
Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.

You May Also Like