之前把U盘借出了,还回来之后我再想用,发现U盘里的文件只能读取或者复制出去,但是不能修改删除,也不能添加新文件进来,显示该U盘是只读文件系统。
用了以下方法来解决这个问题:
- 在终端执行以下命令,作用是查看系统日志,帮助排查错误
$ tail -f /var/log/syslog
该命令详细介绍看这篇文章
注意:这一步要先在终端执行该命令,再把U盘插入电脑
- 在系统日志中找到和U盘相关的内容,我的情况是这样:
图中几个关键信息:
- Write cache: disabled, read cache: enabled, doesn’t support DPO or FUA
U盘目前的状态是只有读权限没有写权限(DPO和FUA是啥我也没查清楚,总之对这个问题的解决无影响) - sdb: sdb1
我的U盘挂载的文件系统,盘符是sdb1 - Attached SCSI removable disk
已连接的SCSI可移动磁盘 - Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
未正确卸载。某些数据可能已损坏。请运行fsck。(可能的出问题的原因,以及建议) - error, corrupted directory (invalid entries)
错误,目录已损坏(无效条目) - Filesystem has been set read-only
文件系统已设置为只读
(找到需要的信息后就可以Ctrl+c退出了)
- 找到U盘的挂载点,一般在media下,如果有多个用户,则在 /media/用户名 下
$ ls /media
qa qa_new
$ ls /media/qa
9E4F-4C98
9E4F-4C98就是我的U盘挂载点了
- 将U盘卸载
umount /media/qa/9E4F-4C98
umount命令可卸除目前挂在Linux目录中的文件系统。
unmount详细介绍
- 修复U盘
sudo dosfsck -v -a /dev/sdb1
fsck命令用于检查与修复 Linux 档案系统,可以同时检查一个或多个 Linux 档案系统。
fsck详细介绍
fosfsck命令用于检测、修复MS-DOS文件系统
(MS-DOS:微软公司提供的一种磁盘操作系统)
fosfsck详细介绍
用到的两个可选参数介绍:
-a:Automatically repair the file system.自动修复文件系统。无需用户干预。每当有一种以上的方法来解决一个问题时,就会使用破坏性最小的方法。
-v:Verbose mode. Generates slightly more output.详细模式。
- 修复后重新挂载一下U盘看有没有恢复,恢复了的话最好,没有的话就进行下一步
- 进入U盘所在路径,杀死文件管理器进程:
cd /media/qa/9E4F-4C98
killall nautilus
这个进程杀掉之后随便做点什么操作,比如打开一个文件夹,它就会自动重启了
这一套操作下来,我的U盘就已经恢复正常了,后续使用也没有什么问题。
PS:也可以用 df -h
查看U盘所在文件系统和挂载点
更多推荐
Ubuntu系统下U盘变成只读文件系统的处理办法
发布评论