Wie können wir helfen?
Health-Status von Disks und Volumes mit PowerShell anzeigen
Neben der Laufwerke-GUI im Explorer und dem althergebrachten chkdsk.exe kann man auch PowerShell nutzen, um detaillierte Informationen zum Status von Laufwerken und Volumes zu erhalten. Findet man Fehler in einem Dateisystem, dann lassen sich diese mit dem Cmdlet Repair-Volume auch gleich beheben.
Wenn man Aufschluss über den Zustand von physischen Laufwerken erhalten will, dann sind dafür Get-PhysicalDisk und Get-Disk zuständig. Ruft man sie ohne Parameter auf, dann erhält man eine Übersicht über die im Rechner vorhandenen Datenträger.
Hardware-Infos von Laufwerken ermitteln
Kostenloses eBook: BitLocker mit GPOs, PowerShell und manage-bde verwalten (70 Seiten). Protector hinzufügen, Recovery Keys sichern, PIN einrichten, etc. Jetzt herunterladen » (Anzeige)
Standardmäßig gibt Get-PhysicalDisk bei tabellarischer Darstellung unter anderem die Seriennummer, den Medientyp, Operational Status und Health aus. Der Betriebszustand ist in der Regel „Ok“, könnte aber auch auf „IOError“ oder ähnliche Störungen anzeigen.
Mögliche Hardware-Defekte lassen sich über den HealthStatus erkennen. Er würde dann etwa Warning oder Unhealthy anzeigen.
Get-PhysicalDisk spuckt zahlreiche Informationen zu einem Laufwerk aus.
Für das Reporting kann man den Output des Cmdlets nach verschiedenen Kriterien filtern:
Get-PhysicalDisk | where MediaType -eq SSD #Nur SSDs anzeigen
Get-PhysicalDisk | where HealthStatus -ne "healthy" #Disks, deren Health nicht ok ist
Defekte Disk lokalisieren
Um zu sehen, wie und wo Laufwerke angeschlossen sind, führt man diesen Befehl aus:
Get-PhysicalDisk | select FriendlyName, BusType
Im Fall eines Defekts, der einen Austausch der Disk nötig macht, reicht diese Information alleine jedoch kaum, um sie zu lokalisieren. Stattdessen kann man beim betroffenen Laufwerk die LED aufleuchten lassen. Diese Aufgabe übernimmt Enable-PhysicalDiskIdentification:
Get-PhysicalDisk | where HealthStatus -ne "healthy" |
Enable-PhysicalDiskIdentification
Wenn die Hardware dieses Feature nicht unterstützt, wie dies bei Consumer-Produkten meist der Fall ist, dann erhält man die Fehlermeldung „Not Supported“. Die LED wieder ausschalten kann man mit Disable-PhysicalDiskIdentification.
Get-PhysicalDisk versus Get-Disk
Neben Get-PhysicalDisk kennt PowerShell noch das Cmdlet Get-Disk. Während das erste die Laufwerke aus der Sicht des Storage-Subsystems betrachtet, sieht sie Get-Disk aus der Perspektive des Betriebssystems.
Get-Disk enthält auch Laufwerke, in die keine Medien eingelegt sind.
Es gibt zwischen den beiden größere Überschneidungen, darunter auch die Information zum Health-Status. Während Get-PhysicalDisk jedoch nur Hardware-nahe Daten liefert, zeigt Get-Disk zusätzlich etwa auch den Partitionierungstyp oder die Zahl der Partitionen an. Man erfährt von ihm auch, ob ein Laufwerk gespiegelt wurde oder ob der Rechner von ihm booten kann.
Volumes analysieren und reparieren
Im Gegensatz zu den beiden Disk-bezogenen Laufwerken operiert Get-Volume auf der Ebene von logischen Laufwerken und Volumes. Hier sieht man unter anderem, wie viel Platz auf einem Volume noch frei ist, mit welchem Dateisystem es formatiert oder welcher Laufwerksbuchstabe ihm zugewiesen wurde.
Der Health-Status dort bezieht sich nicht auf die physische Hardware, sondern auf das Dateisystem. Der Zustand Warning kann dann etwa den Operational Status Full Repair Needed bedingen.
Während es hier beim Laufwerk keine Probleme gibt, warnt Get-Volume hinsichtlich des Health-Status.
In diesem Fall sollte man das Volume mit Repair-Volume prüfen. Beim Aufruf von
Repair-Volume -DriveLetter x -Scan
kann es jedoch zu Ungereimtheiten kommen. Während Get-Volume einen problematischen Health-Status erkennt, findet Repair-Volume keine Fehler, aber gleichzeitig erscheint eine Toast-Notification, die zum Neustart des Rechners für die Reparatur von Laufwerksfehlern auffordert.
Repair-Volume erkennt Health-Probleme nicht immer, die von Get-Volume angezeigt werden.
Man muss sich davon nicht beeindrucken lassen und die Reparatur mit
Repair-Volume -DriveLetter x -OfflineScanAndFix
starten. Wenn ein Volume über keinen Laufwerksbuchstaben verfügt, dann kann man es mittels Get-Volume über andere Kriterien filtern:
Get-Volume -FriendlyName "Wiederherstellung" | Repair-Volume -Scan
Dieses Beispiel würde die WinRE-Partition untersuchen
Zusammenfassung
Um den Zustand eines physischen Laufwerks zu ermitteln oder Hardware-nahe Informationen auszulesen, bietet PowerShell die Cmdlets Get-Disk und Get-PhysicalDisk. Das erste der beiden liefert noch einige Informationen auf der Ebene des Betriebssystems, etwa zu vorhandenen Partitionen.
Auskünfte über den Status von Volumes erhält man mit Get-Volume. Findet das Cmdlet dort Health-Probleme, dann beziehen sich diese auf das Dateisystem und können mit Repair-Volume behoben werden.