文件系统一直处于只读状态

文件系统一直处于只读状态

工作一段时间后,我的文件系统 (EXT4) 变为只读。然后我使用实时 USB 启动到实时模式,并在损坏的分区上运行 fsck(为了安全起见,也对其他分区运行 fsck)。我运行它,fsck -y它确实修复了有问题的分区上的所有错误。当我再次运行 fsck 时,所有分区都报告为干净的。

然后我正常重启系统(不是实时 USB);我在不同位置运行一些touch abc命令进行测试,它能够写入磁盘。但过了一会儿,它又变成了只读的。

我已经重复了整个过程 4-5 次(fsck-from-live-usb --> boot-normally --> become-read-only --> fsck-from-live-usb),但我不知道这个问题的原因。

dmesg显示以下类型的错误:

blk_update_request:I/O 错误,dev sdb,扇区 2521582056

标签#28 失败结果:hostbyte=DID_SOFT_ERROR driverbyte=DRIVER_OK

有办法修复吗?我无法在系统上工作。这看起来不像是硬件问题,因为 fsck 修复了所有问题,还smartctl报告驱动器没有问题,没有错误。

谢谢。

答案1

尽管 SMART 报告一切正常,但磁盘可能有问题,您应该尝试:

  • 执行 SMART 测试smartctl -t long /dev/sdb,例如Arch 维基
  • 使用 检查磁盘是否有坏块badblocks -s,有关其他方法(有些具有破坏性)请参阅(再次)Arch 维基

这也可能是 SATA 控制器或总线的问题,但首先您应该检查磁盘(如果您不确定控制器,可以从另一台机器检查)。

答案2

这很可能是一个坏块。虽然我的公司有一条规定,任何这样的硬盘都应该立即丢弃,但我们家庭用户通常会尽可能地挽救。首选工具是 HDD Regenerator(非破坏性),但它是付费软件。如果您想免费使用,可以使用 HDD 低级格式化。旧版本是免费的。这将需要完整的备份和恢复。我提到的程序独立于文件系统运行。HDD LLF 直接在 WinXP 或 2003 上运行,而 HDD Regenerator 创建可启动的 USB 驱动器,但也可以在线获取,作为与 memdisk 一起使用的 Linux initrd 软盘映像。

相关内容