You can retrieve free space for unmounted NTFS volumes by mounting them to an empty drive letter via mountvol, querying the volume with PowerShell’s Get-Volume, and then dismounting it. This method bypasses Disk Management limitations and avoids third-party drivers, providing accurate free space metrics without permanently assigning a persistent drive letter.
The Limitation of Standard Tools
When administrators need to audit storage on drives that are not currently mounted in Windows Explorer, standard graphical tools often fall short. The Disk Management console (diskmgmt.msc) displays partition size and status but does not report file system usage statistics like free space or used space for volumes that lack a drive letter. Similarly, the older fsutil command requires the volume to be accessible via a drive letter, making it useless for truly unmounted partitions.
Many users mistakenly attempt to use Get-Partition in PowerShell. However, this cmdlet returns low-level partition metadata such as Offset and Length, but it does not include logical file system properties like UsedSpace or FreeSpace. These attributes are only available at the volume level, which typically requires the volume to be assigned a drive letter to be queried effectively. Therefore, a temporary assignment strategy is necessary to bridge the gap between physical partition data and logical file system information.
Step-by-Step: Using Mountvol and PowerShell
The most reliable native approach involves temporarily attaching the unmounted volume to an unused drive letter, querying its properties, and then removing the assignment. This process ensures that you get the exact same data displayed in File Explorer, but programmatically. First, open PowerShell as an Administrator. You must have elevated privileges to mount and dismount volumes. Start by identifying the unique volume GUID of the unmounted NTFS partition. You can list all volumes, including those without drive letters, using the following command:mountvol
Look for entries that do not have a drive letter associated with them. They will appear in the format \?\Volume{GUID}\. Note the specific GUID for the target volume.
Next, assign a temporary drive letter. Choose a letter that is unlikely to conflict with existing network drives or mapped shares, such as Z:. Run the following command, replacing {GUID} with the actual identifier you noted:
mountvol Z: \?\Volume{GUID}\
Once the command executes successfully, the volume is now accessible via Z:. You can verify this by checking if dir Z: lists files or by opening File Explorer.
Now, query the free space using PowerShell. Use the Get-Volume cmdlet targeted at the newly assigned drive letter:
$vol = Get-Volume -DriveLetter Z
$vol | Select-Object DriveLetter, FileSystemLabel, SizeRemaining, Size
The SizeRemaining property represents the free space in bytes. The Size property shows the total capacity. This data is accurate because the file system driver has fully initialized the volume during the mount process.
Finally, clean up the temporary assignment to restore the original state. Run:
mountvol Z: /D
This dismounts the volume, removing the drive letter and returning the partition to its unmounted state.
Alternative: WMI Querying
If you prefer not to modify the system's drive letter assignments, you can use Windows Management Instrumentation (WMI). WhileGet-Volume is modern and preferred, WMI provides a legacy alternative that queries the Win32_Volume class directly.
Run the following command in an administrative PowerShell session:
Get-WmiObject -Class Win32_Volume | Where-Object { $_.DriveLetter -eq $null } | Select-Object Name, Label, @{N='FreeSpace';E={$_.FreeSpace}}
This script filters for volumes where DriveLetter is null (unmounted) and retrieves the FreeSpace property. Note that FreeSpace in WMI is also reported in bytes. Be aware that some older WMI providers may return stale data if the volume was recently modified while unmounted, though this is rare on local disks. For most scenarios, the mountvol method is more robust because it forces the file system to refresh its metadata upon mounting.
Safety Considerations
Temporary mounting is a safe operation supported by the Windows kernel. It does not alter the partition table or change the boot configuration. However, always ensure you dismount the volume after your query. Leaving a volume mounted with a temporary letter can cause confusion during future disk management tasks or when running scripts that expect specific drive letter availability. For related tasks involving disk space management, you might find it useful to learn how to extend a C: drive when unallocated space is present, as detailed in our guide on Extend C: Drive Unallocated Volume Leaving 1GB for Recovery Partition using PowerShell. Additionally, understanding how to generate lists of files and folders can help you audit the contents of these volumes before deciding on further maintenance actions, as described in Automatically Generate List Files with Filename and Folder Names using Windows CMD or PowerShell.Frequently Asked Questions
Can I check free space without any drive letter?
No native GUI tool in Windows displays free space for unmounted volumes. You must either temporarily assign a drive letter or use WMI commands that query the volume object directly. Themountvol method is generally more accurate than WMI for current real-time stats.
Is it safe to mount a volume just to check space?
Yes, it is completely safe. Mounting a volume simply makes it accessible to the operating system's file system driver. It does not write data to the disk unless you explicitly create or delete files. Always remember to dismount it afterward to maintain your desired disk configuration.Why does Get-Partition not show free space?
Get-Partition operates at the block level, dealing with raw disk geometry and partition boundaries. Free space is a file system concept managed by the NTFS driver. Since the partition itself does not "know" about file allocation tables until the volume is mounted and interpreted by the OS, this data is unavailable through partition-level commands.
What if the volume is encrypted with BitLocker?
If the unmounted volume is encrypted with BitLocker, you must unlock it first usingUnlock-BitLocker before you can mount it to a drive letter. Attempting to mount an encrypted volume without unlocking it will result in access denied errors or the volume appearing as RAW or inaccessible.
Does this work for external USB drives?
Yes, this method works for any NTFS volume recognized by Windows, including external hard drives, SSDs, and internal secondary drives. As long as the hardware is connected and detected by Device Manager, you can usemountvol to assign a letter and query its space.