I just did test what I proposed and it doesn't work. At least for me.
My idea was to make the Java runtime think the BIOS time is not the
local time of Berlin, Germany, but of Moscow, Russia. If that would have
worked the Java Runtime should now (19:00 CET, ignoring daylight saving
for a second) have printed out a GMT time of 16:00 instead of 18:00,
because when it's 19:00 in Moscow it's 16:00 in London (GMT). And you
would have had your 2 hour time shift.
BTW: Why are your clocks 2 hours off?
Cheers, Bjoern