На самом деле, вопрос не ясен, но, в зависимости от того, что вы имеете в виду, ответ - да, конечно, вы можете, это просто зависит от того, сколько усилий вы хотите приложить для получения результата. Это не требует "низкоуровневого программирования" (по крайней мере, по моему определению).
Если вы говорите об использовании дисков виртуального диска (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
Я думаю, что очевидно, какое из них является Виртуальным устройством! Конечно, вам потребуется проделать дополнительную работу для сопоставления буквы диска с моделью, но я бы не назвал написание сценария очень низкоуровневым.