昨天,我遇到了一个令人困惑的问题。在启动过程中,系统抱怨超级块上次挂载时间是将来的时间,并要求我进行 fsck。我已经使用 Debian Squeeze 几个月了,第一次遇到这个问题。我想知道这是否是 UTC 的问题。
我已经在 Google 上搜索过,但没有找到任何可以指导我的东西。
答案1
这种情况可能发生在硬件时钟死机时(通常确实会发生),或者在硬件时钟被意外地设置为过去的遥远未来时间时(后来又被重新设置)。前者比后者更常见。
确保机器的系统时钟和硬件时钟现在都准确(运行hwclock
),然后停机进行维护,关闭机器,拔掉电源(物理上将其与主电源断开),等待几分钟,然后重新启动。进入 BIOS 并检查那里的时间。如果它仍然正确,那么很可能是硬件时钟设置错误,并且可能不会再发生。如果现在错了(可能设置为 1988 年 1 月 1 日或其他“整数”时间),CMOS 电池已经没电了,您应该先更换它,然后通过 BIOS 正确设置时间并再次启动机器。随身携带备用 BIOS 电池(我们的 DC 工具箱中每个都有一盒)总是一个好主意。
答案2
...和如果时钟设置正确,只需运行fsck
。不要害怕。这是一个测试发行版 - 也许他们搞砸了一些东西。;)
答案3
在我的 Linux Mint Debian 版本 (LMDE) 上,使用上述 Cook Schelling 的答案,我以管理员身份编辑了 /etc/default/rcS,并将“FSCKFIX=no”更改为“FSCKFIX=yes”
当我重新启动时,问题就解决了。
现在,如果我在 BIOS 设置中更改时钟,系统将自动修复任何“超级块上次挂载时间是在未来”类型的问题。
答案4
我找到了解决方案。我编辑了 /etc/default/rcS:更改了以下行
UTC=no
到
UTC=yes
然后重启,发现OK了。
我记得 UTC 的默认设置是“是”,而我将其更改为“否”。这似乎是我的错误。但是,为什么它长期以来一直正常工作,直到最近才恢复正常?