Hier ist ein zuverlässiges PowerShell-Snippet, das die physikalische Sektorgrösse (Physical Sector Size / Logical Block Size) einer NVMe-SSD ausliest – also typischerweise 512 Bytes oder 4096 Bytes (4K native).
Methode 1: Über WMI/CIM (funktioniert ab Windows 8/2012 und höher, auch auf NVMe)
PowershellScript:
# Alle NVMe-Laufwerke anzeigen mit physikalischer und logischer Sektorgrösse
Get-Disk | Where-Object BusType -eq "NVMe" | ForEach-Object {
$diskNumber = $_.Number
# Physikalische und logische Sektorgröße direkt aus dem Storage-Stack holen
$sectorInfo = Get-PhysicalDisk | Where-Object DeviceId -eq $diskNumber |
Select-Object FriendlyName,
PhysicalSectorSize,
LogicalSectorSize,
Size,
MediaType
[PSCustomObject]@{
DiskNumber = $diskNumber
FriendlyName = $sectorInfo.FriendlyName
PhysicalSectorSize = $sectorInfo.PhysicalSectorSize
LogicalSectorSize = $sectorInfo.LogicalSectorSize
SizeGB = [math]::Round($sectorInfo.Size / 1GB, 2)
MediaType = $sectorInfo.MediaType
}
} | Format-Table -AutoSize
Methode 2: Noch detaillierter mit Storage-Firmware-Infos (sehr genau bei NVMe)
Powershell Script:
Get-Disk | Where-Object BusType -eq "NVMe" | ForEach-Object {
$disk = $_
$part = Get-Partition -DiskNumber $disk.Number -ErrorAction SilentlyContinue | Select-Object -First 1
$driveLetter = if($part) { $part.DriveLetter + ":" } else { "Keine Partition" }
# Direkter Zugriff auf die Storage-Eigenschaften
$physDisk = Get-StorageAdvancedProperty -PhysicalDisk (Get-PhysicalDisk | Where-Object DeviceId -eq $disk.Number) -ErrorAction SilentlyContinue
[PSCustomObject]@{
Disk = $disk.Number
Modell = $disk.FriendlyName
Laufwerk = $driveLetter
LogicalSector = $disk.LogicalSectorSize
PhysicalSector = $disk.PhysicalSectorSize # <-- Das ist die echte physikalische Sektorgröße (meist 4096)
SizeGB = [math]::Round($disk.Size / 1GB, 2)
BusType = $disk.BusType
}
} | Format-Table -AutoSize
Methode 3: Nur eine bestimmte NVMe-SSD (z. B. Disk 0)
Powershell Script:
$disk = 0 # Hier Disk-Nummer anpassen
(Get-PhysicalDisk | Where-Object DeviceId -eq $disk).PhysicalSectorSize
Typische Ausgabe bei einer modernen 4K-native NVMe-SSD:
LogicalSectorSize : 512
PhysicalSectorSize : 4096
Das bedeutet: Windows sieht 512-Byte-Sektoren (512e), aber die SSD arbeitet intern mit 4096-Byte-Blöcken → wichtig für Performance-Tuning, Alignment, etc.
Falls du das Ganze als fertige Funktion haben willst:
Powershell Script:
function Get-NVMePhysicalSectorSize {
Get-PhysicalDisk | Where-Object BusType -eq "NVMe" |
Select-Object FriendlyName,
@{Name="LogicalSectorSize"; Expression={ $_.LogicalSectorSize }},
@{Name="PhysicalSectorSize"; Expression={ $_.PhysicalSectorSize }},
@{Name="SizeGB"; Expression={ [math]::Round($_.Size/1GB,2) }}
}
# Aufruf:
Get-NVMePhysicalSectorSize | Format-Table -AutoSize
Funktioniert auf Windows 10/11 und Server 2016+ ohne zusätzliche Tools.