Ubuntu挂载时显示只读的解决方法
若需立即写入文件,可使用mount命令重新挂载目标分区为读写模式。
df -hT(查看挂载点及文件系统类型)或lsblk -f(查看设备名与挂载点),找到需要修改的分区(如/dev/sda1挂载到/mnt/data)。sudo mount -o remount,rw /挂载点(如sudo mount -o remount,rw /mnt/data);sudo mount -o remount,rw /dev/sdXn(如sudo mount -o remount,rw /dev/sda1)。mount | grep '挂载点',确认输出中包含rw(读写)而非ro(只读)。若文件系统存在损坏(如非法关机、硬盘坏道),系统会自动将其挂载为只读以防止数据丢失。需使用fsck工具修复:
sudo umount /dev/sdXn(若提示“设备正忙”,用lsof /挂载点或fuser -m /挂载点查找并结束占用进程,如sudo kill -9 进程ID)。sudo fsck -y /dev/sdXn(-y自动回答“yes”修复所有问题);sudo ntfsfix /dev/sdXn(需安装ntfs-3g,通常默认已装);sudo fsck.vfat -a /dev/sdXn。sudo mount /dev/sdXn /挂载点,检查是否恢复读写。若每次启动均出现只读,可能是/etc/fstab文件中挂载选项设置错误(如误写ro或未使用defaults)。
sudo cp /etc/fstab /etc/fstab.bak(避免修改错误导致无法启动)。sudo nano /etc/fstab,找到对应分区的行(可通过UUID或设备名识别,如UUID=xxxx-xxxx /mnt/data ext4 defaults 0 2)。ro(只读)改为rw(读写),或确保选项包含defaults(默认包含rw);对于NTFS分区,需使用ntfs-3g驱动并添加rw(如UUID=xxxx-xxxx /mnt/data ntfs-3g defaults 0 0)。sudo mount -a,无报错则说明配置正确,重启后生效。若上述方法无效,可能是硬件故障(如硬盘坏道、物理写保护)。
sudo smartctl -a /dev/sdX(需安装smartmontools,sudo apt install smartmontools),查看“SMART overall-health self-assessment test result”,若显示“FAILED”,需备份数据并更换硬盘。hdparm禁用:sudo hdparm -r0 /dev/sdXn(-r0表示禁用写保护)。