2

Может кто-нибудь технически объяснить, как Windows определяет тип диска, подключенного к компьютеру?

Я задаю этот вопрос, потому что я собираюсь создать программу, которая будет записывать данные только на определенный тип накопителя ... и мне любопытно, как это происходит за кулисами.

2 ответа2

2

Вы можете получить эту информацию из двух мест: wmic diskdrive и wmic logicdrive - (и, конечно, их wmi-привязки для эквивалентов).

Вывод wmic diskdrive - обратите внимание на описание возможностей и тип носителя

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\4&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\4&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\4&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\4&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                                                                                   

И вот, вывод логического диска wmic - описание здесь - то, что в основном представляет интерес.

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            

Относительно того, откуда эта информация - сами диски должны иметь эту информацию в smart (из того, что я могу сказать из smartmontools, некоторые из представленных значений отличаются, например, ssd не будет иметь время раскрутки). На Linux hdparm дает вам подробную информацию, так же, как с помощью wmic (но гораздо удобнее)

Съемный диск против несъемного диска установлен на флаге на диске - это фактически переключается с правильными инструментами.

Короче, спрашивает диск

1

Ну, вот технические детали:

Windows 7 обнаруживает твердотельные накопители с помощью идентификатора ATA8-ACS, обозначающего слово 217. Номинальная скорость вращения носителя со значением 0001h как невращающиеся носители, такие как твердотельные устройства. Но не все твердотельные накопители соответствуют разделу 7.16.7.77 спецификации ATA8-ACS1, для некоторых может потребоваться обновление прошивки

Источник

Каноническая документация доступна здесь, (PDF) стр. 175. Таким образом, это обязательное поле и не относится к SMART.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .