Skip to content
TUWLAB.com
Linux

[Ubuntu] Windows와 멀티부팅 환경에서 시간이 맞지 않는 현상 해결하기

Posted 2017. 06. 06 Updated 2017. 06. 08 Views 884 Replies 0

저는 한 대의 PC에 Ubuntu와 Windows를 모두 설치해서 듀얼부팅 환경을 구성해놓고, 개발 작업을 하려면 Ubuntu로, 게임 등 엔터테인먼트(?)를 하려면 Windows로 부팅해서 사용하고 있습니다.

이렇게 사용한 지 약 5년 정도가 되었는데, 문득 자주 느끼는 점이 바로 Windows와 Linux는 서로 절대 섞일 수 없는 물과 기름과 같은 관계 같다는 것입니다. 한 가지 예시로, Windows 10이 얼마 전에 출시되었지만, 여전히 설치시 Grub Bootloader를 날려먹는 만행이 계속되고 있습니다.

이번 글에서 다룰 Time Sync가 깨지는 현상도 역시 이와 같은 맥락입니다. 듀얼부팅을 구성해서 사용해 보신 분은 한번쯤 경험해 보셨을텐데, Windows 혹은 Ubuntu 어느 한쪽으로 부팅해서 시계를 맞춘 뒤 재부팅해서 다른 OS로 부팅하면 시계가 맞지 않는 현상을 볼 수 있습니다.

저도 이 문제를 진작부터 인지는하고 있었지만, 귀차니즘때문에 그냥 매번 다시 맞춰서 사용하다가 모종의 사건(?)을 계기로 거슬림을 느끼고 확실히 처리(!)하고 가기로 하였습니다.

 

원인

이 상당히 거슬리는 시간이 흐트러지는 문제를 경험하고 자세히 관찰해 보셨다면, 그 흐트러진 시각이 항상 9시간씩 차이가 나는 것을 알 수 있을 것입니다. 9시간이라면.. 우리나라 시간대가 GMT+9니까, 이것과의 연관성까지 생각하셨다면 UTC와 Local Time간의 해석 문제라는 결론에 도달하실 수 있습니다.

즉, 이 '시각이 흐트러지는' 현상은 메인보드의 시스템 시계(RTC)에 저장된 시각을 Windows와 Ubuntu에서 해석하는 방식이 달라서 발생하는 문제입니다. Windows에서는 RTC를 Local Time으로 해석하고, Ubuntu에서는 UTC로 해석합니다. 따라서 Windows에서 시각을 맞추고 Ubuntu로 부팅하면 9시간 이후로 시계가 잘못 표시되어 나오게 됩니다.

 

해결 방법

두 개의 OS에서 시스템 시계를 해석하는 방식을 한 가지로 일치시켜 줌으로써 이 문제를 해결할 수 있습니다. 즉, (i) Ubuntu에서 시스템 시계를 Local Time으로 해석하도록 변경하거나, (ii) Windows에서 시스템 시계를 UTC로 해석하도록 변경하는 조치 중 한가지를 골라서 적용하면 간단히 문제를 해결할 수 있습니다.(둘 다 하면 안됩니다;;)

제가 두 가지 방법을 각각 시도해 본 결과, Windows에서 설정을 변경하면 추후 되돌리는 과정이 (레지스트리를 편집해야 하는 등..) 약간 복잡하므로, Ubuntu에서 Local Time으로 해석하도록 설정을 변경하는 (i)번 방법이 훨씬 깔끔한 것으로 보입니다.

Ubuntu 재단에서는 시스템 시각을 UTC로 해석하는 방식의 장점으로 시간대를 넘어다닐 때 시스템 시각을 변경하지 않아도 된다는 점을 제시하지만, 제가 볼 때는 그닥 큰 장점은 아닌 것 같습니다. RTC가 쓰기 횟수 제한이 있는 것도 아니니, 비행기 내려서 시계 한 번만 다시 맞춰주면 되는 것이지요. 하물며, 비행기타고 여러 시간대를 건너다니며 들고다닐 일 없는 데스크톱 PC라면...

▶ Ubuntu로 부팅해서 다음 절차를 수행합니다.

1. Terminal을 열고 다음 명령을 실행해서 RTC를 Local Time으로 해석하도록 변경합니다.

timedatectl set-local-rtc 1

2. 재부팅 후에도 변경사항이 적용될 수 있도록 /etc/default/rcS를 텍스트 에디터로 열고 UTC=no를 추가(혹은 수정) 합니다.

...
UTC=no
...

3. 시스템 시각을 다시 맞추고 재부팅합니다.

* 참조: http://www.webupd8.org/2014/09/dual-boot-fix-time-differences-between.html

서비스 선택
이용중인 SNS 버튼을 클릭하여 로그인 해주세요.
SNS 계정을 통해 로그인하면 회원가입 없이 댓글을 남길 수 있습니다.
댓글
?
Powered by SocialXE

List of Articles
번호 분류 제목 글쓴이 최근 수정일 조회 수
183 일반 Windows에서 포트 포워딩(Port Forwarding) 설정하기 - Netsh TUW 2018.02.03 317
182 Security [SSL/HTTPS] Let's Encrypt 무료 SSL 인증서 발급 및 설치, 관리하기 file TUW 2017.08.12 2392
181 Security [SSL/HTTPS] StartSSL/StartCom 사태와 Let's Encrypt로의 이전 file TUW 2017.08.16 872
» Linux [Ubuntu] Windows와 멀티부팅 환경에서 시간이 맞지 않는 현상 해결하기 TUW 2017.06.08 884
179 일반 [Windows] 다중 NIC(LAN카드) 환경에서 Routing Table 설정 - route 명령 file TUW 2017.06.15 2070
178 일반 [CMake 튜토리얼] 3. CMakeLists.txt 기본 패턴 TUW 2017.06.07 3448
177 일반 [CMake 튜토리얼] 2. CMakeLists.txt 주요 명령과 변수 정리 file TUW 2017.06.03 9939
176 일반 [CMake 튜토리얼] 1. CMake 소개와 예제, 내부 동작 원리 file TUW 2017.06.03 8558
175 일반 [Make 튜토리얼] Makefile 예제와 작성 방법 및 기본 패턴 2 file TUW 2018.03.03 8796
174 일반 [적외선 통신] IR 리모컨 신호 분석 file TUW 2017.06.03 4614
173 일반 [적외선 통신] IR 송수신 소자, IR 송수신 회로 file TUW 2017.06.03 4642
172 일반 GitLab 코드리뷰 페이지 탭 크기(Tab Size) 4칸으로 바꾸기 file TUW 2017.06.03 1145
171 일반 Linux에서 Code Composer Studio (CCS) - Ti ARM 개발환경 구축하기 file TUW 2017.06.03 1365
170 Nginx Nginx에서 자동 Redirection(301 Permanently moved) 설정하기 TUW 2016.06.26 1038
169 Nginx Nginx에서 SSL(HTTPS) 보안 서버 설정하기 (+약간의 이론) TUW 2016.06.26 2157
168 Security SSL Handshake 과정 TUW 2016.06.22 2250
목록
Board Pagination Prev 1 2 3 4 5 6 7 ... 12 Next
/ 12

Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5