2017-11-19

Linux 與 Windows 之時間設定不同的解決方式

Linux 和 Windows 對硬體時間的認定不同,Windows 是將 BIOS 時間當成是本地時間,而 Linux 則是當成 UTC+0 時間,所以如果同時灌雙系統的話,在切換時系統時就會發現時間差了 8 小時左右,為了解決這個現象,不外乎調整 Linux 設定使之使用本地時間,或者調整 Windows 改用 UTC 時間。

解法一:讓 Linux 使用本地時間
sudo timedatectl set-local-rtc 1 --adjust-system-clock
命令最後面的 1 表示 YES,要使用本地時間;如果改為 0 就表示 NO,要使用 UTC 時間。

檢查是否生效,如果生效就會顯示「RTC in local TZ: yes」
timedatectl | grep local


解法二:讓 Windows 使用 UTC 時間
  1. 先在 Linux 裡設定使用 UTC 時間
  2. sudo timedatectl set-local-rtc 0
  3. 修改 Windows 登錄機碼
    1. 找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation 
    2. 新增一個 DWORD(32-位元) 值,並命名為「RealTimeIsUniversal」,將其值設為 1
  4. 或者是在命令提示字元(CMD) 裡輸入以下指令
  5. Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
  6. 如果是 64 位元 Windows 則將其中的 DWORD 改為 QWORD
  7. Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 1
  8. 重開機後即完成設定

參考資料:
How to Fix Time Differences in Ubuntu 16.04 & Windows 10 Dual Boot
http://ubuntuhandbook.org/index.php/2016/05/time-differences-ubuntu-1604-windows-10/

沒有留言:

張貼留言

您好:

感謝您來訪這個小站,因為工作繁忙的關係,我並不會時常查看留言,所以可能會很晚才回覆,請見諒。