Ubuntu 启动时强制 fsck 失败

Ubuntu 启动时强制 fsck 失败

fsck 在读取块 24251xx(尝试从文件系统读取块导致读取时间过短)并从扫描中获取下一个 inode 时出现大量错误。忽略错误 (y)?

强制重写 (y)?

有时会混入其他输出:

[8222.00061] ata1.00:异常 Emask 0x0 .一堆十六进制.frozen [8222.00124] ata1.00 cmd ..一堆十六进制.. in [8222.00264] res ..一堆十六进制..(超时) [8222.00124] ata1.00:状态:{DRDY}

发生了什么事?我该怎么办?

更新:我发现了第二部分。这是Libata 错误消息来自内核,表明驱动器没有及时响应命令。这条建议应该会有所帮助 [我通过 fsck 后会告诉你情况如何]

具体来说,可以通过 acpi=off 或 'noapic' 或 pci=nomsi 或 pci=biosirq 解决超时问题。

答案1

最有可能的是你的硬盘已经坏了...

获取一个 Live CD(Ubuntu Install/Live CD 就可以)。

如果该磁盘上有任何重要数据且未备份,以只读方式安装磁盘并从磁盘上复制所有内容。

dd然后,尝试使用或制作该分区的映像dd_rescue,将其复制到另一个分区或作为文件复制到其他地方(如果没有空间,请将映像制作到 /dev/null),以便查看磁盘是否有任何物理损坏。

如果在使用 复制文件时出现介质错误dd,请对新副本执行 fsck 操作(挂载回送或使用真实分区,如果使用 /dev/null,则必须使用真实磁盘重新开始)并复制所有仍可复制的数据。然后尝试调查磁盘制造商以及它是否仍有保修。如果是,请继续使用制造商的测试工具……如果没有,请使用 SMART 工具检查是否还有任何可重新分配的扇区,如果有,请尝试使用 将零写入损坏的扇区dd(这将重新分配它们)。如果您没有任何运气,您将不得不尝试在损坏区域周围进行分区;或使用 的-c选项mkfs.ext[23]

如果没有介质错误,则必须重新格式化磁盘并再次复制数据。通常 ext3(我猜是......)比其他文件系统要强大得多,所以我真的不认为这仅仅是文件系统错误......

答案2

如果尝试 fsck 时数字一致,则说明您有一个坏扇区。不幸的是,您将丢失存储在该 inode 中的任何文件。

检查智能状态,它通常会告诉您磁盘有多少坏块。希望只有几个。如果它告诉您磁盘出现故障,我希望您有备份。

运行fsck -c /dev/WHATEVER应该会进行坏块扫描,然后告诉您丢失了什么(或者需要从备份中恢复)。

相关内容