m0nkrus,
Iska,
ITDemon, всё гениальное просто! Если не ошибаюсь, каждая копия Windows считает место хранения своего загрузочного тома не иначе как "диском
0", Вы проверьте

Если загрузочный том всегда на диске 0, то:
Код:

@echo off
CD /d %~dp0
echo Select Disk 0 >> diskpart.txt && echo detail disk >> diskpart.txt
Diskpart /s diskpart.txt | Findstr /c:"{"
IF ERRORLEVEL 1 (
ECHO Загрузочный том размещен на MBR-диске
) ELSE (
ECHO Загрузочный том размещен на GPT-диске
)
del /q diskpart.txt
pause
Ключ логики - имеет ли "диск 0" GUID вида {...} (GPT), или ИД Диска 0 имеет другой вид (MBR).
На MBR WinXP и GPT Win8 проверил - работает корректно, подозреваю на остальных версиях тоже
