Часы BIOS всегда сбрасываются в UTC после загрузки в Xubuntu [dубликат]

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

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

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

274
задан 2 January 2017 в 20:30

8 ответов

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

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

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

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

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

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

Для этого отредактируйте /etc/default/rcS с правами root и убедитесь, что у нее есть UTC=no: [ ! d15] Нажмите Alt + F2. Введите gksu gedit /etc/default/rcS и нажмите Enter. Вероятно, вы увидите следующее: # assume that the BIOS clock is set to UTC time (recommended) UTC=yes Если вы это сделаете, измените UTC=yes на UTC=no. (Или вы можете добавить комментарий тоже, изменив его на что-то вроде UTC=no # changed to accommodate Windows system. Все, что написано в строке после символа #, является комментарием, и нужно просто сделать ваши настройки более удобочитаемыми для человека.) Если вы не смотрите, ищите любую UTC= строку. Если он раскоментирован (т. Е. Не имеет # в начале), измените его соответствующим образом. Если он прокомментирован, раскомментируйте его, удалив ведущий # и убедитесь, что он говорит UTC=no. Сохраните файл и закройте текстовый редактор. Перезагрузитесь, чтобы применить свои изменения и проверить, что время работает правильно в обеих операционных системах.

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

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

31
ответ дан 18 July 2018 в 03:40

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

Вы можете установить стандартное время аппаратного времени в командной строке. Вы можете проверить, что вы настроили использовать: $ timedatectl | grep local Аппаратные часы можно запросить и установить с помощью команды timedatectl. Чтобы изменить стандартное время аппаратного времени на localtime, используйте: # timedatectl set-local-rtc 1 Если вы хотите вернуться к аппаратным часам в UTC, выполните: # timedatectl set-local-rtc 0
58
ответ дан 18 July 2018 в 03:40

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

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

11
ответ дан 18 July 2018 в 03:40

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

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

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

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

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

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

Для этого отредактируйте /etc/default/rcS с правами root и убедитесь, что у нее есть UTC=no: [ ! d15] Нажмите Alt + F2. Введите gksu gedit /etc/default/rcS и нажмите Enter. Вероятно, вы увидите следующее: # assume that the BIOS clock is set to UTC time (recommended) UTC=yes Если вы это сделаете, измените UTC=yes на UTC=no. (Или вы можете добавить комментарий тоже, изменив его на что-то вроде UTC=no # changed to accommodate Windows system. Все, что написано в строке после символа #, является комментарием, и нужно просто сделать ваши настройки более удобочитаемыми для человека.) Если вы не смотрите, ищите любую UTC= строку. Если он раскоментирован (т. Е. Не имеет # в начале), измените его соответствующим образом. Если он прокомментирован, раскомментируйте его, удалив ведущий # и убедитесь, что он говорит UTC=no. Сохраните файл и закройте текстовый редактор. Перезагрузитесь, чтобы применить свои изменения и проверить, что время работает правильно в обеих операционных системах.

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

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

31
ответ дан 24 July 2018 в 17:54
  • 1
    Обратите внимание, что это также может произойти при обновлении с одной версии Ubuntu до следующего, как это было для меня. Я могу порекомендовать выполнить описанное выше исправление, а затем вручную синхронизировать часы в этом ответе (отрегулировать его для работы с systemd): askubuntu.com/a/254846/139735 – starbeamrainbowlabs 20 June 2016 в 23:03
  • 2
    Это должен быть принятый ответ imho. Я установил Windows и работал нормально, тогда я установил Ubuntu, и часы пошли haywire - я не вижу причины, по которой мне нужно изменить настройки Windows, если это явно добавило Linux, который нарушил мою конфигурацию. – Przemek D 18 April 2018 в 11:03

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

Вы можете установить стандартное время аппаратного времени в командной строке. Вы можете проверить, что вы настроили использовать: $ timedatectl | grep local Аппаратные часы можно запросить и установить с помощью команды timedatectl. Чтобы изменить стандартное время аппаратного времени на localtime, используйте: # timedatectl set-local-rtc 1 Если вы хотите вернуться к аппаратным часам в UTC, выполните: # timedatectl set-local-rtc 0
58
ответ дан 24 July 2018 в 17:54
  • 1
    О Господи. Я не могу полагать , что они были настолько глупы, чтобы использовать местное время на аппаратных часах. Почему ты когда-нибудь это делал? – iono 9 December 2013 в 13:22
  • 2
    @twome поскольку там не так много на пути сети в начале времен MS-DOS, и оно не было бы общим для перемещения ПК так далеко, что он двигался часовых поясов. (И да, даже учитывая, что история, это был еще не самый лучший ход). – Jon Hanna 22 April 2014 в 18:44
  • 3
    @twome, хотя я согласен с тобой, что вы остаетесь универсальным, поскольку он не поддерживает информацию о часовом поясе, есть несколько проблем с этим: A) BIOS / UEFI имеют различные функции, такие как автоматическое просыпание / спящий режим, где вы установить время для этих триггеров. Было бы странно устанавливать те времена в UTC - по крайней мере, для среднего пользователя. B) Как сказал Джон выше, соображения обратной совместимости. – Shahriyar Imanov 16 May 2014 в 00:19
  • 4
    В Windows PowerShell запустите эту команду, чтобы обновить вышеупомянутое свойство реестра: New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation -Name RealTimeIsUniversal -PropertyType DWord -Value 00000001 – Anatoly Mironov 14 January 2015 в 13:29
  • 5
    На Ubuntu 16.10 это помогло сделать «hwclock --systohc - localtime». Это записывает "локальную часть" к / etc / adjtime и тем самым делает его постоянным. – user1050755 21 October 2016 в 22:25
  • 6
    Для тех, кто просматривает текст, вам нужно только изменить настройки в одной из ОС, а не на обоих. – Alexander Revo 8 August 2017 в 22:29
  • 7
    @ user1050755 - это до, после или вместо команды timedatectl? – nasch 16 January 2018 в 04:45

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

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

11
ответ дан 24 July 2018 в 17:54
  • 1
    Ха-ха! Потрясающие. : D Мне действительно не важно мое местоположение. Это было исправлено за две секунды. Большое спасибо. – Pale Blue Dot 10 March 2015 в 13:05

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

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

$ timedatectl | grep local

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

# timedatectl set-local-rtc 1

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

# timedatectl set-local-rtc 0
220
ответ дан 5 August 2018 в 03:20

Ваш часовой пояс Восточный , который в настоящее время является 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. Вероятно вы увидите следующее:
    # assume that the BIOS clock is set to UTC time (recommended)
    UTC=yes
    
    Если вы это сделаете, измените UTC=yes на UTC=no. (Или вы можете добавить комментарий тоже, изменив его на что-то вроде UTC=no # changed to accommodate Windows system. Все, что написано в строке после символа #, является комментарием, и нужно просто сделать ваши настройки более удобочитаемыми для человека.) Если вы не смотрите, ищите любую UTC= строку. Если он раскоментирован (т. Е. Не имеет # в начале), измените его соответствующим образом. Если он прокомментирован, раскомментируйте его, удалив ведущий # и убедитесь, что он говорит UTC=no.
  4. Сохраните файл и закройте текстовый редактор.
  5. Перезагрузитесь, чтобы применить свои изменения и проверить, что время работает правильно в обеих операционных системах.

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

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

31
ответ дан 9 August 2018 в 00:39

Другие вопросы по тегам:

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