zoukankan      html  css  js  c++  java
  • 一招彻底解决——双系统下windows时间错误显示

    双系统下windows与ubuntu系统时间不同步

    我的笔电是windows系统,工作需要安装了ubuntu,于是成为双系统,于是从18年我就遇到了装了ubuntu系统之后windows时间显示错误的。这种情况下我会按照学长给出的帮助文档来输入命令,之后可以解决问题,但是后来重装系统之后会再次遇到这样的错误,忘记了当时输入的命令是啥,之后再去找就会感到非常的麻烦,那么,这个时候我决定,如果能够自己搞清楚问题的来龙去脉就好了,之后遇到这样的问题就可以自己漂亮地解决。

    问题原因

    查阅了这篇文章:link
    原因就是,两个操作系统对时间的管理方式不一样,在linux下,他会默认把BIOS时间(也就是硬件时间)当成GMT+0时间,是世界标准时间,那么我们设置的上海也就是东八区时间,计算起来就是GMT+8,那么显示的时间就是BIOS+8
    当你把系统切换到windows,win会认为BIOS时间就是本地时间,那么这个BIOS时间已经被ubuntu设置成了伦敦时间,所以你的windows刚进去那会儿,时间会提早八个小时(我指的早,在这里应该被理解成数字上的小)。但是如果你设置了网络同步时间,那么过一段时间,windows的时间显示会自动恢复为正确的时间。
    至于,硬件时间在windows下会不会被改,(也就是往后调8个小时),导致回到ubuntu之后会变成(8+8)在往后调的基础上再加上八个小时,我没有考证,因为我印象中我的ubuntu时间一直都是对的。

    由于Window和linux两个系统设定时间时以主板CMOS内的时间为依据,但却有不同的时间计算标准。所以导致了系统时间的纠纷问题。

    上面这句话,总结了原因。

    windows/linux处理时间和时区

    win直接将cmos时间认定为当前显示时间(本地时间),也不会去做时区的转换。这样如果调整系统时区的话,根据时区计算时间之后也会修改CMOS时间,设置保存之后,cmos的时间就被改变了,这是表示硬件上的时间被修改了。
    linux,以当前的住吧你的时间作为伦敦时间(零时区),再根据系统设置的时区来最终确定当前系统时间。

    解决方法

    推荐在ubuntu下进行操作,也就是让ubuntu按照win的方式管理时间,禁止使用世界协调时间。
    调出终端,输入

    sudo vim /etc/default/rcS
    

    修改文件中UTC=yesUTC=no

    这个是从根源上的解决。解决办法其实很多,但是满足需求就够了。

  • 相关阅读:
    关于栈部分知识点
    面向对象--四则运算
    转型第一步
    输入输出文件版本——计算题
    作业二
    2017《面向对象程序设计》课程作业一
    第四次作业
    light oj 1079
    Light oj 1080
    Codeforces 486B OR in Matrix【水题】
  • 原文地址:https://www.cnblogs.com/koukouStar/p/14534984.html
Copyright © 2011-2022 走看看