Tem certeza de que o ntpd não estava em execução quando a caixa foi reinicializada? Verifique os logs de inicialização do seu syslog e veja se ele começou quando a caixa inicializou.
Além disso, lembre-se que se o tempo acabar demais, o ntpd assumirá que existe um possível problema com a sua fonte de tempo e não alterará a hora. Por padrão, isso acontece se a hora informada do servidor de horário externo estiver a mais de 1000 segundos da hora local. Há algumas coisas com as quais me deparo ao longo dos anos (como a morte da bateria do CMOS) que podem fazer com que a hora da máquina local seja muito afetada na reinicialização.
Verifique sua configuração do /etc/ntp.conf, verifique se ela está correta (os servidores de tempo estão acessíveis, etc). Em seguida, tente reiniciar o ntpd e observe os logs enquanto o faz . Veja se tudo parece bem lá. Em seguida, volte pelos logs do sistema e encontre todos os logs relacionados ao ntpd. Procure por erros, problemas, etc. Certifique-se de que ele esteja iniciando na inicialização.
Em casos como este, os registros geralmente serão sua melhor fonte de informações para solução de problemas.
Se o tempo estiver inativo por mais de 1000 segundos, e você precisar redefini-lo, será necessário primeiro interromper o ntpd, depois executar o ntpdate para redefinir a hora e, em seguida, reiniciar o ntpd. Os seguintes comandos farão isso:
sudo /etc/init.d/ntp stop
sudo ntpdate 0.north-america.pool.ntp.org
sudo /etc/init.d/ntp start
Se você está tendo problemas onde o tempo está distorcendo muito a cada reinicialização, pode valer a pena executar o script ntpdate antes que o ntpd seja iniciado em cada inicialização. Isso deve ajudar a redefinir o tempo para algo gerenciável antes de o ntpd manipulá-lo.