Wie kann ich die physische Sektorgröße eines Laufwerks ermitteln, für das keine Volumes erkannt wurden?

5369
Ben N

Windows kann mir die logische und physische Sektorgröße des für eine Partition / Volume verantwortlichen Laufwerks über den fsutil fsinfo sectorinfo x:Befehl mitteilen (wo xist mein Laufwerksbuchstabe). Wie kann ich diese Informationen für ein Laufwerk erhalten, das keine Laufwerksbuchstaben oder Volumes hat?

Ich verwende Windows 8.1 Pro, aber ich hoffe, eine Antwort würde zumindest für Windows 7 funktionieren.

Dinge, von denen ich weiß, aber die helfen nicht

  • wmic partition get BlockSize, Nameist falsch, weil es nur die logische Sektorgröße angibt und auch nicht funktioniert, wenn sich auf dem Laufwerk keine Partitionen befinden.
  • wmic diskdrive get BytesPerSector, Namewieder gibt mir nur die logische Sektorgröße, funktioniert aber auf allen Festplatten. Es scheint keine Eigenschaft zu geben Win32_DiskDrive, die die physische Größe hat.
  • fsutil fsinfo ntfsinfo \\?\Volume{...}\ Funktioniert nur für Laufwerke mit Partitionen und NTFS-Partitionen.
  • Die sectorinfoVersion des oben genannten funktioniert mit dieser speziellen Volume-Syntax ( Error: The system cannot find the path specified.) überhaupt nicht.
  • System Information ( msinfo32) zeigt nur die logischen Bytes pro Sektor.
  • Der Geräte-Manager scheint nichts mit der Laufwerksgeometrie zu tun.

Ich möchte das Laufwerk nicht initialisieren oder darauf ein Volume erstellen, da sonst der Inhalt wegfallen würde, den Windows nicht sieht.

Ich weiß auch Bescheid IOCTL_DISK_GET_DRIVE_GEOMETRY_EX, aber dazu müsste man ein Programm schreiben und kompilieren. Wie kann ich ohne Windows-Tools vorzugsweise die physische Sektorgröße einer Festplatte in Windows ermitteln?

4
`wmic diskdrive get BytesPerSector, Name gibt mir nur die logische Sektorgröße wieder 'Wie haben Sie das festgestellt? [Diese Antwort] (http://superuser.com/a/374453) zu einer ähnlichen Frage zeigt, dass "wmic diskdrive get BytesPerSector" 4096 für ein Laufwerk in XP zurückgibt, während XP nicht einmal 512e (physikalische / 512-logische Laufwerke) unterstützte ) so weit ich weiß. dxiv vor 8 Jahren 0
@dxiv Nun, es werden auf jeden Fall die logischen Bytes pro Sektor auf meiner Maschine (512): 'fsutil fsinfo sectorinfo' sagt, ich habe 512 logische und 4K physische. Auch das Betriebssystem entscheidet nicht über das Logische. Ben N vor 8 Jahren 0
[Microsoft-Supportrichtlinie für Festplatten mit 4K-Sektoren in Windows] (https://support.microsoft.com/de-de/kb/2510009): `Alle Festplatten mit großem Sektor, wie native 4K-Laufwerke, 512E-Laufwerke oder andere 512 native Festplatten werden von Microsoft auf keiner Windows XP-basierten Version des Betriebssystems unterstützt. "Meine Lektüre besagt, dass" wmic "niemals eine logische Sektorgröße als 4K unter XP falsch melden würde. In diesem Szenario bleibt nur die Möglichkeit, dass 4K die physische Sektorgröße ist. Vielleicht haben sich die Dinge später geändert. Tut mir leid, ich habe jetzt kein 4K-Laufwerk zum Testen. dxiv vor 8 Jahren 0

1 Antwort auf die Frage

5
Ben N

Beim Schreiben dieser anderen Antwort habe ich die Lösung gefunden: PowerShell! Das Get-DiskCmdlet gibt Informationen zu allen derzeit verbundenen Laufwerken zurück, auch wenn diese noch nicht partitioniert sind. Verwenden Sie diesen Befehl, um Informationen zu bekannten Festplatten anzuzeigen:

Get-Disk | Format-List 

Eines meiner Laufwerke (eigentlich eine gemountete VHD-Datei, weil ich kein Scratch-Laufwerk zur Hand habe) wird wie folgt angezeigt:

UniqueId : 6002248038B7BF29A1D79765E555C965 Number : 1 Path : \\?\scsi#disk&ven_msft&prod_virtual_disk#2&<redacted> Manufacturer : Msft Model : Virtual Disk SerialNumber : Size : 100 MB AllocatedSize : 0 LogicalSectorSize : 512 PhysicalSectorSize : 512 NumberOfPartitions : 0 PartitionStyle : RAW IsReadOnly : False IsSystem : False IsBoot : False 

Beachten Sie, wie das PartitionStyleist RAW- ich habe diese Platte noch nicht einmal initialisiert! Die PhysicalSectorSizeEigenschaft ist die physikalische Sektorgröße in Byte.

Das Get-PhysicalDiskCmdlet führt etwas Ähnliches aus, gibt jedoch viel mehr Informationen zurück. Beide Cmdlets werden ab Windows 8 unterstützt.

Tolle Antwort, schade, dass es in Windows 7 nicht unterstützt wird. Hashim vor 5 Jahren 0