Ubuntu 磁盘只读:原因与检查
讲清 Ubuntu 提示「disk is read-only」或写入失败的常见根因:文件系统错、磁盘故障、配额/满、只读挂载,以及按顺序的排查命令。
结论先行
Ubuntu 提示 Read-only file system 或文件写不进去,十有八九是内核把文件系统切成了只读保护,而触发原因通常是底层磁盘出现坏块或控制器异常。排查顺序固定:看内核日志 → 看文件系统状态 → 看磁盘 SMART → 决定修复或换盘。
快速判断
dmesg | tail -100 | grep -iE 'read-only|error|i/o'
mount | grep -E ' / | /home'
df -h
smartctl -a /dev/sda # 需安装 smartmontools
| 输出 | 指向 |
|---|---|
Buffer I/O error on dev sdaX |
磁盘硬件异常,大概率坏盘 |
EXT4-fs error ... Remounting read-only |
文件系统内部错,先 fsck |
read-only,0x0 在 mount 输出 |
被人为只读挂载 |
三条根因与对策
- 人为只读挂载(
mount -o ro或 fstab 写了 ro)- 查
/etc/fstab,改回rw,mount -o remount,rw /
- 查
- 文件系统错
- 卸载后
sudo fsck /dev/sdX(ext4 用 e2fsck,xfs 用 xfs_repair) - 在线状态不能 fsck 当前挂载点,需进单用户或 Live 介质
- 卸载后
- 磁盘硬件故障
- SMART 里
Reallocated_Sector_Ct、Current_Pending_Sector快速增长 → 先备份再换盘
- SMART 里
Live 介质排障
用 Ubuntu 桌面版条目 或 服务器版条目 写 U 盘,启动进 Live 后对目标盘做 fsck。
内核自动切只读是保护机制,不是 bug;先别急着强制
remount,rw,先确认底层原因,否则可能加速磁盘损坏。索引见 Ubuntu 索引页。