U盘不能写的问题ubuntu下

本文介绍了一种在Ubuntu系统下修复U盘只读错误的方法,通过查看U盘信息、卸载U盘并修复文件系统故障,实现修复U盘而保留文件的目的。

问题

Ubuntu下有时候插入U盘,发现不能修改其中的内容。例如不能新建文件和文件夹,不能向U盘中复制文件等,系统提示:只读文件系统。

原因大概是U盘的文件系统信息出错(保存在一个硬盘或U盘最前面的头,其中有所有文件的信息)。

格式化U盘自然可以解决问题,不过会删除U盘上的所有数据。

修复U盘而不删除文件,可采用如下方法。

 

解决方法

1、查看U盘信息

首先插入U盘。

打开命令行,执行如下指令:

df -h

如果提示权限不足,请使用sudo。

显示出所有挂载的硬盘U盘的信息,例如:

Ubuntu下U盘只读文件系统,图标上锁,提示无法修改

可以看到,U盘的文件系统是/dev/sdb1,挂载点是/media/admin/MyUDisk。

2、卸载U盘

sudo umount /media/admin/MyUDisk

卸载之后不要拔掉U盘!

3、修复U盘文件系统故障

sudo dosfsck -v -a /dev/sdb1

注意:这里的/dev/sdb1只是举例,请以实际情况为准!

这条指令的执行时间不定,可能很快完成,也可能花费几分钟,请耐心等待。

重新挂载U盘,即可检验是否已修复。

Ubuntu系统中插入U后无法挂载,可尝试以下解决办法: ### 检查硬件连接 确保U已正确插入到计算机的USB接口,可尝试重新插拔U,或更换USB接口,以排除因硬件连接不稳定导致的问题。 ### 查看U是否被系统识别 使用`dmesg`命令查看系统日志,确认系统是否检测到了新插入的U。命令如下: ```bash dmesg | tail ``` 该命令会显示系统最近的日志信息,若看到类似`[ 123.456789] usb 1-2: New USB device found, idVendor=xxxx, idProduct=xxxx`以及`[ 123.456789] sd 6:0:0:0: [sdb] Attached SCSI removable disk`的信息,则表明系统已识别到U。 ### 查看分区信息 使用`fdisk -l`命令查看系统中的磁分区信息,以确认U的设备名。命令如下: ```bash sudo fdisk -l ``` 一般情况下,U可能会被识别为`sdb`、`sdc`等。若看到类似`Disk /dev/sdb: 14.9 GiB, 16008609792 bytes, 31266816 sectors`的信息,则说明U的设备名为`/dev/sdb`。 ### 创建挂载点 在`/mnt`目录下创建一个用于挂载U的文件夹,例如`usb`。命令如下: ```bash sudo mkdir /mnt/usb ``` ### 手动挂载U 使用`mount`命令将U挂载到之前创建的挂载点上。假设U的设备名为`/dev/sdb1`(可根据`fdisk -l`的输出结果确定),挂载命令如下: ```bash sudo mount /dev/sdb1 /mnt/usb ``` 若挂载成功,即可通过访问`/mnt/usb`目录来操作U中的文件。 ### 使用systemd-mount替代mount 若手动挂载失败,可尝试使用`systemd-mount`替代`mount`命令。命令如下: ```bash sudo systemd-mount /dev/sdb1 /mnt/usb ``` ### 检查udev规则 若使用了udev规则来实现U自动挂载,但规则未生效,可检查规则文件。例如,在`/etc/udev/rules.d/`目录下新建或编辑规则文件,如`10-myudisk.rules`,内容如下: ```plaintext ACTION=="add", SUBSYSTEMS=="usb", RUN+="/usr/local/bin/usb-mount.sh" ACTION=="remove", SUBSYSTEMS=="usb", RUN+="/usr/local/bin/usb-umount.sh" ``` 同时,确保`usb-mount.sh`和`usb-umount.sh`脚本文件存在且具有可执行权限。 ### 检查文件系统兼容性 确认U的文件系统类型(如FAT32、NTFS等)是否被Ubuntu系统支持。若U使用的是NTFS文件系统,可安装`ntfs-3g`包以支持NTFS文件系统的读操作。命令如下: ```bash sudo apt-get install ntfs-3g ``` ### 检查磁是否损坏 使用`fsck`命令检查U的文件系统是否损坏。假设U的设备名为`/dev/sdb1`,命令如下: ```bash sudo fsck /dev/sdb1 ``` 若检测到文件系统有错误,`fsck`会尝试修复这些错误
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值