The combination of Ubuntu 7.10 (or any other 2.6 kernel based Linux distribution) and Virtual Server 2005 R2 leads to extreme clock drift, causing the clock in the guest operating system to drift several minutes per hour. This amount of drift is beyond what NTP can normaly cope with and while some people have advocated running ntpdate as a cron job every hour, such an remedy would only reduce the issue since it would drift many minutes before it would be reset again.
Microsoft has issued a knowledgebase article that describes a solution to the problem.
In short, add “clock=pit” to the kernel options in /etc/grub/menu.lst.