I was asked today why this command doesn’t work (this Registry key would be visible if you were inside the Windows guest):
$ virt-win-reg Win2003x32 \ '\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes' hivexget: \CurrentControlSet: CurrentControlSet: path element not found
It’s because CurrentControlSet (and several other “Current*” keys) are synthetic. They don’t exist in the underlying Registry “hive” (file), but are created by Windows when it is running to refer to the
currently selected setting for the local user (This isn’t quite correct. For the specifics refer to the Microsoft KB article and this stackoverflow posting).
Instead you have to refer to one of the possible selections. Usually
ControlSet001 will work, so:
$ virt-win-reg Win2003x32 \ '\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Keyboard Layout\DosKeybCodes' "00000402"="bg" "00000404"="ch" "00000405"="cz" [etc]