描述:
三个月前也是给电脑上开了个ubuntu,一开始那两天一直在折腾新系统,差不多过了一周,切换回win11系统过后,用ssh连接服务器反复报错,一番追寻之下,才发现系统时间有点奇奇怪怪,别说,还真是这个毛病。
原因:
不同的系统使用的时间不同,有的使用的地方时,有的却是世界协调时,这就会导致不同的时间管理系统在启动时的时间发生错误变化
解决方案:
- 手动同步
- 打开设置找到时间,手动同步时间
- 添加任务计划程序,开机自动同步(前提:写好同步时间的脚本文件)
此方法治标不治本- 打开任务计划程序:按
Win + R
打开运行窗口,输入taskschd.msc
,然后按回车。这将打开任务计划程序。
- 创建基本任务:
- 在任务计划程序中,选择 “创建基本任务…”。
- 为任务命名,例如 “Sync_time”,然后点击 “下一步”。
- 设置触发器:
- 在触发器选择中,选择 “当计算机启动时”,然后点击 “下一步”。
- 设置操作:
- 在操作选择中,选择 “启动程序”,然后点击 “下一步”。
- 在 “程序/脚本” 字段中,输入你创建的
.bat
文件的路径,例如C:\Path\To\Sync_time.bat
。
- 以管理员身份运行:
- 在 “创建基本任务向导” 中,点击 “下一步” 完成任务创建后。
- 找到刚创建的任务,在任务计划程序中右键点击该任务,选择 “属性”。
- 在 “常规” 选项卡中,勾选 “使用最高权限运行”。
- 完成任务设置:
- 点击 “确定” 保存更改。你可能需要输入管理员密码以确认更改。
- 打开任务计划程序:按
- 从根本上解决问题
究其原因,还是因为两个系统的时间管理方式不同,但是bios时间是不变的,在Linux系统下bios就是世界协调时GMT+0,此时切换回win系统时,它会使用地方时,也就是GMT+8,从而导致win系统的时间出错,所以最终最好的解决方法就是在Linux系统下修改时间管理方式,把当前时间也设置为GMT+8,具体操作如下:
在Linux系统下打开终端,输入:
sudo vim /etc/default/rcS
将utc=yes改成no就可以了
tips:
方法二可以设置任何脚本文件到开机启动项中,包括任何不安全的脚本,所以应当注意脚本文件位置的安全性