Действительно только для Cygwin 1.7:
Вам необходимо проверить и HKEY_CURRENT_USER, и HKEY_LOCAL_MAHINE для ключа реестра Cygwin. В зависимости от того, как был установлен Cygwin, он может находиться под любой клавишей.
Ниже приведен пример запроса значения у текущего пользователя.
CYGWIN_KEY = "SOFTWARE\\Cygwin\\setup"
hk_user = winreg.HKEY_CURRENT_USER
key = winreg.OpenKey(hk_user, CYGWIN_KEY)
root = winreg.QueryValueEx(key, "rootdir")[0]
При написании скрипта вам, вероятно, следует сначала проверить глобальный HKEY_LOCAL_MACHINE. Однако имейте в виду, что на одной машине можно установить несколько систем Cygwin.