Linux

윈도우 리눅스 듀얼부팅 시간 어긋남 해결: RTC·UTC 설정 통일 방법

바른정보블로그 2026. 8. 16. 04:18
윈도우 리눅스 듀얼부팅 시간 어긋남 RTC UTC 설정 통일 해결 대표 이미지

윈도우와 리눅스를 듀얼부팅으로 쓰다 보면 운영체제를 바꿔 부팅할 때마다 시계가 어긋나는 문제를 겪습니다. 한국 시간대라면 정확히 9시간 차이가 나는 것이 특징입니다. 원인은 고장이 아니라 두 운영체제가 메인보드의 하드웨어 시계(RTC)를 서로 다르게 해석하기 때문입니다. 윈도우는 RTC를 로컬 시간으로, 리눅스는 기본적으로 UTC(협정세계시)로 읽습니다. 이 글은 두 가지 해결 방법을 장단점과 함께 정리합니다.

빠른 결론

  • 가장 간단한 방법은 리눅스 터미널에서 sudo timedatectl set-local-rtc 1 한 줄을 실행하는 것입니다.
  • 다만 systemd 공식 문서는 로컬 RTC 방식이 완전히 지원되지 않는다고 경고하므로, 장기적으로는 윈도우를 UTC로 바꾸는 레지스트리 방법(비공식)도 선택지입니다.
  • 두 방법 중 하나만 적용해야 합니다. 둘 다 적용하면 다시 어긋납니다.

두 가지 해결 방법 비교

구분방법 A: 리눅스를 로컬 시간으로방법 B: 윈도우를 UTC로
변경 위치리눅스 (명령 1줄)윈도우 (레지스트리)
명령·값timedatectl set-local-rtc 1RealTimeIsUniversal = 1 (DWORD)
난이도쉬움레지스트리 수정 필요
공식 지원systemd 공식 명령이지만 문서에서 비권장 경고MS 공식 가이드 없음(비공식), 커뮤니티 표준
알려진 단점시간대 변경·서머타임 처리 문제 경고윈도우 인터넷 시간 동기화와 호환 문제 보고, 일부 프로그램이 로컬 RTC를 가정

방법 A: 리눅스에서 RTC를 로컬 시간으로 (권장 시작점)

  1. 리눅스로 부팅해 터미널을 엽니다.
  2. timedatectl을 입력해 현재 상태를 확인합니다. RTC in local TZ: no라면 리눅스가 RTC를 UTC로 읽고 있다는 뜻입니다.
  3. sudo timedatectl set-local-rtc 1을 실행합니다.
  4. 다시 timedatectl을 입력해 RTC in local TZ: yes로 바뀌었는지 확인합니다. 이때 로컬 RTC는 완전히 지원되지 않는다는 경고문이 함께 출력되는 것이 정상입니다.
  5. 윈도우로 재부팅해 시간이 맞는지 확인합니다. 되돌리려면 sudo timedatectl set-local-rtc 0을 실행합니다.

방법 B: 윈도우에서 RTC를 UTC로 (비공식)

이 방법은 Microsoft 공식 가이드가 없는 커뮤니티 검증 방법입니다. ArchWiki 등 신뢰도 높은 문서에서 표준으로 안내하지만, 적용은 본인 판단으로 진행하세요.

  1. 윈도우에서 Win+Rregedit 입력 → [확인]으로 레지스트리 편집기를 엽니다.
  2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation 경로로 이동합니다.
  3. 오른쪽 빈 공간에서 마우스 오른쪽 버튼 → [새로 만들기] → [DWORD(32비트) 값]을 선택하고 이름을 RealTimeIsUniversal로 입력합니다. 64비트 윈도우에서도 DWORD(32비트)를 사용합니다.
  4. 만든 값을 두 번 클릭해 값 데이터를 1로 설정하고 [확인]을 누른 뒤 재부팅합니다.
  5. 리눅스 쪽은 기본값(UTC)을 그대로 두면 됩니다. 방법 A를 이미 적용했다면 set-local-rtc 0으로 되돌리세요.

주의사항

  • 레지스트리를 수정하기 전 [파일] → [내보내기]로 해당 키를 백업해 두세요.
  • 방법 B 적용 시 윈도우 자체 인터넷 시간 동기화 기능과 호환 문제가 보고돼 있고, Microsoft 지원 문서에도 이 값이 켜진 상태에서는 제어판에서 시간을 수동 변경할 수 없다는 문제가 기록돼 있습니다.
  • 한국은 서머타임이 없어 방법 A의 부작용이 상대적으로 적지만, 해외 시간대로 옮겨 쓰는 노트북이라면 방법 B가 더 안정적일 수 있습니다.

그래도 안 맞을 때 추가 점검

  • 윈도우: [설정] → [시간 및 언어] → [날짜 및 시간]에서 [자동으로 시간 설정]이 켜져 있는지 확인합니다.
  • 리눅스: timedatectl 출력에서 System clock synchronized: yesNTP service: active를 확인합니다.
  • 시간이 몇 분 이상 어긋난 채로 두면 HTTPS 인증서 오류나 로그인 실패가 생길 수 있으니 먼저 시간부터 맞추세요.

FAQ

Q1. 두 방법 중 어느 쪽이 좋은가요?
리눅스를 가끔 쓰는 정도라면 명령 한 줄인 방법 A가 간단합니다. 두 OS를 모두 오래 쓸 계획이고 레지스트리 수정이 부담스럽지 않다면, RTC를 UTC로 통일하는 방법 B가 구조적으로 더 깔끔하다는 것이 ArchWiki 등의 권장입니다.
Q2. 왜 윈도우는 로컬 시간을 쓰나요?
MS-DOS·Windows 3.1 시절과의 하위 호환성 때문이라고 Microsoft 개발자 블로그에서 설명합니다. BIOS 화면에서 사용자가 보는 시간과 실제 시간이 같도록 유지하려는 목적도 있습니다.

Q3. 듀얼부팅을 지우면 원래대로 돌려야 하나요?
네, 정리하는 것이 좋습니다. 방법 A는 sudo timedatectl set-local-rtc 0, 방법 B는 RealTimeIsUniversal 값을 삭제하거나 0으로 바꾸고 재부팅하면 기본 상태로 돌아갑니다.

함께 보면 좋은 글

출처