Na verdade, ambos usam o clock do hardware na placa-mãe.
Esta máquina é por acaso uma que você inicializa em ambos os sistemas Windows e Linux? Se for, então eu suspeito que você tenha sido mordido pelo fato de que o Windows armazena a hora no relógio do hardware como hora local, e o Linux a armazena como hora UTC por padrão.
Assim, quando você reinicia de um para o outro, pode haver alguma confusão quanto ao significado do tempo armazenado no relógio do hardware.
A maioria das distribuições de Linux pode ser configurada para usar a hora local, para coexistir com o Windows, embora o uso de UTC seja realmente um método muito melhor.