듀얼부트에서 윈도우 시간이 9시간 틀어질 때 해결법

우분투 같은 리눅스를 쓰다가 윈도우로 재부팅하면 작업 표시줄 시계가 정확히 9시간 틀어져 있는 경우가 있습니다. 반대로 윈도우에서 시간을 맞추고 리눅스로 가면 리눅스 쪽이 틀어집니다. 고장이 아니라 두 운영체제가 메인보드 시계(RTC)를 다르게 해석해서 생기는 문제입니다.

왜 9시간인가

운영체제메인보드 시계를 보는 방식
윈도우 (기본값)현지 시간(한국 시간)으로 저장되어 있다고 봄
리눅스 (기본값)UTC(세계 표준시)로 저장되어 있다고 봄

한국은 UTC+9이므로, 리눅스가 UTC 기준으로 시계를 써 두면 윈도우는 그 값을 한국 시간으로 읽어 9시간 이른 시간으로 표시합니다. 해결은 둘 중 한쪽을 다른 쪽 방식에 맞추면 됩니다.

방법 1. 윈도우를 UTC 방식으로 바꾸기 (권장)

리눅스 쪽 기본 동작을 건드리지 않아 서머타임이 있는 지역에서도 안전하고, 리눅스 배포판 문서에서도 주로 권장하는 방식입니다. 윈도우에서 관리자 권한 명령 프롬프트를 열고 실행합니다.

reg add "HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /t REG_QWORD /d 1 /f

64비트 윈도우는 REG_QWORD, 32비트 윈도우는 REG_DWORD를 사용합니다. 재부팅한 뒤 설정 → 시간 및 언어 → 지금 동기화를 한 번 눌러 시간을 맞추면 이후로는 양쪽 모두 정상으로 유지됩니다.

방법 2. 리눅스를 현지 시간 방식으로 바꾸기

윈도우 레지스트리를 건드리기 싫다면 리눅스 터미널에서 한 줄로 바꿀 수 있습니다.

timedatectl set-local-rtc 1 --adjust-system-clock

# 적용 확인: "RTC in local TZ: yes" 가 보이면 완료
timedatectl

이 설정을 하면 timedatectl이 “RTC를 현지 시간으로 쓰는 것은 권장하지 않는다”는 경고를 표시하는데, 한국처럼 서머타임이 없는 지역에서는 실사용상 문제가 거의 없습니다. 되돌릴 때는 timedatectl set-local-rtc 0을 실행합니다.

둘 중 무엇을 고를까

상황추천
리눅스를 주로 쓰고 윈도우는 가끔방법 1 (윈도우 UTC)
회사 PC 등 윈도우 레지스트리 변경이 부담방법 2 (리눅스 local)
여러 PC를 같은 방식으로 관리방법 1로 통일하는 편이 관리가 쉬움

두 방법을 동시에 적용하면 다시 9시간이 어긋납니다. 반드시 한쪽만 바꾸세요.

그래도 시간이 틀어진다면

  • 몇 분씩만 틀어짐: 메인보드 CMOS 배터리(CR2032) 수명이 다한 경우가 많습니다. 전원을 완전히 뽑았다 켰을 때 날짜가 초기화되면 교체 시점입니다.
  • 시간대 자체가 다름: 윈도우 시간대가 서울(UTC+09:00)인지, 리눅스에서 timedatectl set-timezone Asia/Seoul로 맞춰져 있는지 확인합니다.
  • 동기화 실패: 회사 방화벽이 NTP(UDP 123)를 막고 있으면 자동 동기화가 되지 않습니다.

댓글 남기기