如何获取没有任何可识别卷的驱动器的物理扇区大小?

如何获取没有任何可识别卷的驱动器的物理扇区大小?

fsutil fsinfo sectorinfo x:Windows 可以通过命令(我的驱动器号在哪里)告诉我负责分区/卷的驱动器的逻辑和物理扇区大小x。对于没有任何驱动器号或任何类型的卷的驱动器,如何获取此信息?

我正在使用 Windows 8.1 Pro,但我希望答案至少也适用于 Windows 7。

我知道但无济于事的事情

  • wmic partition get BlockSize, Name错误的因为它只提供逻辑扇区大小,并且如果驱动器上没有分区它也无法工作。
  • wmic diskdrive get BytesPerSector, Name再次,它只给出了逻辑扇区大小,但确实适用于所有硬盘。似乎没有Win32_DiskDrive具有物理大小的属性。
  • fsutil fsinfo ntfsinfo \\?\Volume{...}\仅适用于具有分区的驱动器以及 NTFS 分区。
  • 上述sectorinfo版本根本无法使用该特殊卷语法(Error: The system cannot find the path specified.)。
  • 系统信息(msinfo32)仅显示每个扇区的逻辑字节数。
  • 设备管理器似乎没有列出与驱动器几何相关的任何内容。

我不想初始化驱动器或在其上创建卷,因为这会抹去 Windows 看不到的内容。

我也知道IOCTL_DISK_GET_DRIVE_GEOMETRY_EX,但使用它需要编写和编译程序。最好不使用第三方工具,如何在 Windows 中查找硬盘的物理扇区大小?

答案1

写作时另一个答案,我找到了解决方案:PowerShell!Get-Diskcmdlet 返回有关当前连接的所有驱动器的信息,即使它们尚未分区。要查看已知磁盘的信息,请使用以下命令:

Get-Disk | Format-List

我的一个驱动器(实际上是一个已安装的 VHD 文件,因为我手头没有暂存驱动器)显示如下:

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

PartitionStyle注意是怎样的RAW- 我甚至还没有初始化这个磁盘!该PhysicalSectorSize属性是物理扇区大小(以字节为单位)。

Get-PhysicalDiskcmdlet 执行的操作类似,但返回的信息更多。从 Windows 8 开始,这两个 cmdlet 均受支持。

相关内容