Недавно я установил версию Windows7 рядом с Ubuntu 14.04 и заметил, что несмотря на то, что часовой пояс установлен правильно (Pacific Standard time), часы в Ubuntu сбились на несколько часов. Я искал ответы в Интернете и где-то прочитал, что отмена выбора опции "синхронизация с интернет-часами" может помочь решить проблему. Это, казалось, решило проблему на короткое время, но после некоторых обновлений я снова заметил, что мои системные часы идут на 7 часов вперед. Заглянув в BIOS, я обнаружил, что часы там сбрасываются.
Мое внимание привлекло то, что мой f.Lux в UBuntu не включался в нужное время, поэтому я пошел и проверил время в BIOS и заметил, что оно переведено на 7 часов вперед. Это объясняет несколько вещей, я подозревал, что дело, вероятно, в батарее, но происходит что-то странное, что говорит мне об обратном.
Если я войду в BIOS и установлю правильное время, а затем загружусь в Windows, все останется в порядке. Я могу перезагрузить систему в Windows, и ничего не изменится ни в BIOS, ни во времени Windows. Если я войду в Ubuntu через загрузчик Windows, время в часах Ubuntu изменится на 7 часов назад. Если я перезагружусь снова в Ubuntu, часы Ubuntu все еще выключены, а часы BIOS в норме. Единственный раз, когда часы меняются в BIOS, это когда я меняю время в часах UBuntu (либо выбрав manaul, либо синхронизацию через Интернет).
Что странно, так это то, что после изменения времени в BIOS, часы в Ubuntu отображают правильное время. Если я исправлю время в BIOS, войду прямо в ubuntu wia windows bootloader, часы Ubuntu будут отключены.
Такое впечатление, что Ubuntu не может правильно прочитать часы BIOS или синхронизироваться с ними.
Работает Windows7 64 bit наряду с Ubuntu 14.04 64 bit
Мое понимание может быть устаревшим, но прошлым разом, когда я проверил, что Linux предполагает, что часы BIOS находятся в UTC (по умолчанию), в то время как Windows предполагает, что это установлено на Ваше местное время.
Если требуется сказать Ubuntu использовать местное время, которое может устранить проблемы после начальной загрузки Windows, необходимо будет отредактировать /etc/default/rcS
:
# Set UTC=yes if your hardware clock is set to UTC (GMT)
UTC=no
Альтернатива говорит Windows, что Ваши аппаратные часы находятся в UTC, но я не знаком с тем, как Вы пошли бы об этом.
Можно найти дополнительную информацию путем чтения об этом подобном вопросе.
Найденный решением! Я считал ЗДЕСЬ что:
"Операционные системы хранят и получают время в аппаратных часах, расположенных на Вашей материнской плате так, чтобы это могло отслеживать время, даже когда система не имеет силы. Большинство операционных систем (Linux/Unix/Mac) хранилище, которое время на аппаратных средствах синхронизирует как UTC по умолчанию, хотя некоторые системы (особенно Microsoft Windows) хранят время на аппаратных часах как 'локальное' время. Это вызывает проблемы в системе двойной загрузки, если обе системы просматривают аппаратные часы по-другому"
Шаги для решения этого вопроса, заставляя Linux использовать 'Локальное' время были к:
gksudo gedit /etc/default/rcS
добавьте или измените следующий раздел
# Set UTC=yes if your hardware clock is set to UTC (GMT) UTC=no