Detect GPT and MBR partitions with Powershell

Josh picture Josh · Oct 1, 2010 · Viewed 22.8k times · Source

Is there a way to tell if a disk has a GPT or an MBR partition with powershell?

Answer

Frank Lesniak picture Frank Lesniak · Feb 29, 2016

If you are on Windows 8, Windows Server 2012, or newer, then you can use one of the storage cmdlets to check this:

Get-Disk

The output of this command will be formatted like:

PS C:\> Get-Disk

Number Friendly Name                            OperationalStatus                    Total Size Partition Style
------ -------------                            -----------------                    ---------- ---------------
0      Microsoft Virtual Disk                   Online                                    42 GB GPT
1      Microsoft Virtual Disk                   Online                                     1 GB GPT
2      Microsoft Virtual Disk                   Offline                                    2 GB RAW
3      Microsoft Virtual Disk                   Offline                                    3 GB RAW

Notice that the rightmost column indicates the Partition Style, which is the piece of data that you are seeking.

If you are on Windows 7, Windows Server 2008 R2, or older, then you should use diskpart or WMI to get this information. I prefer to use diskpart. Type

diskpart

followed by

list disk

The output will look like:

PS C:\> diskpart

Microsoft DiskPart version 6.3.9600

Copyright (C) 1999-2013 Microsoft Corporation.
On computer: WIN-BN8G3VMNQ9T

DISKPART> list disk

  Disk ###  Status         Size     Free     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
  Disk 0    Online           42 GB      0 B        *
  Disk 1    Online         1024 MB   991 MB        *
  Disk 2    Offline        2048 MB  2048 MB
  Disk 3    Offline        3072 MB  3072 MB

Note that Disk 0 and 1 are both GPT disks, and they have an asterisk in the appropriate column.