4

На моей работе парень пытается найти некоторые проблемы с драйвом. Дело в том, что у нас более 400 накопителей, физических и виртуальных. Мы используем Windows 2008 Server.

У меня вопрос, можем ли мы как-то посмотреть, является ли диск физическим или виртуальным, учитывая путь к нему?

3 ответа3

3

На самом деле, вопрос не ясен, но, в зависимости от того, что вы имеете в виду, ответ - да, конечно, вы можете, это просто зависит от того, сколько усилий вы хотите приложить для получения результата. Это не требует "низкоуровневого программирования" (по крайней мере, по моему определению).

Если вы говорите об использовании дисков виртуального диска (VHD) и хотите определить, является ли диск физическим или виртуальным, команда Powershell:

get-wmiobject -class win32_diskdrive |  format-list deviceid, model

В моей системе, с 3-мя физическими дисками и контейнером VHD, я получаю

deviceid : \\.\PHYSICALDRIVE0
model    : TOSHIBA MK1637GSX ATA Device

deviceid : \\.\PHYSICALDRIVE1
model    : WDC WD3200BEVT-22ZCT0 ATA Device

deviceid : \\.\PHYSICALDRIVE2
model    : JMCR SD/MMC SCSI Disk Device

deviceid : \\.\PHYSICALDRIVE3
model    : Msft Virtual Disk SCSI Disk Device

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

1

Простой ответ на вопрос:

Can I determine if a drive is physical or virtual just from the drive path?

Конечно, ты не можешь.

По крайней мере, вам нужно перейти к программированию на очень низком уровне, чтобы изготовитель самого привода. Вы должны подойти к этой проблеме по-другому.

0

если я правильно понял вопрос, в C:\Windows\System32 есть команда subst, к которой можно обратиться через cmd.exe. он может показывать, создавать или удалять виртуальные диски в вашей локальной системе.

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