zoukankan      html  css  js  c++  java
  • 双系统时间同步

    问题描述


    不管是在Windows还是Ubuntu中设置了正确时间,在切换操作系统的时候,还是会出现时间不同步的情况

    原因是Windows和Ubuntu在默认情况下看待硬件时间(主板上的BOIS显示的时间)的方式不一样

    • Windows把系统硬件时间当作本地时间(Local time),即操作系统中显示的时间跟BIOS中显示的时间是一样的

    • Linux/Unix/Mac把硬件时间当作UTC(Universal Time Coordinated,协调世界时),操作系统中显示的时间是硬件时间经过换算得来

    假如你的Ubuntu和Windows中设置的时区都为北京时间东八区,而你在Ubuntu中把当前系统时间更改为9:00AM。则此时硬件中存储的实际时间是1:00AM。这时你重启进入Windows后,你会发现 windows系统中显示的时间是1:00AM,比Ubuntu中慢了八个小时。同理,你在 Windows中更改或用网络同步了系统时间后,再到Ubuntu中去看,系统就会快了8小时

    更改Ubuntu


    转为Local Time

    如果是Ubuntu16.04之前的版本,只需要将Ubuntu的UTC时间切换成Local Time

    可以直接编辑配置文件,将/etc/default/rcS文件中的UTC=yes改成UTC=no

    sudo gedit /etc/default/rcS
    
    • 1

    如果想要快速修改配置文件

    sudo sed -i 's/UTC=no/UTC=yes/' /etc/default/rcS
    
    • 1

    使用ntpdate校准时间

    如果是Ubuntu16.04,那么配置文件中可能没有UTC=yes,这时候可以用ntpdate校准时间

    安装ntpdate

    sudo apt-get install ntpdate
    
    • 1

    校准时间

    sudo ntpdate time.windows.com
    
    • 1

    如果你是安装的Windows+Ubuntu双系统,需要将时间更新到硬件上,以免Windows的时间不对

    sudo hwclock --localtime --systohc
    
    • 1

    更改Windows


    如果要让Windows把硬件时间当作UTC,在CMD窗口(快捷键Win+R,输入cmd,回车)中输入如下命令,可以快速编辑注册表

    Reg add HKLMSYSTEMCurrentControlSetControlTimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
    
    • 1

    或者直接编辑注册表,打开注册表编辑器(快捷键Win+R,输入regedit,回车),并找到一下目录位置

    HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/TimeZoneInformation/
    
    • 1

    添加一项类型为REG_DWORD的键值,命名为RealTimeIsUniversal,值为1,重启后时间即回复正常

  • 相关阅读:
    Java的Socket通信----通过 Socket 实现 TCP 编程之多线程demo(2)
    MySQL 数据备份与还原
    java实现时钟方法汇总
    java实现二叉树demo
    java实现心型、99乘法demo
    显示本月日历demo
    打开图片并显示在面板上demo
    ArraySort--冒泡排序、选择排序、插入排序工具类demo
    类的实例化顺序
    StringsUtil字符串工具类---灵活截取
  • 原文地址:https://www.cnblogs.com/hichens/p/13297532.html
Copyright © 2011-2022 走看看