O XP guarda a hora no BIOS em hora local.
O Linux normalmente busca essa mesma hora como UTC, e converte pra hora local a partir da própria configuração.
O resultado é que a hora entre um e outro fica com a diferença do fuso horário (no nosso caso, 3 horas).
Solução: mandar o Linux buscar a hora no BIOS em hora local.
Pra isso, edite o arquivo /etc/default/rcS, alterar o controle "UTC=yes" pra "UTC=no".
Depois de resolver o problema, acostume-se a manter o sistema sincronizado com servidores de hora da internet. É "da hora"