在 CentOS 中,mount 后文件系统变成只读(read-only),常见原因和排查方法如下:
当内核检测到磁盘/文件系统异常(如断电、强制关机、I/O 错误),会自动以只读方式挂载,防止数据损坏。
典型表现:
dmesg | tail
可能看到:
EXT4-fs error (device sda1): ...
Remounting filesystem read-only
解决方法:
# 先卸载(如果不能卸载,用下面强制方式)
umount /mnt/data
# 修复文件系统
fsck -y /dev/sda1
# 重新挂载
mount /dev/sda1 /mnt/data
⚠️ 根分区 / 无法直接 umount,需要:
ro 参数检查 /etc/fstab 或 mount 命令:
mount | grep sda1
cat /etc/fstab
如果看到:
/dev/sda1 /mnt/data ext4 ro 0 0
改为:
defaults
然后:
mount -o remount,rw /mnt/data
例如:
检查:
dmesg
smartctl -a /dev/sda
实际是权限问题,不是真的只读:
ls -ld /mnt/data
getenforce
# 1. 看是不是真的只读
mount | grep 挂载点
# 2. 看内核日志
dmesg | tail -50
# 3. 看 fstab
cat /etc/fstab
# 4. 尝试重新挂载
mount -o remount,rw /挂载点
CentOS 挂载后只读,90% 是文件系统出错被内核强制只读,用
fsck修复即可。
如果你愿意,可以把下面信息贴出来,我可以直接帮你判断:
mount | grep 挂载点dmesg | tail/etc/fstab 相关内容