Как определить размер сектора в окнах
Как я могу определить Размер физического сектора (например, если у меня есть Расширенный формат с 4096 байтовыми секторами, а не с прежним 512 байтовых секторов) в Windows 7?
Я знаю, что, щелкнув файл и получив свойства, мы можем узнать размер кластера NTFS, но это не то же самое, что размер сектора жесткого диска.
Примечание. Мы спрашиваем о Windows 7, потому что он (и Windows Vista SP1) понимает наличие 4096 жестких дисков Advanced Format.
Ответы
Ответ 1
Вы хотите fsutil. Убедитесь, что вы выполняете командную строку в качестве администратора.
C:\Windows\system32>fsutil fsinfo ntfsinfo c:
NTFS Volume Serial Number : 0xf4ca5d7cca5d3c54
Version : 3.1
Number Sectors : 0x00000000378fd7ff
Total Clusters : 0x0000000006f1faff
Free Clusters : 0x00000000000e8821
Total Reserved : 0x0000000000000910
Bytes Per Sector : 512
Bytes Per Physical Sector : 512
Bytes Per Cluster : 4096
Bytes Per FileRecord Segment : 1024
Clusters Per FileRecord Segment : 0
Mft Valid Data Length : 0x00000000196c0000
Mft Start Lcn : 0x00000000000c0000
Mft2 Start Lcn : 0x000000000097ffff
Mft Zone Start : 0x000000000051f920
Mft Zone End : 0x000000000051f9a0
RM Identifier: 0652C3D3-7AA9-11DA-ACAC-C80AA9F2FF32
Ответ 2
Я хотел расширить ответ Криса Гесслера и отметить, что нет никакого известного способа получить физический сектор диска с помощью инструментария управления Windows (WMI), например. wmic
.
Учитывая, что у меня есть диск с расширенным форматом (т.е. он использует 4096 байт на сектор, а не 512):
C:\Windows\system32>fsutil fsinfo ntfsinfo d:
NTFS Volume Serial Number : 0xa016d8a616d87eaa
Version : 3.1
Number Sectors : 0x00000000747057ff
Total Clusters : 0x000000000e8e0aff
Free Clusters : 0x000000000e7b2813
Total Reserved : 0x0000000000000000
Bytes Per Sector : 512
Bytes Per Physical Sector : 4096
Ни WMI DiskDrive
:
wmic:root\cli>diskdrive
Availability BytesPerSector Capabilities CapabilityDescriptions Caption
512 {3, 4, 10} {"Random Access", "Supports Writing", "SMART Notification"} ST1000DM003-9YN162 ATA Device
и Partition
:
wmic:root\cli>partition get BlockSize, StartingOffset, Name, Index
BlockSize Index Name StartingOffset
512 0 Disk #0, Partition #0 1048576
может сообщить основной размер физического сектора. Имеет смысл, когда вы понимаете, что оба они сообщают размер сектора, что Windows использует. Он 512 байт на сектор - диск просто оказывается другим.
Это потому, что только Windows 8 поддерживает использование из 4k секторов. Windows 7 понимает, что диск может быть 4k и работает, чтобы выровнять его 4k Clusters с жестким диском, лежащим в основе 4k Sectors.
Ответ 3
Обновление Windows 10:
Теперь есть подкоманда sectorInfo
, которая может обеспечить лучшую информацию:
C:\>fsutil fsinfo sectorInfo C:
LogicalBytesPerSector : 512
PhysicalBytesPerSectorForAtomicity : 4096
PhysicalBytesPerSectorForPerformance : 4096
FileSystemEffectivePhysicalBytesPerSectorForAtomicity : 4096
Device Alignment : Aligned (0x000)
Partition alignment on device : Aligned (0x000)
Performs Normal Seeks
Trim Not Supported
Ответ 4
- Запустите msinfo32 в командной строке, которая должна вызывать окно GUI, называемое
"Информация о системе"
- В левой панели выберите "Сводка системы- > Компоненты- > Хранение- > Диски". Это должно загрузить информацию обо всех дисках в правой панели.
- Найдите нужный диск и проверьте значение "Bytes/Sector". он должен сказать "Bytes/Sector 4096"
Ответ 5
Если вы хотите использовать его программно, вам нужно отправить IOCTL_DISK_GET_DRIVE_GEOMETRY_EX
и использовать Geometry.BytesPerSector
из DISK_GEOMETRY_EX
structure
Ответ 6
Вы можете использовать wmic из командной строки:
C:\Windows\System32\wmic partition get BlockSize, StartingOffset, Name, Index
BlockSize Index Name StartingOffset
512 0 Disk #0, Partition #0 32256
512 1 Disk #0, Partition #1 370195176960
BlockSize
- размер сектора диска.
Ответ 7
Powershell:
$wql = "SELECT Label, Blocksize, Name FROM Win32_Volume WHERE FileSystem='NTFS'"
Get-WmiObject -Query $wql -ComputerName '.' | Select-Object Label, Blocksize, Name
Пример вывода:
Label Blocksize Name
----- --------- ----
OSDisk 4096 C:\
Windows RE Tools 4096 \\?\Volume{b042c778-cd66-4381-9312-3f4311321675}\
PS C:\>
Ответ 8
Если вы действительно хотите, чтобы это было программно, вам нужно отправить IOCTL_STORAGE_QUERY_PROPERTY
предоставив STORAGE_PROPERTY_QUERY
с PropertyId
установленным в StorageAccessAlignmentProperty
. Это дает как физические, так и логические размеры секторов.
Примечание: это работает только в Windows Vista и выше.
Ответ 9
Я купил 2 новых Crucial BX500 SSD. Я отформатировал ne с w7 и настройками по умолчанию. Я проверял диакпарт фсутил. Сообщаемое физическое число спайтов в байтах составило 512. Я подумал, что это странно для нового поколения ssd. Я положил один в другой корпус и отформатировал, используя те же настройки. А этот дал 4069 за размер физического сектора. Таким образом, используемый корпус или кабель могут определить, о чем сообщается. Как?