отличить виртуальный жеский диск от физического

Тема в разделе "WASM.WIN32", создана пользователем simon, 16 мар 2012.

  1. simon

    simon New Member

    Публикаций:
    0
    Регистрация:
    7 ноя 2010
    Сообщения:
    19
    Интересует возможно ли только средствами юзер мода достоверно узнать что определенный диск является виртуальным ? ( не используя WMI )
     
  2. h0t

    h0t Member

    Публикаций:
    0
    Регистрация:
    3 апр 2011
    Сообщения:
    735
    Смотря как реализовано виртуальное устройство, в общем случае нет.
     
  3. sn0w

    sn0w Active Member

    Публикаций:
    0
    Регистрация:
    27 фев 2010
    Сообщения:
    956
    находясь внутри виртуальной среды? DeviceIoControl с FSCTLами поиграться мб?
     
  4. simon

    simon New Member

    Публикаций:
    0
    Регистрация:
    7 ноя 2010
    Сообщения:
    19
    смысл задачи состоит в том чтобы с большой степенью уверенности сказать что допустим диск D является виртуальным , а не физическим если он создан в win server 2008 - win8 x32,x64, например у меня в системе( win serv 2008 r2) 3 физических диска а оснастка показывает 4 так как 4-ый является виртуальным и фактически просто файл на диске созданный штатными средствами windows.
     
  5. T800

    T800 Member

    Публикаций:
    0
    Регистрация:
    7 дек 2006
    Сообщения:
    293
    Адрес:
    Moscow
    simon
    Верно говорят про IOCTL.
    Читаем через IOCTL IDENTIFY buffer для каждого диска.
    Для виртуальных дисков от MS: Vendor = "Msft", Model = "Virtual Disk", SerialNum = ""
     
  6. simon

    simon New Member

    Публикаций:
    0
    Регистрация:
    7 ноя 2010
    Сообщения:
    19
    спасибо всем , T800 уже изучаю )
     
  7. Malfoy

    Malfoy New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2012
    Сообщения:
    698
    Ну давайте логически подумаем. Что есть виртуальный диск - некоторые механизмы виртуализации. Они робят только для некоторого определённого интерфейса, в данном случае IOCTL. Юзаем мы диск без этого механизмы - юзать не сможем. Это начиная от прямого I/O и кончая высокоуровневыми интерфейсами, в зависимости от эмулироемуго интерфейса.
     
  8. simon

    simon New Member

    Публикаций:
    0
    Регистрация:
    7 ноя 2010
    Сообщения:
    19
    Malfoy я так понимаю вы хотите сказать что использование IOCTL не всегда даст истину ?
     
  9. Malfoy

    Malfoy New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2012
    Сообщения:
    698
    simon
    Врага нужно знать в лицо. Чтандартные механизмы должны эмулиться. Это как аверская вм - стандартно эмулится.
     
  10. simon

    simon New Member

    Публикаций:
    0
    Регистрация:
    7 ноя 2010
    Сообщения:
    19
    Malfoy в принципе особой надежды на данный метод у меня не было ,вернее планировал использовать его как вспомогательный механизм а упор решил сделать на разбор загрузочных записей каждого диска так как свойство диска (физический он или виртуальный) интересно лишь при наличии на нем установленной ос , а сам по себе он не интересен.