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-Disk
cmdlet 返回有关当前连接的所有驱动器的信息,即使它们尚未分区。要查看已知磁盘的信息,请使用以下命令:
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-PhysicalDisk
cmdlet 执行的操作类似,但返回的信息更多。从 Windows 8 开始,这两个 cmdlet 均受支持。