虽然这个问题涉及到一个embedded式主板,serverfault在我看来是最好的stackexchange论坛。 我和我的同事们几个月来一直在调查这个怪异的Linux启动问题,而且我们有点被卡住了。 任何build议表示赞赏。
我们有一个Portwell主板(带超线程的Atom单核),运行Centos 6.4。 一位客户回来给我们带来了一个非常奇怪的启动问题,我们终于可以复制。
一切工作正常,如果你这样做:
但是,如果你执行以下操作,通常作为启动正常部分运行的fsck会给我们一个错误:
我们得到的错误如下图所示:
我们可以按ctrl-D并重新启动,只要我们想要的,错误将不断回来。 但请注意,文件系统没有任何问题。
我们可以得到这样的错误消失:
我们的假设截至昨天,硬盘可能会被降级,但不会closures,随着时间的推移,磁盘caching可能会降级。 但是,结果是错误的,因为以下过程也使问题消失:
这款主板没有电池,所以在我们第一次开机的时候,总会出现错误的date,2010年1月份的时候会出现这个错误。所以在平时的情况下,date是错误的,但是OS正常启动。 当操作系统启动时,date由NTP正确设置。 如果我们把它插入但是closures了12个小时,date又被重新设置了,但由于某种原因,fsck 现在关心date,并且想要这么做一个手动的fsck,因为它认为差异是一个主要问题。 如果我们手动将date更改为将来,则启动正常。 如果我们把它改回过去,它又会出错。 但是,如果我们断开电源足够长的时间,并启动,尽pipedate是错误的,我们没有错误。
任何人都可以帮助我们通过fsck可能正在考虑的各种事情来进行推理,这样有时会由于date错误而决定错误,但是如果系统date未来,决不会这样做?
如果我们可以在不久的将来将BIOS编程为默认的某个date,那么这可能会解决这个问题,但是了解它为什么会发生这一点很重要,因为我们不仅仅是希望粘在一个bandaid上。
感谢您的任何build议。
我在这里find了答案: https : //unix.stackexchange.com/questions/8409/how-can-i-avoid-run-fsck-manually-messages-while-allowing-experimenting-with-s
显然,由于系统时钟是“断开的”,我们必须在broken_system_clock = true的[options]部分放置broken_system_clock = true 。