Ваш компьютер хранит время в аппаратных часах на материнской плате. Часы отслеживают время даже при выключенном компьютере. По умолчанию Windows предполагает, что время хранится в местном времени, в то время как Linux предполагает, что время хранится в формате UTC, и применяет смещение. Это приводит к тому, что одна из ваших операционных систем показывает неправильное время в ситуация двойной загрузки .
Чтобы исправить это, у вас есть два варианта: заставить Linux использовать местное время или заставить Windows использовать время UTC. Не выполняйте оба шага инструкций, иначе они все равно будут говорить на разных языках! Мы рекомендуем вам настроить Linux на использование местного времени, если это возможно.
Вариант первый: заставить Linux использовать местное время
Возможно, лучший вариант - заставить Linux использовать местное время так же, как Windows. В Windows есть параметр реестра, который заставляет его сохранять время в формате UTC, но, как сообщается, он плохо поддерживается и может вызывать проблемы с некоторыми сторонними приложениями, которые всегда предполагают, что аппаратные часы показывают местное время. Он также несовместим с собственной службой синхронизации времени в Интернете Windows.
Действия по настройке местного времени в вашей системе Linux могут отличаться в зависимости от дистрибутива Linux. Однако в любом дистрибутиве Linux с
система
, вы можете использовать
timedatectl
команду, чтобы внести это изменение. Это будет работать в современных версиях Ubuntu, Fedora, Red Hat, Debian, Mint и других дистрибутивах Linux, использующих systemd.
Чтобы внести это изменение, сначала откройте окно терминала в вашей системе Linux. Выполните следующую команду, чтобы перевести часы реального времени на материнской плате в местное время. Linux будет хранить время в местном времени, как это делает Windows.
timedatectl set-local-rtc 1 --adjust-system-clock
Чтобы проверить текущие настройки, запустите:
timedatectl
Если вы видите «RTC in local TZ: yes», Linux настроен на использование местного часового пояса вместо UTC. Команда предупреждает вас, что этот режим не полностью поддерживается и может вызвать некоторые проблемы при переключении между часовыми поясами и переходом на летнее время. Однако этот режим, вероятно, лучше поддерживается, чем вариант UTC в Windows. Если вы выполняете двойную загрузку с Windows, Windows перейдет на летнее время за вас.
Если вы когда-нибудь захотите отменить это изменение, выполните следующую команду:
timedatectl set-local-rtc 0 --adjust-system-clock
Вариант второй: заставить Windows использовать время UTC
Заставить Windows использовать время UTC, как Linux, вероятно, не лучший вариант. Вы можете отредактировать реестр, чтобы Windows использовала время UTC, но это потенциально может вызвать больше проблем, чем просто заставить Linux использовать местное время.
Если вы действительно хотите это сделать, сначала отключите функцию обновления времени через Интернет в Windows. Это гарантирует, что Windows не установит часы неправильно при попытке синхронизации текущего времени из Интернета. В Windows 10 перейдите в «Настройки»> «Время и язык» и отключите параметр «Устанавливать время автоматически». В Windows 7 щелкните правой кнопкой мыши системные часы на панели задач и выберите «Настроить дату / время». Щелкните вкладку «Время в Интернете», нажмите кнопку «Изменить настройки», снимите флажок «Синхронизировать с сервером времени в Интернете» и нажмите «ОК».
Заставьте Windows использовать время UTC, отредактировав реестр
СВЯЗАННЫЕ С: Учимся использовать редактор реестра как профессионал
Теперь вам нужно добавить соответствующее значение в реестр Windows. Вот наше стандартное предупреждение: редактор реестра - мощный инструмент, неправильное использование которого может сделать вашу систему нестабильной или даже неработоспособной. Это довольно простой способ взлома, и у вас не должно возникнуть никаких проблем, если вы будете следовать инструкциям. Тем не менее, если вы никогда раньше не работали с ним, подумайте о том, чтобы прочитать о как использовать редактор реестра прежде, чем вы начнете. И определенно сделать резервную копию реестра (а также твой компьютер !) перед внесением изменений.
Сначала откройте редактор реестра, нажав «Пуск», набрав «regedit» и нажав клавишу «Ввод». Согласитесь с появившимся запросом безопасности.
Перейдите к следующему разделу на левой панели редактора реестра:
HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ TimeZoneInformation
В последних версиях Windows 10 вы можете скопировать и вставить указанную выше строку в адресное поле. Однако этот прием будет работать и в Windows 7.
Щелкните правой кнопкой мыши раздел «Информация о часовом поясе» и выберите «Создать»> «Значение DWORD (32 бита)».
Назовите ваше новое значение
RealTimeIsUniversal
.
Дважды щелкните значок
RealTimeIsUniversal
значение, которое вы только что создали, установите это значение для данных
1
, и нажмите «ОК».
Теперь все готово, и вы можете закрыть редактор реестра. Windows будет хранить время в формате UTC, как и Linux.
Если вы когда-нибудь захотите отменить это изменение, вернитесь в это место в реестре, щелкните правой кнопкой мыши значок
RealTimeIsUniversal
добавленное вами значение и удалите его из реестра.
Загрузите наш взлом реестра в один клик
Если вы не хотите редактировать реестр самостоятельно, вы можете воспользоваться нашим загружаемым советом по реестру. Мы создали один взлом, который заставляет Windows использовать время в формате UTC, и другой, который восстанавливает его до местного времени. Оба они включены в следующий ZIP-файл. Просто загрузите файл, дважды щелкните хак, который вы хотите использовать, и согласитесь добавить информацию в свой реестр.
Заставить Windows использовать время UTC
Вышеупомянутые хаки делают то же самое, что мы описали выше. Взлом «Заставить Windows использовать время в формате UTC» создает запись «RealTimeIsUniversal» со значением «1», а взлом «Заставить Windows использовать местное время» удаляет запись «RealTimeIsUniversal».
Если вы когда-нибудь захотите увидеть, что делает этот или любой другой файл .reg, щелкните его правой кнопкой мыши и выберите «Изменить», чтобы просмотреть файл в Блокноте. Вы можете легко сделать свои собственные хаки реестра, которые просто состоят из списка записей реестра для добавления, редактирования и удаления в правильно отформатированном списке.
А как насчет двойной загрузки Windows на Mac?
СВЯЗАННЫЕ С: Как установить Windows на Mac с помощью Boot Camp
Хотя MacOS от Apple использует время UTC, как и Linux, вам не нужно делать ничего особенного, когда запуск Windows в Boot Camp на Mac . Драйверы Apple Boot Camp справятся со всем. (Двойная загрузка Hackintosh - это совсем другая история, и вам придется попробовать использовать настройку реестра Windows выше.)
Если вам интересно, почему Windows использует местное время вместо UTC, как другие операционные системы, официальный блог Microsoft The Old New Thing объясняет это здесь . Короче говоря, это было для сохранения обратной совместимости с Windows 3.1 системы и чтобы люди не запутались, когда устанавливают время в BIOS компьютера. Конечно, производители ПК выбрали местное время для совместимости с Windows, а Windows выбрала местное время, чтобы оно было совместимо с решением, которое выбрали производители ПК, поэтому цикл стал самоусиливающимся.
В настоящее время не существует стандарта для обозначения того, хранится ли время в формате UTC или местного времени в BIOS или прошивке UEFI, что, вероятно, было бы наиболее логичным решением. Но это потребует некоторой работы, и большинство людей даже не заметят, что разные операционные системы используют разные форматы времени - за исключением конфигураций с двойной загрузкой.