当前位置: 首页 > news >正文

蓝易云 - 解决ubuntu文件系统变成只读的方法

蓝易云:解决 Ubuntu 文件系统突然变成只读(Read-only)的实战方法

当 Ubuntu 分区被系统自动切到只读,本质上是内核在“止损”:文件系统或底层磁盘出现异常,为避免越写越坏而触发保护性重挂载(常见关键字:errors=remount-roRemounting filesystem read-only)。(Unix & Linux Stack Exchange)
先别急着“硬改回可写”,正确顺序是:先定位 → 再修复 → 最后复盘预防。🔧


1)先用一张表把原因锁死(建议照表排查)

典型原因你会看到的现象如何验证正确处理动作
文件系统元数据错误(ext4 最常见)读写报错、目录创建失败、系统提示只读dmesg/journalctl有 ext4 error/readonly离线fsck修复
底层磁盘/阵列I/O 错误变只读反复出现,甚至卡顿dmesg出现 I/O error;SMART 异常先保数据,再做硬件/盘体检查
空间或 inode 用尽不是典型“自动只读”,但业务表现像“写不进去”df -h/df -i100%清理空间/文件数量,避免误判
云盘/虚拟化底座抖动业务高峰更易触发,只读后恢复不稳定宿主/云平台告警、块设备重置升级云盘档位/迁移/开监控告警

2)快速定位:确认“到底是谁变只读了”

mount | grep -E " on / | ro[,)]" findmnt -no SOURCE,FSTYPE,OPTIONS / lsblk -f

解释(逐条看懂):

  • mount ... ro:直接确认哪些挂载点处于只读(ro)。

  • findmnt ... /:定位根分区“对应的设备是谁”、文件系统类型(ext4/xfs 等)以及挂载参数。

  • lsblk -f:把设备、UUID、文件系统类型一屏看清,后面跑修复命令不会“修错盘”。


3)看日志抓“第一现场”:别凭感觉下结论

dmesg -T | egrep -i "EXT4|I/O error|read-only|remount" | tail -n 80 journalctl -k -b -p err --no-pager | tail -n 200

解释:

  • dmesg -T:看内核实时记录,通常能直接看到为何触发只读(ext4 错误或I/O error)。(Unix & Linux Stack Exchange)

  • journalctl -k -b -p err:只筛内核级错误(err),并限定本次启动(-b),效率更高。


4)“临时止血”方案:只用于应急,不是根治 ✅

sudo mount -o remount,rw /

解释:

  • 这只是把已挂载的分区尝试“重新以可写方式挂载”。如果底层错误仍在,系统很可能很快又切回只读。(Ask Ubuntu)

  • 我的明确观点:能 remount 成功不代表盘没问题,只代表你暂时抢到写入窗口。趁这窗口先导出关键数据,别恋战。😄


5)根治方案:离线修复(强烈建议)🧯

A. ext4(最常见)

原则:不要对“正在挂载的读写分区”做修复;根分区要进 Recovery 或 LiveCD 环境做。

sudo fsck -f /dev/sdXN

解释:

  • fsck:文件系统一致性检查与修复工具。

  • -f:强制做完整检查(更彻底)。

  • /dev/sdXN:替换成你在findmnt/lsblk里定位到的真实分区。

B. 想在下次启动强制跑 fsck(适合“重启窗口”明确的场景)

sudo touch /forcefsck sudo reboot

解释:

  • touch /forcefsck:创建一个标记文件,让系统在启动流程中倾向执行检查;不同发行版/引导链路行为会有差异。(Ask Ubuntu)

  • 如果你用的是较新的 systemd 引导链路,常见做法是加内核参数fsck.mode=force fsck.repair=yes来强制检查与自动修复。(Ask Ubuntu)


6)别忽略“硬件侧”体检:只读反复出现,盘大概率在报警

sudo apt-get update sudo apt-get install -y smartmontools sudo smartctl -a /dev/sda sudo smartctl -t short /dev/sda

解释:

  • smartmontools:读取磁盘 SMART 指标。

  • smartctl -a:查看健康状态、坏块相关计数、错误日志等,是判断“盘是否在走下坡路”的核心证据。(Super User)

  • smartctl -t short:发起短自检,快速验证盘体基本可靠性(有条件再做 long test)。


7)给你一个最稳的排障流程(vditor 支持 Mermaid)

flowchart TD A[发现分区变成只读] --> B[定位挂载点/设备 findmnt/lsblk] B --> C[查内核日志 dmesg/journalctl] C --> D{是ext4一致性错误?} D -->|是| E[离线fsck修复] D -->|否| F{出现I/O error或SMART异常?} F -->|是| G[优先保数据+硬件/云盘排查] F -->|否| H[检查空间/ inode/配置与底座] E --> I[重启验证+监控告警] G --> I H --> I

最后一句务实建议

如果你的系统是生产业务机:一旦出现只读,把它当成“底座风险事件”处理,不要把它当成“小故障”。你越早完成“离线修复 + 硬件证据链”,后面少掉的不是工单,是通宵。

如果你把findmnt -no SOURCE,FSTYPE,OPTIONS /dmesg -T | tail -n 120的输出贴出来,我可以直接帮你把“原因”定位到表格里的某一行,并给出最短修复路径。

http://www.cnnetsun.cn/news/118915.html

相关文章:

  • Nginx gzip压缩完整配置指南:如何快速提升网站性能
  • [深度学习] 大模型学习5-高效微调框架Unsloth使用指北
  • WIndows安装MongoDB数据库
  • NiceGUI之Button操作(ElementPlus组件库)
  • Claude code学习笔记(一)-环境安装claude code+ccr
  • WordPress中文完全教程:从菜鸟到神人的终极指南
  • EmotiVoice语音合成引擎的更新日志与版本迭代规划
  • 纪念日回忆录语音生成:温情科技应用
  • Flutter富文本渲染性能优化终极指南:长文本处理与资源回收策略
  • Ditto剪贴板管理器架构深度解析:从用户痛点到技术实现
  • Qwen3-4B终极指南:如何快速上手新一代AI语言模型
  • 5 款 AI 写论文哪个好?深度横评后,才发现虎贲等考 AI 是学术圈隐藏的 “六边形战士”!
  • EmotiVoice vs 传统TTS:情感表达能力的代际差异分析
  • POV-Ray 光线追踪终极指南:从零开始掌握专业渲染
  • EmotiVoice支持语音情感风格迁移学习
  • 定期第三方安全审计:EmotiVoice质量保证
  • 不同职业人群对EmotiVoice的应用需求分析
  • 手机系统预装应用包彻底删除
  • EmotiVoice能否实现多人对话同步生成?技术可行性评估
  • FusionCompute 8.0 实验环境搭建:完整资源获取与部署指南
  • AI主播直播间搭建:EmotiVoice语音部分实现
  • 静态代码扫描服务 100分(python、java、c++、js、c
  • Directus周起始日难题:3步从周日切换到周一的技术解决方案
  • 33、网络管理与UUCP使用指南
  • C++核心语法复盘:数据结构编程的底层基石
  • 43、Exim邮件服务器配置与管理全解析
  • 48、互联网新闻服务器INN与NNTP的使用与配置指南
  • 我发现动态时间戳对齐破解跨境急诊预警延迟
  • 面试官:如何提升AIGC生成的可控性?
  • 如何在5分钟内用Mermaid语法轻松生成专业流程图?