Как исправить Windows и Linux, показывая разные времена при двойной загрузке

Ваш компьютер хранит время в аппаратных часах на своей материнской плате. Часы отслеживают время, даже когда компьютер выключен. По умолчанию Windows предполагает, что время хранится по местному времени, в то время как Linux предполагает, что время хранится по времени UTC, и применяет смещение. Это приводит к тому, что одна из ваших операционных систем показывает неправильное время в ситуации двойной загрузки.

Чтобы это исправить, у вас есть два варианта: заставить Linux использовать местное время или Windows использовать время UTC. Не следуйте обоим шагам инструкций, или они все еще не будут говорить на одном языке! Мы рекомендуем вам использовать Linux по местному времени, если это возможно.

Вариант первый: заставить Linux использовать местное время

Заставить Linux использовать локальное время так же, как Windows, вероятно, лучший вариант. В Windows есть параметр реестра, который заставляет его сохранять время в формате UTC, но, как сообщается, он плохо поддерживается и может вызывать проблемы с некоторыми сторонними приложениями, которые всегда предполагают, что аппаратные часы соответствуют местному времени. Он также несовместим с собственной службой Windows для синхронизации времени в Интернете.

Шаги, чтобы заставить вашу систему Linux использовать местное время, могут варьироваться от дистрибутива Linux до дистрибутива Linux. Однако в любом дистрибутиве Linux с systemd вы можете использовать команду timedatectl , чтобы внести это изменение. Это будет работать на современных версиях Ubuntu, Fedora, Red Hat, Debian, Mint и других дистрибутивов Linux, использующих systemd.

Чтобы внести это изменение, сначала откройте окно терминала в вашей системе Linux. Выполните следующую команду, чтобы перевести часы реального времени на материнскую плату в местное время. Linux будет хранить время по местному времени, как это делает Windows.

 timedatectl set-local-rtc 1 --adjust-system-clock 

Чтобы проверить текущие настройки, запустите:

 timedatectl 

Если вы видите «RTC в локальном TZ: да», 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.

Щелкните правой кнопкой мыши кнопку «TimeZoneInformation» и выберите «Создать»> «Значение DWORD (32-разрядное)».

Назовите ваше новое значение RealTimeIsUniversal .

Дважды щелкните только что созданное значение RealTimeIsUniversal , установите для данных значения значение 1 и нажмите «ОК».

Теперь все готово, и вы можете закрыть редактор реестра. Windows будет хранить время в UTC, как и в Linux.

Если вы когда-либо захотите отменить это изменение, вернитесь в это место в реестре, щелкните правой кнопкой мыши добавленное вами значение RealTimeIsUniversal и удалите его из своего реестра.

Скачать наш взлом реестра одним щелчком

Если вы не хотите редактировать реестр самостоятельно, вы можете воспользоваться нашей загружаемой рубкой реестра. Мы создали один хак, который заставляет Windows использовать время UTC, и тот, который восстанавливает его по местному времени. Оба включены в следующий файл ZIP. Просто скачайте файл, дважды щелкните взломать, который вы хотите использовать, и согласитесь добавить информацию в свой реестр.

Заставьте Windows использовать UTC Time

Вышеуказанные хаки делают то же самое, что мы описали выше. Хакер «Сделать Windows использовать UTC Time» создает запись «RealTimeIsUniversal» со ​​значением «1», а хакер «Сделать Windows использовать локальное время» удаляет запись «RealTimeIsUniversal».

Если вы хотите узнать, что делает этот или любой другой файл .reg, щелкните его правой кнопкой мыши и выберите «Изменить», чтобы просмотреть файл в Блокноте. Вы можете легко сделать свои собственные взломы реестра, которые просто состоят из списка записей реестра для добавления, редактирования и удаления в правильно отформатированном списке.

А как насчет двойной загрузки Windows на Mac?

Хотя 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, что, вероятно, было бы наиболее логичным решением. Но это потребует некоторой работы, и большинство людей никогда даже не заметят, что разные операционные системы используют разные форматы времени – за исключением конфигураций с двойной загрузкой.

Оцените статью
TutoryBird.Ru
Добавить комментарий