在 CentOS 中执行 mount 或挂载后文件系统显示为只读(ro),常见原因和排查思路如下:
Linux 在检测到 磁盘/文件系统错误 时,会出于保护数据目的自动切换为只读。
查看内核日志:
dmesg | egrep -i "error|read-only|ext4|xfs"
journalctl -xe
典型信息:
EXT4-fs error (device sdb1): ...
Remounting filesystem read-only
✅ 解决方式:
umount /mnt/data
fsck -y /dev/sdb1
mount /dev/sdb1 /mnt/data
检查 mount 参数:
mount | grep sdb1
如果看到:
/dev/sdb1 on /mnt/data type ext4 (ro,...)
说明是手动或 fstab 指定了只读。
✅ 重新挂载为读写:
mount -o remount,rw /mnt/data
或修改 /etc/fstab:
/dev/sdb1 /mnt/data ext4 defaults 0 0
示例错误:
/dev/sdb1 /mnt/data ext4 ro 0 0
或:
defaults,ro
✅ 修改后执行:
mount -a
某些情况下(尤其是 root 分区),系统会进入保护模式。
检查:
df -h
df -i
✅ 清理日志或文件后尝试:
mount -o remount,rw /
例如:
/dev/cdrom✅ 这类无法改为 rw,只能复制数据。
如:
查看:
smartctl -a /dev/sdb
mount | grep 挂载点
dmesg | tail
df -h
cat /etc/fstab
可以贴出:
mount 输出dmesg 相关报错/etc/fstab 内容我可以帮你精确判断是哪一种情况。