GPT oder MBR: Partitionierungsschema auslesen mit diskpart, wmic, PowerShell

    Neuere PCs sind zumeist nicht mehr mit einem BIOS, sondern mit der moderneren Firmware UEFI ausgestattet. Sie bringt ein neues Partitionierungsschema namens GUID Partition Table (GPT), mit dem sich das 2TB-Limit von MBR überwinden lässt. Gerade unter Windows gibt es einige Zwänge bei der Verwendung von GPT, so dass man gelegentlich wissen muss, nach welchem Schema ein Datenträger aufgeteilt wurde.

    Spannend wird die Frage nach GPT oder MBR immer dann, wenn Windows vom betreffenden Laufwerk booten soll. Auf UEFI-PCs startet eine neuere 64-Bit-Version von Windows nur von GPT, 32-Bit-Versionen unterstützen kein UEFI und brauchen als Boot-Partition immer MBR (siehe dazu die FAQ zu UEFI, BIOS, GPT und MBR). Aufgrund dieser Zuordnungen ist das Partitionierungsschema auch ein guter Hinweis darauf, ob Windows im UEFI-Modus oder in der BIOS-Emulation installiert wurde.

    Datenträgerverwaltung für lokale Laufwerke

    Möchte man die Partitionierungsdaten über die grafische Oberfläche auslesen, dann kann man dies in der Datenträgerverwaltung tun. Dieses Vorgehen eignet sich, wenn man Informationen über die lokalen Platten einzelner PCs haben möchte. Die Auskunft über das verwendete Schema findet man im Kontextmenü eines Laufwerks (nicht eines Volumes!), und dort unter Eigenschaften => Registerkarte Volumes.

    Das Partitionierungsschema von lokalen Laufwerken kann man über die Datenträgerverwaltung ermitteln.

    Einsatz von diskpart

    Ebenfalls nur den lokalen Rechnern untersuchen kann diskpart. Nach dem Aufruf des Kommandozeilenprogramms gibt man list disk ein. Die tabellarische Ausgabe dieses Befehls enthält in der rechten Spalte die Überschrift GPT. Wird ein Datenträger dort mit einem '*' markiert, dann wurde er mit GPT initialisiert.

    WMI-Abfragen

    Für die Untersuchung mehrerer Rechner, und zwar über Scripts und remote, empfehlen sich WMI oder die neuen PowerShell-Cmdlets in Windows 8 und Server 2012. WMI kann man entweder über das Dienstprogramm wmic oder in älteren Windows-Versionen über PowerShell nutzen, wo die neuen Storage-Cmdlets noch nicht zur Verfügung stehen.

    Um alle lokalen GPT-Laufwerke zu ermitteln, würde man wmic zum Beispiel so aufrufen:

    wmic partition get name, type | findstr "GPT"

    Möchte man damit einen entfernten Rechner untersuchen, gibt man dessen Namen über den Parameter /node an.

    Für WMI-Abfragen gibt es in PowerShell das Cmdlet Get-WMIObject (Alias gwmi). Das Äquivalent zum obigen wmic-Aufruf würde dann so aussehen:

    gwmi Win32_DiskPartition | select deviceID, @{Name="GPT";Expression={$_.Type.StartsWith("GPT")}}

    Dieses Kommando verwendet eine Calculated Property, um eine Eigenschaft GPT zu definieren, die ermittelt wird, indem man den Anfang von Type auf die Zeichenkette "GPT" prüft. Eine Remote-Abfrage ließe sich hier über den Parameter -Computer ausführen.

    PowerShell in Windows 8

    Deutlich einfacher lässt sich die Aufgabe unter Windows 8 und Server 2012 lösen:

    Get-Disk | select FriendlyName, PartitionStyle

    Dieser Aufruf zeigt für jedes Laufwerk explizit das Partitionierungsschema an, während alle vorigen Varianten nur GPT ausdrücklich erkennen. MBR ist dort einfach alles, was nicht GPT ist.

    1 Kommentar

    Bild von bbernd
    bbernd sagt:
    26. Oktober 2014 - 14:36

    Hab grad an meinen neuen HP PC einen Wiederherstellungs USB Stick erstellt.
    Obwohl es ein UEFI PC mit vorinstalliertem win8.1 ist, und der Wiederherstellungsmanager von HP, ist der Partitionsstil des USB Stick MBR. Kann im Notfall der PC vom Stick starten ? Muss man dann vorher UEFI disablen ?