At my work a guy is trying to locate some problems with a drive. The thing is we have more than 400 drives, physical and virtual. We're using Windows 2008 Server.

My question is, can we somehow see if the drive is physical or virtual, given the drive path?


The simple answer to the question:

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

Of course you can't.

At the very least you would need to get into very low level programming in order to the manufactor of the drive itself. You should approach this problem another way.


Actually, the question isn't clear, but, depending on what you mean, the answer is Yes, of course you can, it just depends how much effort you want to put into getting the result. It doesn't require "low level programming" (at least not by my definition).

If you are talking about using Virtual Disk (VHD) drives and want to identify if a drive is physical or virtual, the Powershell command:

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

On my system, with 3 physical drives and a VHD container connect, I get

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

I think it's obvious which one is the Virtual device! Of course, you will need to do more work to map from the drive letter to the model, but I wouldn't call writing a script very low-level.


if i understood the question right, there is subst command in C:\Windows\System32 that can be accessed through cmd.exe. it can show, create or delete virtual drives in your local system.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.