Como o Windows informa se uma unidade conectada a um PC é uma unidade de disco rígido, uma unidade de estado sólido ou uma unidade de disco flash?

2

Alguém pode explicar tecnicamente como o Windows identifica o tipo de drive conectado a um computador?

Estou fazendo essa pergunta porque estou prestes a criar um programa que só grava dados em um tipo específico de unidade de armazenamento ... e estou curioso sobre como isso acontece nos bastidores.

    
por ducktapes 07.11.2013 / 05:41

2 respostas

2

Você pode obter essas informações em dois locais: wmic diskdrive e wmic logicaldrive - (e, é claro, suas ligações wmi para os equivilents).

A saída do diskdrive wmic - observe as descrições de recursos e o tipo de mídia

Availability  BytesPerSector  Capabilities  CapabilityDescriptions                 Caption                       CompressionMethod  ConfigManagerErrorCode  ConfigManagerUserConfig  CreationClassName  DefaultBlockSize  Description  DeviceID            ErrorCleared  ErrorDescription  ErrorMethodology  FirmwareRevision  Index  InstallDate  InterfaceType  LastErrorCode  Manufacturer            MaxBlockSize  MaxMediaSize  MediaLoaded  MediaType              MinBlockSize  Model                         Name                NeedsCleaning  NumberOfMediaSupported  Partitions  PNPDeviceID                                                                  PowerManagementCapabilities  PowerManagementSupported  SCSIBus  SCSILogicalUnit  SCSIPort  SCSITargetId  SectorsPerTrack  SerialNumber      Signature   Size           Status  StatusInfo  SystemCreationClassName  SystemName  TotalCylinders  TotalHeads  TotalSectors  TotalTracks  TracksPerCylinder  
              512             {3, 4}        {"Random Access", "Supports Writing"}  Hitachi HDS723030ALA640                          0                       FALSE                    Win32_DiskDrive                      Disk drive   \.\PHYSICALDRIVE0                                                    MKAO              0                   IDE                           (Standard disk drives)                              TRUE         Fixed hard disk media                Hitachi HDS723030ALA640       \.\PHYSICALDRIVE0                                         1           IDE\DISKHITACHI_HDS723030ALA640_________________MKAOAA10&15828421&0&0.0.0                                                         0        0                0         0             63               KM3010HYNKXXGW                3000590369280  OK                  Win32_ComputerSystem     NYX         364801          255         5860528065    93024255     255                
                                                                                   HTC Android Phone USB Device                     0                       FALSE                    Win32_DiskDrive                      Disk drive   \.\PHYSICALDRIVE4                                                    0000              4                   USB                           (Standard disk drives)                              TRUE                                              HTC Android Phone USB Device  \.\PHYSICALDRIVE4                                         0           USBSTOR\DISK&VEN_HTC&PROD_ANDROID_PHONE&REV_0000\HT24YTV03821&0                                                                     0        0                0         0                              HT24YTV03820      0                          OK                  Win32_ComputerSystem     NYX                                                                                   
              512             {3, 4}        {"Random Access", "Supports Writing"}  Samsung SSD 840 Series                           0                       FALSE                    Win32_DiskDrive                      Disk drive   \.\PHYSICALDRIVE1                                                    DXT0              1                   IDE                           (Standard disk drives)                              TRUE         Fixed hard disk media                Samsung SSD 840 Series        \.\PHYSICALDRIVE1                                         2           IDE\DISKSAMSUNG_SSD_840_SERIES__________________DXT08B0Q&15828421&0&0.1.0                                                         0        0                0         1             63               1SG4ENCA4A8251 J  3142097946  250056737280   OK                  Win32_ComputerSystem     NYX         30401           255         488392065     7752255      255                
              512             {3, 4}        {"Random Access", "Supports Writing"}  ST92503010AS                                     0                       FALSE                    Win32_DiskDrive                      Disk drive   \.\PHYSICALDRIVE3                                                    0005              3                   IDE                           (Standard disk drives)                              TRUE         Fixed hard disk media                ST92503010AS                  \.\PHYSICALDRIVE3                                         1           IDE\DISKST92503010AS____________________________0005LVM1&15828421&0&0.3.0                                                         0        0                0         3             63               Y50HBBJ8          1668369528  250056737280   OK                  Win32_ComputerSystem     NYX         30401           255         488392065     7752255      255                
              512             {3, 4}        {"Random Access", "Supports Writing"}  FUJITSU MHW2040BH                                0                       FALSE                    Win32_DiskDrive                      Disk drive   \.\PHYSICALDRIVE2                                                    0000              2                   IDE                           (Standard disk drives)                              TRUE         Fixed hard disk media                FUJITSU MHW2040BH             \.\PHYSICALDRIVE2                                         2           IDE\DISKFUJITSU_MHW2040BH_______________________0000001C&15828421&0&0.2.0                                                         0        0                0         2             63               1KX07T2B57FL      976588      40007761920    OK                  Win32_ComputerSystem     NYX         4864            255         78140160      1240320      255                
                                                                                   HTC Android Phone USB Device                     0                       FALSE                    Win32_DiskDrive                      Disk drive   \.\PHYSICALDRIVE5                                                    0000              5                   USB                           (Standard disk drives)                              TRUE                                              HTC Android Phone USB Device  \.\PHYSICALDRIVE5                                         0           USBSTOR\DISK&VEN_HTC&PROD_ANDROID_PHONE&REV_0000\HT24YTV03821&1                                                                     0        1                0         0                              HT24YTV03821      0                          OK                  Win32_ComputerSystem     NYX                                                                                   

E aqui, a saída da unidade lógica wmic - descrição aqui é o que é principalmente de interesse.

Access  Availability  BlockSize  Caption  Compressed  ConfigManagerErrorCode  ConfigManagerUserConfig  CreationClassName  Description       DeviceID  DriveType  ErrorCleared  ErrorDescription  ErrorMethodology  FileSystem  FreeSpace      InstallDate  LastErrorCode  MaximumComponentLength  MediaType  Name  NumberOfBlocks  PNPDeviceID  PowerManagementCapabilities  PowerManagementSupported  ProviderName  Purpose  QuotasDisabled  QuotasIncomplete  QuotasRebuilding  Size           Status  StatusInfo  SupportsDiskQuotas  SupportsFileBasedCompression  SystemCreationClassName  SystemName  VolumeDirty  VolumeName               VolumeSerialNumber  
0                                C:       FALSE                                                        Win32_LogicalDisk  Local Fixed Disk  C:        3                                                            NTFS        139243769856                               255                     12         C:                                                                                                                                                                   249690058752                       FALSE               TRUE                          Win32_ComputerSystem     NYX                                               24FCB3E2            
0                                D:       FALSE                                                        Win32_LogicalDisk  Local Fixed Disk  D:        3                                                            NTFS        2459783610368                              255                     12         D:                                                                                                                                                                   3000457228288                      FALSE               TRUE                          Win32_ComputerSystem     NYX                      New Volume               C6DFE01A            
                                 G:                                                                    Win32_LogicalDisk  Removable Disk    G:        2                                                                                                                                                      G:                                                                                                                                                                                                                                                        Win32_ComputerSystem     NYX                                                                   
                                 H:                                                                    Win32_LogicalDisk  Removable Disk    H:        2                                                                                                                                                      H:                                                                                                                                                                                                                                                        Win32_ComputerSystem     NYX                                                                   
0                                Q:                                                                    Win32_LogicalDisk  Local Fixed Disk  Q:        3                                                                                                                                           12         Q:                                                                                                                                                                                                                                                        Win32_ComputerSystem     NYX                                                                   
0                                Y:       FALSE                                                        Win32_LogicalDisk  Local Fixed Disk  Y:        3                                                            NTFS        77826355200                                255                     12         Y:                                                                                                                                                                   250057060352                       FALSE               TRUE                          Win32_ComputerSystem     NYX                      Drive of Impending Doom  CCC0980F            

Quanto a onde esta informação é - os próprios discos devem ter essa informação em smart (pelo que eu posso dizer de smartmontools, alguns dos valores relatados são diferentes, ssd's não teriam tempo de ativação, por exemplo). No linux o hdparm fornece informações detalhadas, da mesma forma que o wmic faria (mas muito mais convenientemente)

A unidade removível versus a unidade não removível é definida em um sinalizador na unidade - isso é, na verdade, selecionável com as ferramentas corretas.

Em resumo, ele pergunta ao disco

    
por 07.11.2013 / 06:36
1

Bem, aqui estão os detalhes técnicos:

Windows 7 detects SSDs by using ATA8-ACS identify word 217: Nominal media rotation rate, with value 0001h as Non-rotating media like solid state devices. But not all SSDs adhere to the ATA8-ACS1 spec section 7.16.7.77, some may need firmware updates

Fonte

A documentação canônica está disponível aqui , (PDF) página 175. Como tal, é um campo obrigatório e não relacionado ao SMART.

    
por 08.08.2014 / 16:11