Время в секундах отключено при двойной загрузке

Двойная система загрузки Windows XP Pro и Ubuntu 12.04.

У меня установлен набор BIOS для правильного времени, а Ubuntu установлен для восточного времени США. Ubuntu будет загружаться, и время будет отключено на -4 часа. Если я исправлю время в Ubuntu, то при загрузке в Windows XP время будет выключено на + 4 часа.

Это новая установка 12.04. У меня не было этой проблемы, прежде чем переустанавливать Ubuntu.

264 голоса | спросил Bill Walden 28 J000000Saturday12 2012, 21:48:41

4 ответа


221

https://help.ubuntu.com/community/UbuntuTime#Multiple_Boot_Systems_Time_Conflicts

  

Несколько конфликтов времени загрузки системы

     

Операционные системы хранят и извлекают время в аппаратных часах   расположенный на вашей материнской плате, чтобы он мог отслеживать время даже   когда система не имеет мощности. Большинство операционных систем   (Linux /Unix /Mac) сохраняют время на аппаратных часах как UTC по   по умолчанию, хотя некоторые системы (в частности, Microsoft Windows) хранят   время на аппаратных часах как «локальное» время. Это вызывает проблемы   в системе двойной загрузки, если обе системы рассматривают аппаратные часы   по-разному.

     

Преимущество использования аппаратных часов в качестве UTC заключается в том, что вы не   необходимо изменить аппаратные часы при перемещении между часовыми поясами или   когда переход на летнее время (DST) начинается или заканчивается по мере того, как UTC не имеет   DST или смещение временной шкалы.

     

Изменение Linux для использования местного времени проще и надежнее, чем   изменение Windows для использования UTC, поэтому системы Linux /Windows с двойной загрузкой   для использования местного времени.

     

Так как Intrepid (8.10), UTC = yes по умолчанию.

     

Использовать UTC для UTC

     

Примечание. Этот метод первоначально не поддерживался в Windows Vista и Server 2008, но вернулся с Vista SP2, Windows 7, Server 2008 R2   и Windows 8 /8.1.

     

Чтобы MS Windows вычислила время с аппаратных часов в формате UTC.

     

Создайте файл с именем WindowsTimeFixUTC.reg со следующими   и затем дважды щелкните по нему, чтобы слить содержимое с помощью   реестр:

  Редактор реестра Windows Version 5.00
[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ TimeZoneInformation]
     "RealTimeIsUniversal" = DWORD: 00000001
 
     

Примечание. Служба времени Windows по-прежнему будет записывать местное время в RTC независимо от настройки реестра выше при выключении, поэтому она удобна   для отключения службы Windows Time с помощью этой команды (если синхронизация времени   все еще требуется, в то время как в Windows используется сторонняя синхронизация времени   раствор):

  sc config w32time start = отключено
 
     

Отмена изменения
Вы можете создать файл со следующим   и затем дважды щелкните его, чтобы слить исходные изменения, так как   выше:

  Редактор реестра Windows Version 5.00
[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ TimeZoneInformation]
     "RealTimeIsUniversal" = -
 
     

Если служба времени Windows была отключена, включите ее снова с помощью   Команда:

  sc config w32time start = demand
 
     

Сделать использование Linux «локальным» временем

     

Чтобы сообщить вашей системе Ubuntu, что аппаратные часы установлены на «local»,   время:

     

Системы Pre-Ubuntu 15.04 (например, Ubuntu 14.04 LTS):

     
  1. изменить /etc /default /rcS
  2.   
  3. добавить или изменить следующий раздел

      # Установить UTC = да, если ваши аппаратные часы установлены на UTC (GMT)
    UTC = нет
     
  4.   

Ubuntu 15.04 и выше (например, Ubuntu 16.04 LTS):

     
  1. откройте терминал и выполните следующую команду

      timedatectl set-local-rtc 1
     
  2.   
ответил Eric Carvalho 28 J000000Saturday12 2012, 22:07:35
58

Чтобы установить часы BIOS в локальное время вместо UTC в версии на базе systemd (15.04 и выше), вам нужно будет использовать команду timedatectl . Согласно Arch Wiki :

  

Вы можете установить стандартное время аппаратного времени в командной строке.   Вы можете проверить, что вы настроили использовать:

  $ timedatectl | grep local
 
     

Аппаратные часы можно запросить и установить с помощью timedatectl   команда. Чтобы изменить стандартное время аппаратного времени на местное время, используйте:

  # timedatectl set-local-rtc 1
 
     

Если вы хотите вернуться к аппаратным часам в UTC, выполните следующие действия:

  # timedatectl set-local-rtc 0
 
ответил muru 13 Jam1000000amWed, 13 Jan 2016 06:40:39 +030016 2016, 06:40:39
31

Ваш часовой пояс Восточный , который в настоящее время является EDT (Eastern Daylight Time). EDT UTC минус четыре часа, то же самое, что и смещение, которое вы испытываете.

Когда это происходит в системе с двойной загрузкой, обычно это происходит потому, что одна операционная система думает, что аппаратные часы отслеживают местное время, а другая операционная система считает, что аппаратные часы отслеживают UTC.

В вашем случае ваши аппаратные часы, вероятно, установлены на локальное время и:

  • Windows настроена на использование локального времени, которое (учитывая ваши настройки времени) правильно .
  • Ubuntu настроен на использование UTC, которое (с учетом ваших настроек времени) неверно .

Если бы вы просто сбросили время в системе Ubuntu, либо вручную, либо автоматически , это было бы неправильно в Windows, так что это не очень хорошее решение.

Вместо этого лучшим решением, вероятно, является перенастроить Ubuntu для обработки времени аппаратного времени в качестве локального времени (тогда вы можете оставить свою конфигурацию Windows и время вашего аппаратного времени отдельно).

Для этого отредактируйте /etc /default /rcS как root и убедитесь, что он имеет UTC = no :

  1. Нажмите Alt + F2 .

  2. Введите gksu gedit /etc /default /rcS и нажмите Enter .

  3. Вероятно, вы увидите следующее:

      # Предположим, что часы BIOS установлены на время UTC (рекомендуется)
    UTC = да
     
    • Если вы это сделаете, измените UTC = yes на UTC = no . (Или вы можете добавить комментарий тоже, изменив его на что-то вроде UTC = no # changed для размещения системы Windows . Все в строке после символа # комментарий, и только чтобы ваши настройки были более удобочитаемыми для человека.)
    • Если вы этого не сделаете, найдите любую строку UTC = . Если он раскоментирован (т. Е. Не имеет в начале кода # ), измените его соответствующим образом. Если он прокомментирован, раскомментируйте его, удалив ведущий # и убедитесь, что он говорит UTC = no .
  4. Сохраните файл и закройте текстовый редактор.

  5. Перезагрузитесь, чтобы применить свои изменения и проверить, что время работает правильно в обеих операционных системах.

Источник: https: //help.ubuntu .com /community /UbuntuTime # Make_Linux_use_.27Local.27_time

(Но это очень общее, я написал этот ответ, чтобы применить конкретно к вашей ситуации, что является довольно распространенной проблемой.)

ответил Eliah Kagan 28 J000000Saturday12 2012, 22:16:26
12

Исправление /etc /rcS не работало на моей установке Win7 /Ubuntu 14.04x64, а также никаких исправлений через графический интерфейс часов. Поскольку корень проблемы - время BIOS VS UTC, а Windows - боль в прикладе, когда дело доходит до использования UTC, я просто выбрал точку на карте, которая использует UTC + 0 (без изменений между BIOS и временем UTC) .

Попробуйте изменить свое местоположение в Рейкьявик (столица Исландии). Вуаля! Время Ubuntu изменится в соответствии с временем BIOS.

ответил OpensourceFool 3 J000000Thursday14 2014, 21:49:25

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132