红联Linux门户
Linux帮助

linux系统时间设置导致系统起不来

发布时间:2016-01-30 10:43:17来源:linux网站作者:sinc00

最近在linux系统上用date命令设置,发现改时间之后重启系统起不来。

原因为,在重新启动的时候系统发现文件系统挂载时间的错误,出于保护会进行文件系统的检测。


如何修正这个问题,尝试改时间之后,使用touch命令修改所有文件的时间:

find / * | xargs touch

重启之后,问题依旧。

最后修改 /etc/fstab文件,把系统挂载项的最后一个数字改为0. 这样试了几次,问题没有出现。

但是将系统时间改为2038,系统还是起不来,得去重新设置BIOS时间。


这其实是另外一个问题。以下为引用:

如果你想知道什么是2038问题的话,你需要知道一些技术上的东西。这个bug是由用来写linux的c语言引起的,c中用time_t来代表时间和日期,time_t是整数(int)型的,它用来记载从1970年1月1日到目前所经历的秒数。

这个数据是以32位存储的,第一位是符号位,其余的31位用来存数字,而这31位数字可以存储的最大数字为2147483647

从1970年开始计算,这31位的数字可以表示的秒数最多可以用到2038年,当时间到达这个数字的时候系统将会出现问题,到时候数字不会自动增加,而是会变为-2147483647,而这串数字代表的时间是1901年12月13号,这会导致很多的程序出现问题,甚至崩溃。

所以只有等系统升级到64位。


本文永久更新地址:http://www.linuxdiyf.com/linux/17784.html