如何更改只读 U 盘?

如何更改只读 U 盘?

我有一个通用的 U 盘,但出了问题...我无法将任何档案或文件夹复制到里面,也无法从 U 盘中删除或移动这些档案或文件夹。我不知道这是怎么发生的,我没有更改任何权限...我所做的唯一更改是更改用户密码,感觉就像是几天前的事了。

我尝试使用dosfsck -t -a /dev/sdb1但没有结果......几分钟后终端显示:

包含一个空闲簇 (199578)。假设 EOF。空闲链中簇 119648 处的循环中断。无法创建唯一名称。

我甚至无法格式化它...它没用...有人可以帮忙吗?

系统日志显示:

Feb  1 15:32:13 everton-Vostro1510 kernel: [ 2714.745488] usb 2-4: USB disconnect, device number 4
Feb  1 15:32:13 everton-Vostro1510 udisksd[1979]: Cleaning up mount point /media/everton/Everton (device 8:17 no longer exist)
Feb  1 15:32:18 everton-Vostro1510 kernel: [ 2720.024168] usb 2-4: new high-speed USB device number 5 using ehci_hcd
Feb  1 15:32:18 everton-Vostro1510 kernel: [ 2720.163813] usb 2-4: New USB device found, idVendor=058f, idProduct=6387
Feb  1 15:32:18 everton-Vostro1510 kernel: [ 2720.163824] usb 2-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Feb  1 15:32:18 everton-Vostro1510 kernel: [ 2720.163832] usb 2-4: Product: Mass Storage
Feb  1 15:32:18 everton-Vostro1510 kernel: [ 2720.163839] usb 2-4: Manufacturer: Generic
Feb  1 15:32:18 everton-Vostro1510 kernel: [ 2720.163846] usb 2-4: SerialNumber: 4B367433
Feb  1 15:32:18 everton-Vostro1510 kernel: [ 2720.166566] scsi6 : usb-storage 2-4:1.0
Feb  1 15:32:18 everton-Vostro1510 mtp-probe: checking bus 2, device 5: "/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-4"
Feb  1 15:32:18 everton-Vostro1510 mtp-probe: bus: 2, device: 5 was not an MTP device
Feb  1 15:32:19 everton-Vostro1510 kernel: [ 2721.167548] scsi 6:0:0:0: Direct-Access     Generic  Flash Disk       8.07 PQ: 0 ANSI: 4
Feb  1 15:32:19 everton-Vostro1510 kernel: [ 2721.170022] sd 6:0:0:0: Attached scsi generic sg2 type 0
Feb  1 15:32:19 everton-Vostro1510 kernel: [ 2721.176841] sd 6:0:0:0: [sdb] 16000128 512-byte logical blocks: (8.19 GB/7.62 GiB)
Feb  1 15:32:19 everton-Vostro1510 kernel: [ 2721.177843] sd 6:0:0:0: [sdb] Write Protect is on
Feb  1 15:32:19 everton-Vostro1510 kernel: [ 2721.177855] sd 6:0:0:0: [sdb] Mode Sense: 23 00 80 00
Feb  1 15:32:19 everton-Vostro1510 kernel: [ 2721.178963] sd 6:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
Feb  1 15:32:19 everton-Vostro1510 kernel: [ 2721.193531]  sdb: sdb1
Feb  1 15:32:19 everton-Vostro1510 kernel: [ 2721.197623] sd 6:0:0:0: [sdb] Attached SCSI removable disk
Feb  1 15:32:20 everton-Vostro1510 udisksd[1979]: Mounted /dev/sdb1 at /media/everton/Everton on behalf of uid 1000

使用命令:cat /proc/mounts | grep sdb

everton@everton-Vostro1510:~$ cat /proc/mounts | grep sdb
/dev/sdb1 /media/everton/Everton vfat ro,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0077,codepage=cp437,iocharset=iso8859-1,shortname=mixed,showexec,utf8,flush,errors=remount-ro 0 0

答案1

只有两种方法每次都能起作用,甚至执行:

:~$ cd /media

:~/media$ sudo bash

:~/media# cd your_user/pen_drive

:~/media/your_user/pen_drive# chmod 0755 *

:~/media/your_user/pen_drive# chown -R 1000:1000 *

不会起作用!!别浪费你的时间,这很令人头疼!

第一个涉及 125 行递归 shell 脚本。

第二种方法,您应该尝试将所有数据复制到 $HOME 目录 (/home/your_user)。0400 错误不会转移到您的本地驱动器或 $HOME 目录。

传输完所有数据后,重新格式化 U 盘,然后贴上标签。从命令行重新格式化将清空磁盘。贴上标签将初始化磁盘,以便将数据从本地磁盘移动到 U 盘。下面显示的是您需要执行的操作。

(不用想:将 USB 驱动器插入端口)

首先使用 sudo 运行带有 -l 标志的 fdisk 来验证设备所在的位置(应该是 /dev/sdb1):

:~$ sudo fdisk -l

接下来使用 umount 卸载磁盘

:~$ sudo umount /dev/sdb1

要重新格式化磁盘,请使用 mkdosfs 实用程序

:~$ sudo mkdosfs -F 32 -I /dev/sdb1

拔出 USB,然后重新插入。再次执行卸载。

:~$ sudo umount /dev/sdb1

现在给设备贴上标签。先检查一下是否有标签:

:~$ sudo mlabel -i /dev/sdb1 -s ::

接下来添加标签

:~$ sudo mlabel -i /dev/sdb1 ::your_chosen_name

请记住,这假设 /dev/sdb1 是设备所在的位置。另外,您可能不必拔出驱动器并重新插入。在我的联想电脑上,我必须将其拔出然后重新插入。在我的戴尔电脑上,我不需要这样做。不过,我仍然会这样做。

祝你好运,愿原力与你同在!

答案2

当我完成上述两项操作时,它对我有用。

  1. 首先我尝试创建新分区使用 gparted。这里我的 USB 类型是 iso 映像。我将其更改为 fat32 系统。

  2. 我已拔出 USB 并重新插入

  3. 然后,

    sudo fdisk -l
    sudo umount /dev/sdb
    sudo mkdosfs -F 32 -I /dev/sdb
    

拔出 USB,然后重新插入。再次执行卸载。

sudo umount /dev/sdb1

添加标签

sudo mlabel -i /dev/sdb1 ::LabelName

答案3

最简单、最快捷的方法是:

  1. 以 root 身份运行终端sudo su

  2. 在终端中运行此命令:df -Th;您将获得类似以下内容的信息:

    /dev/sdb1 vfat 3.8G 126M 3.6G 4% /media/linux/您的USB名称

  3. 通过运行以下命令卸载 USB 笔式驱动器自动安装的目录:umount /media/linux/YOUR_USB_NAME

  4. 正如您在步骤 2 中看到的,USB 笔式驱动器有 /dev/sdb1 分区,文件系统是 vfat;现在运行dosfsck -a /dev/sdb1
  5. dosfsck 命令完成后,从系统中移除 USB 笔式驱动器,然后重新连接到系统。现在您的 USB 笔式驱动器应该可以工作,并且它不应该具有只读文件系统。

希望能帮助到你。

答案4

尝试将驱动器上的所有文件复制到其他位置。然后:

  1. 安装 gparted。sudo apt-get install gparted
  2. 运行 gparted 并选择驱动器(/dev/sdb?)
  3. 单击设备菜单并选择创建分区
  4. 右键单击未分配空间并点击创建分区
  5. 创建一个新的 msdos 分区并单击应用按钮。

如果问题出在驱动器本身,这可能会有所帮助。如果问题出在 Ubuntu 处理 U 盘的方式上,那么我们需要日志,正如 @gertvdijk 指出的那样。

相关内容