Question

Comment puis-je déterminer le Taille du secteur physique (par exemple.si j'ai un Format avancé lecteur avec des secteurs de 4 096 octets plutôt que les anciens secteurs de 512 octets) dans Windows 7 ?

Je sais qu'en cliquant sur un fichier et en obtenant les propriétés, nous pouvons découvrir le NTFS Taille de cluster, mais ce n'est pas la même chose que celui du disque dur secteur taille.

Note:Nous posons des questions sur Windows 7 car il (et Windows Vista SP1) comprend l'existence de disques durs 4096 Advanced Format.

Était-ce utile?

La solution

Vous voulez Fsutil.Assurez-vous d'exécuter une invite de commande comme 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

Autres conseils

je voulais développer la réponse de Chris Gessler et noter qu'il n'existe aucun moyen connu d'obtenir le Physique secteur d'un lecteur utilisant Windows Management Instrumentation (WMI), par ex. wmic.

Étant donné que j'ai un lecteur au format avancé (c'est-à-direil utilise 4 096 octets par secteur au lieu de 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 les 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

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.Cela a du sens lorsque vous réalisez qu'ils indiquent tous les deux la taille du secteur de Windows. en utilisant.Il est 512 octets par secteur - le lecteur se trouve être différent à l'intérieur.

C'est parce que seul Windows 8 prend en charge utiliser de 4k secteurs.Windows 7 comprend que le lecteur peut être en 4K et s'efforce de l'aligner sur 4K Groupes avec le 4K sous-jacent du disque dur Secteurs.

Mise à jour Windows 10 :

Il y a maintenant un sectorInfo sous-commande 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
  1. exécutez msinfo32 dans la ligne de commande qui devrait contextuer une fenêtre d'interface graphique appelée "Informations système"
  2. Dans le volet de gauche Sélectionnez "Résumé du système-> Composants-> Stockage-> Disques".Cela devrait charger des informations de tous les lecteurs dans le volet de droite
  3. Trouvez votre lecteur souhaité et vérifiez la valeur pour "octets / secteur".Il devrait dire "octets / secteur 4096"

Si vous souhaitez l'avoir par programme, vous devez envoyer IOCTL_DISK_GET_DRIVE_GEOMETRY_EX et utilise Geometry.BytesPerSector depuis DISK_GEOMETRY_EX structure

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:\>

Vous pouvez utiliser wmic depuis 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 du secteur du lecteur.

Si vous voulez vraiment l'avoir par programme, vous devez envoyer IOCTL_STORAGE_QUERY_PROPERTY fournir STORAGE_PROPERTY_QUERY avec PropertyId mis à StorageAccessAlignmentProperty.Cela donne des tailles de secteur à la fois physiques et logiques.

Note:cela ne fonctionne que sur Windows Vista et versions ultérieures.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top