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

    Как исправить 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 - настроить системные часы

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

    timedatectl

    Если вы видите «RTC в локальном TZ: да», Linux будет использовать местный часовой пояс вместо UTC. Команда предупреждает вас, что этот режим не полностью поддерживается и может вызвать некоторые проблемы при переключении между часовыми поясами и переходом на летнее время. Однако этот режим, вероятно, лучше поддерживается, чем опция UTC в Windows. Если вы используете двойную загрузку с Windows, Windows обеспечит вам переход на летнее время.

    Если вы когда-нибудь захотите отменить это изменение, выполните следующую команду:

    timedatectl set-local-rtc 0 - настроить системные часы

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