Windows 대 Linux 현지 시간?


40

Windows와 함께 듀얼 부트에서 Linux를 사용하기 시작한 이래로 컴퓨터를 재부팅 할 때 다른 OS의 시간이 잘못되었다는 것을 알았습니다. 예를 들어 Linux에서는 12:00, 다시 부팅하고 Windows에서는 18:00 BIOS를 확인할 때 RTC는 18:00로 설정되었습니다. 시간대는 -06 : 00 CST이므로 Linux는 RTC 시간을 UTC로 설정하고 시간대를 기준으로 시간을 다시 계산한다고 가정하지만 Windows는 RTC를 현지 시간으로 설정합니다. 둘 다 동일한 NTP 서버를 사용하여 시간을 동기화합니다.

문제는 어느 쪽이 옳은 일을하고 있는가하는 것입니다. 둘 다 올바른 시간을 갖기 위해 시간대 설정을 UTC로 설정해야하는 것은 무엇입니까?



부차적 인 질문 : 이전 버전의 Windows 및 Linux에서는 왜 이런 일이 발생하지 않았습니까?
golimar

답변:


16

둘 다 잘못은 아니지만 UTC를 사용하는 것이 더 좋습니다. RTC에는 시간대가 없습니다. 멍청한 벽시계 일뿐입니다. 현지 시간대가 DST를 준수하는 경우 (많은 풍미가 있고 규칙이 임의로 변경됨) 일년에 두 번이면 가서 변경해야합니다. OS가 당신을 위해 그것을 할 것이지만, RTC가 UTC라면 OS는 UTC-> 로컬 번역을 수행합니다. 왜 시계와 바이올린을 사용해야합니까? 또한 DST "폴백 (fall back)"전환 중에 RTC는 몇 시인 지 알려줄 수 없습니다! 오전 1시 30 분 CDT 또는 CST입니까?

분명히 Windows 8은 RTC에 UTC지원합니다 . Windows 7도 그랬지만 문제가있었습니다 .

사람들이 BIOS 시계를 수동으로 설정했을 때 이에 대한 더 나은 논쟁이 있었지만 지금은 서버 기반 시간이 훨씬 더 널리 퍼져 있습니다.


68

나는 최근에 같은 문제에 직면했으며 이것이 내가 고친 방법입니다. 두 OS 모두에서 약간의 변경이 필요합니다.

나는 리눅스를 먼저 시작했다. 다음 명령을 루트로 실행하십시오.

ntpdate pool.ntp.org

올바르게 설정하지 않으면 시간이 업데이트됩니다.

이제이 명령으로 하드웨어 시계를 UTC로 설정하십시오.

hwclock --systohc --utc

출처

이제 Windows로 부팅하고 다음 레지스트리를 추가하십시오. 메모장의 아래 코드를 사용하여 간단히 .reg 파일을 만드십시오. 저장하고 실행하십시오.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=dword:00000001

출처

다음 부팅부터 두 OS 모두 정확한 시간을 표시합니다.


6
구체적인 지침이있는 최고의 문서화 된 답변! +1.
agtoever

1
레지스트리 조정이 적용되는 Windows 버전을 포함해야합니다.
Tanath

2
Windows는 현지 시간 이외의 시간을 유지하는 시스템 시계를 이해하는 능력을 언제 얻었습니까?
Mark

1
이 레지스트리 조정은 Windows XP / Vista / 7 / 8 / 8.1에서 작동합니다. @Tanath
Ayan

3
@Mark Windows XP에서.
Michael Hampton

4

일반적인 경우는 Linux 시스템에 RTC (실시간 시계)가 UTC로 설정되어 있고 현지 시간으로의 변환은 표준 시간대 데이터 및 TZ환경 변수 에 따라 사용자 공간에서 수행됩니다 . 이는 시스템 RTC가 단조롭게 증가하고 나중에 모든 시간대 마법을 적용하여 향후 파일에 일반적으로 타임 스탬프가 없는지 확인하기 때문에 "나쁘지 않습니다"(최소한 1 년에 한 번 이상 발생할 수 있음). 시스템 RTC는 현지 시간으로 설정됩니다. Ken이 지적했듯이 RTC 자체에는 시간대 개념이 없으며 시간 만 있습니다.

알다시피, 일반적으로 RTC가 현지 시간 으로 설정 될 것으로 예상되는 Microsoft 운영 체제 제품군과 같이 정상적으로 작동하지 않는 시스템으로 이중 부팅 할 때 문제가 발생합니다 . 예, Windows NT (실제로 NT 4로 돌아가는 것으로 생각합니다) RTC를 UTC로 설정 한 상태에서 작동 할 수 있지만 적어도 마지막으로 실제로 지원되는 구성이 아니며 여러 가지주의 사항이 있음을 알았습니다.

귀하의 경우 쉬운 해결책은 아마도 RTC를 현지 시간으로 설정하고 Linux 시스템에 RTC가 현지 시간으로 설정되어 있음을 알리는 것입니다 (정확한 메커니즘은 배포 및 릴리스 버전에 따라 다르지만 분명히 우분투 UTC=no에서 설정 한 / etc / default / rcS ), 운영 체제를 구성하여 운영 체제 중 하나만 (가급적 가장 많이 사용 하는 운영 체제) 구성하십시오. 일광 절약 시간제 변경 사항을 처리합니다 . 그리고 단일 사용자 시스템에서 관리 할 수있는 단점이 있습니다.

또한 Windows 측에서 UTC를 표준 시간대로 사용하도록 설정하고 Windows에서 자동 일광 절약 시간제 변경을 끄고 Linux에서 RTC를 UTC로 설정하고 해당 관행에 따라 변환 된 시간을 표시하도록 설정할 수 있습니다. 그러나 이로 인해 Windows에 날짜와 시간이 UTC로 표시되어 실제로 원하는 것이 아닐 수 있습니다. UTC에서 최대 3 시간을 쉬는 유럽인에게는 큰 문제는 아니지만 미국에서는 더 문제가 될 수 있습니다. Windows를 가끔씩 만 사용하고 기본 OS가 Linux 또는 다른 RTC-UTC 인식 OS 인 경우에는 더욱 현실적인 옵션입니다.


"실제로 지원되는 구성이 아니며 많은 경고가있었습니다."에 대한 정보가 있습니까?
Random832

@ Random832 내가 그것을 찾을 수 있는지 보자. 이전에 본 적이 있지만 적어도 빠른 Google 검색으로는 찾을 수 없습니다.
CVn

2

이중 부팅으로 Windows와 Ubuntu간에 시간 충돌이 발생하면 Ubuntu는 기본적으로 하드웨어 시계에 시간을 UTC로 저장하고 Microsoft Windows는 시간을 현지 시간으로 저장하므로 Ubuntu와 Windows간에 시간이 충돌하기 때문에 발생합니다.

이 Ubuntu 안내서에 설명 된대로 현지 시간을 사용하도록 Linux 시스템을 설정해야합니다 .


현지 시간을 사용하고 있으며 실제로 시간을 UTC로 저장한다는 것을 알고 있습니다 (적어도 질문을 읽은 경우).이 문제를 해결하기 위해 무엇을 할 수 있는지 알고 있습니다. 다른 것을 바꾸십시오.
arielnmz

기본적으로 Windows는 현지 시간을 사용하고 Mac OS는 UTC를 사용하며 UNIX와 유사한 운영 체제는 다양합니다. 일반적으로 UTC 표준을 사용하는 OS는 CMOS (하드웨어 시계) 시간을 UTC 시간 (GMT, 그리니치 시간)으로 간주하고 시간대에 따라 부팅시 시스템 시간을 설정하는 동안 조정합니다.

다시 말하지만, 나는 어느 OS가 올바르게 작동하는지 알고 싶습니다. 예를 들어 Windows 시간대를 UTC로 설정하고 이것을 수정하거나 다른 방법으로 해결할 수 있습니다.
arielnmz

@MagomedSegaIsmailov Mac OS는 BIOS RTC를 사용하는 시스템에서 실행됩니까? 나는 EFI가 온전함을 제공했다고 가정했을 것이다.
Random832

0

나는 Windows 10을 이중 부팅하고 OS를 리믹스하고 있으며 Windows 용 가이드 만 따라 두 가지 모두 올바르게 작동했습니다. 명령 줄을 사용하여 스크립트를 더 쉽게 추가했습니다.


답변으로 "감사"를 추가하지 마십시오. 사이트에 시간을 투자 하면 원하는 답변을 찬성 할 수있는 충분한 권한 을 얻게됩니다 . 이는 수퍼 유저의 말입니다. 감사합니다.
DavidPostill
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.