Проблема заключается в том, Ubuntu считает системное время компьютера как время по UTC, и при выводе прибавляет к нему смещение текущего часового пояса, которое указал пользователь. Чтобы исправить проблему со временем, достаточно отредактировать /etc/default/rcS
gedit /etc/default/rcS
Для этого делаем там, чтобы время считалось не по UTC:
# assume that the BIOS clock is set to UTC time (recommended)
UTC=no
Обновление (31 августа 2016)
В Ubuntu 16.04 вместо /etc/default/rcS нужно редактировать /etc/adjtime, при этом используется другой синтаксис.
Решить проблему можно, внеся изменения в реестр Windows:
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
Для 64-разрадных версий Windows команда выглядит несколько иначе (QWORD вместо DWORD):
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 1
Journal information