50% 折扣 所有计划,时间有限。开始于 $2.48/mo
还剩 8 分钟
服务器和操作系统

对 Ubuntu 上的 Linux 只读文件系统问题进行故障排除

艾达·洛夫古德 By 艾达·洛夫古德 8 分钟阅读 更新于 2024 年 6 月 9 日
Ubuntu Linux 只读文件系统错误修复

如果您处理过 Linux 中的只读文件系统,您就会知道它有多么具有挑战性,尤其是当它影响您的工作流程或系统的稳定性时。此问题可能有不同的根本原因,从轻微的配置问题到严重的文件系统损坏。如果你想有效地解决问题,你应该知道理解问题是解决问题最重要的一步。在本指南中,我们将首先探讨此问题的根源,然后提供有关如何解决该问题的详细指南。最后,我们将通过提供防止此问题的提示来结束博客。

了解只读文件系统问题

文件系统是操作系统的一个组件,用于管理数据的存储和检索方式。当文件系统安装为只读时,意味着您无法再写入或编辑该文件。此限制通常用于保护文件中存储的数据的完整性。每当系统遇到一些可能导致数据丢失的问题时,系统都会使用只读文件系统作为保护措施。

因此,虽然您可以查看文件的内容,但无法编辑、删除或创建新文件。

只读文件系统的常见原因

以下列出了可能导致文件系统切换到只读模式的因素:

  • 文件系统损坏: Linux 只读文件系统错误的最常见原因之一是文件系统损坏。发生这种情况的原因可能是意外关闭、硬件故障或文件系统本身的错误。
  • 磁盘错误: 您的磁盘可能会遇到物理问题,这些问题可能是导致 Ubuntu 只读文件系统的常见因素。例如,坏扇区可以提示系统将文件系统重新挂载为只读,以防止进一步损坏。
  • 全盘: 如果磁盘空间不足,文件系统可能会切换为只读。这样,可以避免数据覆盖和丢失。
  • 内核恐慌或系统崩溃: 严重 内核恐慌 或崩溃可能会使文件系统处于不一致的状态。由于这些崩溃,文件系统在重新启动时会以只读方式重新安装。
  • 不正确的关机: 如果您的系统经常遇到突然断电或非正常关机的情况,文件系统将处于不稳定状态。这些不正确的关闭会导致只读文件系统。

了解这些原因是诊断和解决 Linux 只读文件系统问题的第一步。通过确定根本原因,您可以应用正确的解决方案并防止将来再次发生此问题。

确定问题

让我们看看在解决问题之前如何识别问题。要确定问题,您需要首先检查系统日志和错误消息。然后您需要使用特定的命令来诊断文件系统的状态。

检查系统日志和错误信息

查看系统日志可以为您提供很多诊断文件系统问题的见解。系统日志包含有关已发生的错误和事件的详细信息。因此,您可以使用它们来查找有关文件系统为何变为只读的一些线索。

1.“dmesg”命令:消息 命令显示来自内核环形缓冲区的消息,其中通常包括文件系统错误。执行以下命令,过滤并显示相关错误信息:

sudo dmesg | grep -i "ext4"

将“ext4”替换为您的文件系统类型。

2.“/var/log”目录: “/var/log”目录中的日志可以提供更多见解。检查“syslog”等文件或消息中与文件系统问题相关的条目。

确定文件系统是否为只读的命令

现在,让我们看看如何确认文件系统是否以只读方式安装并收集有关其状态的更多信息。

  • “挂载”命令: 命令列出所有已挂载的文件系统及其挂载选项。在此命令的结果中,您应该查找“ro”(只读)标志。
  • “findmnt”命令:发现 命令提供所有已安装文件系统的更详细视图,包括它们的选项。
  • “df”命令:df 命令报告文件系统磁盘空间使用情况。虽然它主要显示磁盘使用情况,但它也可以显示文件系统是否以只读方式安装。

修复只读文件系统

遇到 Linux 只读文件系统问题可能会让人非常沮丧,尤其是当您需要进行更改或写入新数据时。幸运的是,您可以采取几个步骤来解决此问题。本节将指导您完成修复只读文件系统的过程。通过遵循本指南,您可以确保恢复正常功能。

第 1 步:检查硬件问题

在深入研究软件解决方案之前,我们首先确保不存在导致只读文件系统问题的底层硬件问题。首先检查您的物理连接,尤其是在使用外部驱动器时。电缆松动或损坏可能会导致写入错误并导致系统将驱动器安装为只读。

第2步:重新挂载文件系统

有时,由于临时问题,文件系统可能会重新挂载为只读。您可以尝试使用以下命令将其重新挂载为读/写:

sudo mount -o remount,rw /mount/point

代替 /安装/点 与文件系统的实际安装点。该命令强制系统重新挂载具有读/写权限的文件系统。如果这解决了问题,您可以认为这可能是暂时的故障。

步骤 3:运行文件系统检查

此问题的一个非常常见的原因是文件系统损坏。要检查和修复文件系统,您可以使用 FSCK (文件系统检查)实用程序。跑步前 FSCK,确保文件系统已卸载:

sudo umount /mount/point

接下来,运行 FSCK 命令:

sudo fsck -y /dev/sdX1

代替 /dev/sdX1 使用适合您的文件系统的设备标识符。

检查完成后,重新挂载文件系统:

sudo mount /dev/sdX1 /mount/point

第 4 步:查看系统日志

如果问题仍然存在,查看系统日志可以深入了解根本原因。使用 消息 查看与文件系统相关的内核消息的命令:

dmesg | grep -i "read-only"

查找任何相关错误消息,这些消息可能表明为什么文件系统被挂载为只读。

步骤 5:更新文件系统表 (fstab)

如果文件系统在重新启动时始终以只读方式安装,您可能需要更新您的 /etc/fstab 配置。打开 /etc/fstab 使用文本编辑器创建文件:

sudo nano /etc/fstab

现在,确保文件系统条目已使用默认选项正确配置或明确设置为“rw”(读/写):

/dev/sdX1 /mount/point ext4 defaults 0 2

最后一步,保存更改并重新启动系统:

sudo reboot

通过执行这些步骤,您应该能够解决 Linux 系统上的只读文件系统问题。无论是临时故障、文件系统损坏还是配置错误 /etc/fstab,这些解决方案涵盖了最常见的原因和修复方法。如果尝试这些解决方案后问题仍然存在,则可能值得向 Linux 支持社区寻求进一步的帮助或考虑专业帮助。

预防措施和最佳实践

您可以采取一些有效的预防措施,以避免将来遇到 Linux 只读文件系统问题。本节回顾了在 Linux 环境中维护健康的文件系统的几种策略。

定期系统更新和备份

确保您的系统始终保持最新状态并安装了最新补丁和更新。这有助于防止可能导致文件系统错误的错误和漏洞。

正确的关闭程序

请务必正确关闭系统,以防止突然断电,从而导致文件系统损坏。另外,请避免按住电源按钮强制关机,除非这是唯一的选择。

监控磁盘健康状况

如果定期监视磁盘的运行状况,则可以防止 Linux 只读文件系统错误。您可以使用定期运行文件系统检查 FSCK 在潜在问题变得严重之前识别并解决它们。

这些步骤有望帮助您降低在 Linux 中遇到只读文件系统错误的可能性。

结论

在 Linux 中遇到只读文件系统错误可能会令人沮丧,但凭借正确的知识和工具,您可以轻松解决此问题。通过了解问题、正确识别问题并应用适当的修复措施,您可以将系统恢复正常运行。该博客还回顾了预防措施和最佳实践,可帮助您避免将来出现类似问题。

常问问题

是什么导致 Linux 文件系统变成只读?

导致 Linux 只读文件系统问题的原因有多种,包括磁盘错误、不正确的关闭、硬件故障和文件系统损坏。

是否可以从只读文件系统恢复数据?

是的,只要数据没有损坏,您就可以在尝试修复文件系统之前将其复制到另一个位置。

分享

更多来自博客

继续阅读。

可以使用 Cosmos Cloud 运行的最佳自托管应用程序封面图像,其中包含 Cosmos 仪表板周围的应用程序面板。
服务器和操作系统

可以使用 Cosmos Cloud 运行的最佳自托管应用程序:文件、媒体、密码、自动化等等!

也许您已经设置了 Cosmos Cloud,现在想看看哪些应用程序与其匹配,或者您甚至还没有决定使用 Cosmos,只是想看看它有多适合您的工作

尼克·西尔弗尼克·西尔弗 阅读时间 16 分钟
Portainer 与 Cosmos Cloud 用于管理 Docker 应用程序的比较,包括混合设置图和 neon ops 与访问块。
服务器和操作系统

Portainer 与 Cosmos Cloud:最适合 Docker 应用程序管理

如果您已经了解 Docker 并且只是想要以更简洁的方式运行不断增长的应用程序堆栈,那么这里是 Portainer 与 Cosmos Cloud 的简短回答。 Portainer 是直接的更强选择

尼克·西尔弗尼克·西尔弗 阅读时间 14 分钟
Cosmos Cloud、CasaOS 与 Umbrel 专题图显示了一个抽象云网络世界中的三个自托管路径。
服务器和操作系统

Cosmos Cloud、CasaOS 与 Umbrel:哪个自托管平台适合您的设置?

简而言之,CasaOS 仍然是最容易开始的地方,Umbrel 具有最干净的策划感觉,一旦您想要更严格地控​​制 doma,Cosmos Cloud 就更有意义

尼克·西尔弗尼克·西尔弗 阅读时间 11 分钟

准备好部署了吗? 每月 2.48 美元起。

独立云,自 2008 年起。AMD EPYC、NVMe、40 Gbps。 14 天退款。