듀얼 부팅시 클럭 시간이 꺼짐


303

듀얼 부팅 시스템 Windows XP Pro 및 Ubuntu 12.04.

바이오스가 올바른 시간으로 설정되어 있고 우분투가 미국 동부 시간으로 설정되어 있습니다. 우분투가 부팅되고 시간이 -4 시간 줄어 듭니다. 우분투에서 시간을 수정하면 Windows XP에서 부팅 할 때 시간이 + 4 시간 줄어 듭니다.

이것은 12.04를 새로 설치 한 것입니다. 우분투를 다시 설치하기 전에이 문제가 없었습니다.

답변:


265

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

여러 부팅 시스템 시간 충돌

운영 체제는 시스템에 전원이 공급되지 않는 경우에도 시간을 추적 할 수 있도록 마더 보드에있는 하드웨어 시계에 시간을 저장하고 검색합니다. 대부분의 운영 체제 (Linux / Unix / Mac) 는 기본적 으로 하드웨어 시계의 시간을 UTC 로 저장하지만 일부 시스템 (특히 Microsoft Windows)은 하드웨어 시계의 시간을 '현지'시간으로 저장합니다. 두 시스템 모두 하드웨어 시계를 다르게 보는 경우 이중 부팅 시스템에서 문제가 발생합니다.

UTC로 하드웨어 시계를 사용하면 시간대간에 이동할 때 또는 UTC에 DST 또는 시간대 오프셋이 없으므로 일광 절약 시간 (DST)이 시작되거나 종료 될 때 하드웨어 시계를 변경할 필요가 없다는 장점이 있습니다.

UTC를 사용하도록 Windows를 변경하는 것보다 로컬 시간을 사용하도록 Linux를 변경하는 것이 더 쉽고 안정적이므로 이중 부팅 Linux / Windows 시스템은 현지 시간을 사용하는 경향이 있습니다.

Intrepid (8.10)이므로 UTC = yes가 기본값입니다.

Windows에서 UTC를 사용하도록 설정

참고 : 이 방법은 처음에 Windows Vista 및 Server 2008에서 지원되지 않았지만 Vista SP2, Windows 7, Server 2008 R2 및 Windows 8 / 8.1과 함께 제공되었습니다.

MS Windows에서 하드웨어 시계의 시간을 UTC로 계산합니다.

다음 내용으로 WindowsTimeFixUTC.reg 라는 파일을 만든 다음 두 번 클릭하여 내용을 레지스트리와 병합합니다.

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
     "RealTimeIsUniversal"=dword:00000001

참고 : Windows 시간 서비스는 종료시 위의 레지스트리 설정에 관계없이 여전히 RTC에 현지 시간을 기록하므로이 명령으로 Windows 시간 서비스를 비활성화하는 것이 편리합니다 (Windows에서 타사 시간을 사용하는 동안 시간 동기화가 여전히 필요한 경우) 동기화 솔루션) :

sc config w32time start= disabled

변경 사항 취소
다음 내용으로 파일을 만든 다음 두 번 클릭하여 위와 같이 원래 변경 내용을 병합 할 수 있습니다.

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
     "RealTimeIsUniversal"=-

Windows 시간 서비스가 비활성화 된 경우 다음 명령으로 다시 활성화하십시오.

sc config w32time start= demand

리눅스를 '로컬'시간으로 사용

Ubuntu 시스템에 하드웨어 시계가 '현지'시간으로 설정되어 있다고 알리려면 :

우분투 15.04 이전 시스템 (예 : 우분투 14.04 LTS) :

  1. 편집하다 /etc/default/rcS
  2. 다음 섹션을 추가하거나 변경하십시오

    # Set UTC=yes if your hardware clock is set to UTC (GMT)
    UTC=no
    

Ubuntu 15.04 시스템 이상 (예 : Ubuntu 16.04 LTS) :

  1. 터미널을 열고 다음 명령을 실행하십시오

    timedatectl set-local-rtc 1
    

53
오 주. 나는 그들이 하드웨어 시계에서 현지 시간을 사용하기에 멍청 하다고 믿을 수 없다 . 왜 그렇게 하시겠습니까?
iono December

20
@twome MS-DOS 초기에는 네트워킹 방식이 많지 않았기 때문에 표준 시간대로 이동하기 위해 PC를 옮기는 것이 일반적이지 않았기 때문입니다. (그리고 그래, 그 역사를 고려하더라도 여전히 최고의 움직임은 아니었다).
Jon Hanna

9
@twome 표준 시간대 정보를 유지하지 않기 때문에 하드웨어 시계를 범용으로 유지한다는 데 동의하지만 그와 관련된 문제는 거의 없습니다. 해당 트리거의 시간을 설정하십시오. 적어도 일반 사용자에게는 UTC로 시간을 설정하는 것이 이상합니다. B) Jon이 위에서 말했듯이 이전 버전과의 호환성 이유입니다.
Shahriyar Imanov 19시 19 분

5
Windows PowerShell에서이 명령을 실행하여 위에서 언급 한 레지스트리 속성을 업데이트하십시오. New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation -Name RealTimeIsUniversal -PropertyType DWord -Value 00000001
Anatoly Mironov

6
텍스트를 감추는 사용자의 경우 OS 중 하나에서만 설정을 변경하면됩니다.
Alexander Revo

67

시스템 기반 버전 (15.04 이상)에서 BIOS 시계를 UTC 대신 로컬 시간으로 설정하려면 timedatectl명령 을 사용해야합니다 . 아치 위키 에 따르면 :

명령 행을 통해 하드웨어 시계 시간 표준을 설정할 수 있습니다. 다음을 사용하여 설정 한 내용을 확인할 수 있습니다.

$ timedatectl | grep local

timedatectl 명령으로 하드웨어 시계를 쿼리하고 설정할 수 있습니다 . 하드웨어 시계 시간 표준을 현지 시간으로 변경하려면 다음을 사용하십시오.

# timedatectl set-local-rtc 1

UTC로 하드웨어 시계로 되돌리려면 다음을 수행하십시오.

# timedatectl set-local-rtc 0

4
Ubuntu 16.10에서는 "hwclock --systohc --localtime"을 수행하는 데 도움이되었습니다. 이것은 "local part"를 / etc / adjtime에 기록하여 영구적으로 만듭니다.
user1050755

1
@ user1050755는 timedatectl 명령 이전, 이후 또는 대신입니까?
nasch

36

시간대는 동부 표준시이며 현재 EDT (동부 일광 절약 시간)입니다. EDT는 UTC 에서 4 시간을 뺀 값입니다. 이는 오프셋과 동일합니다.

이중 부팅 시스템에서이 문제가 발생하면 대개 한 운영 체제에서 하드웨어 시계가 현지 시간을 추적한다고 생각하고 다른 운영 체제는 하드웨어 시계가 UTC를 추적한다고 생각하기 때문입니다.

귀하의 경우, 하드웨어 시계가 현지 시간으로 설정되어있을 것입니다.

  • Windows가 현지 시간을 사용하도록 설정되어 있습니다 (시간 설정이 맞음) .
  • Ubuntu가 UTC를 사용하도록 설정되어 있습니다 (시간 설정이 올바르지 않음) .

우분투 시스템에서 시간을 수동 또는 자동 으로 재설정하려는 경우 Windows에서는 시간이 잘못되어 좋은 해결책이 아닙니다.

대신 가장 좋은 해결책은 하드웨어 시계 시간을 현지 시간으로 처리하도록 Ubuntu다시 구성하는 것입니다 (Windows 구성 및 하드웨어 시계 시간 만 그대로 둘 수 있음).

이렇게하려면 /etc/default/rcS루트로 편집 하여 다음이 있는지 확인하십시오 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

(그러나 그것은 매우 일반적입니다. 나는 귀하의 상황에 적용하기 위해이 답변을 작성했습니다. 이는 다소 일반적인 문제입니다.)


나처럼 우분투 릴리스에서 다음 릴리스로 업그레이드 할 때도이 문제가 발생할 수 있습니다. 위의 수정을 수행 한 다음이 답변과 같이 시계를 수동으로 동기화하는 것이 좋습니다 (systemd와 함께 작동하도록 조정) : askubuntu.com/a/254846/139735
starbeamrainbowlabs

이 답변은 허용되는 답변이어야합니다. Windows를 설치하고 제대로 실행 한 다음 Ubuntu를 설치하면 시계가 사라졌습니다. 구성을 위반 한 Linux가 추가 된 경우 Windows 설정을 수정해야하는 이유를 알 수 없습니다.
Przemek D

13

/ etc / rcS 수정 프로그램이 Win7 / Ubuntu 14.04x64 설치에서 작동하지 않았거나 시계 GUI를 통해 수정되지 않았습니다. 문제의 근본은 BIOS 시간 VS UTC 시간이고 Windows는 UTC 사용과 관련하여 엉덩이에 통증이 있기 때문에 UTC + 0을 사용하는 맵에서 지점을 선택했습니다 (BIOS와 UTC 시간 사이에 변경 없음). .

레이캬비크 (아이슬란드의 수도)로 위치를 변경하십시오. 짜잔! Ubuntu 시간이 BIOS 시간과 일치하도록 변경됩니다.


하하! 대박. : DI는 실제로 내 위치를 신경 쓰지 않습니다. 이 2 초 수정되었습니다. 고마워
Pale Blue Dot
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.