Comment puis-je déterminer la taille du secteur physique (par exemple, si j'ai un lecteur format avancé avec 4 096 secteurs d'octets plutôt que l'héritage 512 octets) dans Windows 7?
Je sais qu'en cliquant sur un fichier et en obtenant les propriétés, nous pouvons trouver le NTFS Taille du cluster, mais ce n'est pas la même chose que le secteur du disque dur .
Remarque : Nous posons des questions sur Windows 7, car il (et Windows Vista SP1) comprend l'existence de disques durs au format avancé 4096.
Vous voulez fsutil. Assurez-vous que vous exécutez l'invite de commande en tant qu'administrateur.
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
je voulais développer la réponse de Chris Gessler et noter qu'il n'existe aucun moyen connu d'obtenir le secteur physique d'un lecteur à l'aide de Windows Management Instrumentation (WMI). , par exemple wmic
.
Étant donné que j’ai un lecteur de format avancé (c’est-à-dire qu’il utilise 4 096 octets par secteur plutôt que 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
Ni WMI's DiskDrive
:
wmic:root\cli>diskdrive
Availability BytesPerSector Capabilities CapabilityDescriptions Caption
512 {3, 4, 10} {"Random Access", "Supports Writing", "SMART Notification"} ST1000DM003-9YN162 ATA Device
ni Partition
:
wmic:root\cli>partition get BlockSize, StartingOffset, Name, Index
BlockSize Index Name StartingOffset
512 0 Disk #0, Partition #0 1048576
peut signaler le sous-jacent taille du secteur physique. Il est logique que vous réalisiez tous les deux qu'ils indiquent la taille du secteur que Windows est en utilisant. Il est 512 octets par secteur - le lecteur se trouve simplement être différent à l'intérieur.
En effet, seul Windows 8 supporte tilisation sur 4k secteurs. Windows 7 comprend que le disque peut être de 4k et travaille pour l'aligner sur 4k Clusters avec le 4k sous-jacent du disque dur - Secteurs .
Mise à jour Windows 10:
Il existe maintenant une sous-commande sectorInfo
qui peut fournir de meilleures informations:
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
Si vous voulez l'avoir par programme, vous devez envoyer IOCTL_DISK_GET_DRIVE_GEOMETRY_EX
et utilise Geometry.BytesPerSector
de DISK_GEOMETRY_EX
structure
Vous pouvez utiliser wmic à partir de la ligne de commande:
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
Le BlockSize
est la taille de secteur du lecteur.
Powershell:
$wql = "SELECT Label, Blocksize, Name FROM Win32_Volume WHERE FileSystem='NTFS'"
Get-WmiObject -Query $wql -ComputerName '.' | Select-Object Label, Blocksize, Name
Exemple de sortie:
Label Blocksize Name
----- --------- ----
OSDisk 4096 C:\
Windows RE Tools 4096 \\?\Volume{b042c778-cd66-4381-9312-3f4311321675}\
PS C:\>
Si vous voulez vraiment l'avoir par programme, vous devez envoyer IOCTL_STORAGE_QUERY_PROPERTY
fournissant STORAGE_PROPERTY_QUERY
avec PropertyId
défini sur StorageAccessAlignmentProperty
. Cela donne à la fois des tailles de secteurs physiques et logiques.
Remarque: cela ne fonctionne que sur Windows Vista et supérieur.