我有一个非常奇怪的错误消息,导致一个完整的系统崩溃,并重新安装文件系统为只读。 这一切都是从几年前开始的,当时我安装了一个不好的$ 2 ebay PCI调制解调器,每个月出现内核恐慌,产量很大。 一个新的硬盘和一个dist-upgrade后来我得到了这个错误是非常零星的,而且实际上打印的东西很小。 (这对我来说依然是垃圾 – 即使彻底的谷歌search)
启动进入Debian的这个系统已经被“诅咒”了,我正在考虑捣毁计算机并获得一个新的系统……但是因为这只是一个Linux问题,它必须是软件!
基本上这是(我现在发布,因为我今天坠毁,但昨天):
EXT2-fs error (device hda1): ext2_check_page: bad entry in directory #5898285: rec_len is smaller than minimal - offset=0, inode=5898285, rec_len=8, name_len=1 Remounting filesystem read-only
到底是怎么回事? 然后,我必须把电源,重新启动,fsck -y,重新启动,然后通常稳定它一段时间。
如果能想出来,我会很开心。
预先感谢你们在这个问题上可以解决的问题。
– 编辑:
现在运行updatedb每次都会导致这个错误(两次),这意味着它是可重现和可追踪的! (现在只是为了解决它…)
是新电脑的时候了吗?
– 编辑:
resize2fs /dev/hda1
表示已经是正确数量的块了,而badblocks不会返回任何东西(难道不是吗?)
– 编辑:
是否有可能破坏我所有的新磁盘? 硬件问题 – 有人说它可能是磁盘控制器,或BIOS选项 – 有无论如何检查?
谢谢。
这确实听起来像文件系统的分区大小的想法是不同的实际分区大小是什么。 你说你安装了一个新的硬盘; 如果使用dd(或其他一些不涉及新磁盘上的mkfs的方法)将文件系统转移到新的硬盘上,可能会发生这种情况。
尝试从救援环境(在fsck -f
等)之后运行resize2fs /dev/hda1
,查看文件系统大小是否改变。 我猜这可能会,而你的问题会神秘地消失。
我当然认为你的磁盘包含坏扇区。 您可以使用badblocks进行validation( http://en.wikipedia.org/wiki/Badblocks )
男人坏块:
badblocks is used to search for bad blocks on a device (usually a disk partition). device is the special file corresponding to the device (eg /dev/hdc1). last-block is the last block to be checked; if it is not specified, the last block on the device is used as a default. start-block is an optional parameter specifying the starting block number for the test, which allows the testing to start in the middle of the disk. If it is not specified the first block on the disk is used as a default.
如果你真的要通过,你应该select-w选项(读写testing)2-3遍,但一定要备份你的数据,因为读/写testing正在破坏物理媒体上的数据。
注:您将被诱惑设置分机*忽略坏块,但我强烈build议更换驱动器。 默认情况下,驱动器通常包含一些坏块,但是如果操作系统要在已知的坏块上写入,内部逻辑会dynamic地重新定位数据。 这个搬迁区域是固定的,所以如果它满了,驱动器将停止搬迁部门。 这是你现在所处的地步,所以你可以预期行业会越来越快地出现问题。 如果您的磁盘上有任何保证,您应该更换磁盘,如果没有,请换一个新磁盘。
您还可以考虑设置RAID1(从新磁盘)并定期创build备份(对于未在主服务器/工作站附近存储的磁盘介质)
注2:虽然内存问题并不总是出现在严格相同的错误,你也可以运行一个memtest,以确保你的服务器没有得到“阿尔茨海默症”:)