无法在 USB 驱动器上写入和删除文件

无法在 USB 驱动器上写入和删除文件

当我将特定的 USB 插入我的 PC(运行 Ubuntu 17.04)并打开 Nautilus 时,我可以看到 USB 上的所有文件,但无法剪切或删除它们。右键单击文件会弹出一个菜单,其中剪切选项呈灰色显示,没有“移至废纸篓”选项。到目前为止,我从未遇到过此 USB 问题。我在 Windows(双启动)中尝试过,它说有一些错误需要修复。我修复了错误并在 Ubuntu 中再次尝试,但它不起作用。

根据要求,这是命令的输出mount

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=1966096k,nr_inodes=491524,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=404380k,mode=755)
/dev/sda5 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=27,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=1735)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=404376k,mode=700,uid=1000,gid=1000)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
/dev/sda2 on /media/Win D type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,uhelper=udisks)
/dev/sdb on /mnt/usb-090c_1000_12083108001104-0:0 type vfat (ro,nosuid,nodev,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)

之后我进入 Windows,当我插入 USB 时,我收到消息,说此设备上的某些文件可能有问题。我选择了扫描和修复选项,扫描 20 分钟后,我收到消息,说没有发现任何问题。我设法删除了 Windows 中的所有文件并进行了快速格式化。之后我进入 Ubuntu,问题仍然存在。我无法在 USB 上写入文件(我无法检查是否可以删除文件,因为现在 USB 上没有文件)。

dmesg | tail这是(在 Windows 中格式化后)的输出:

[  716.524531] scsi 6:0:0:0: Direct-Access                                    PQ: 0 ANSI: 4
[  716.527759] sd 6:0:0:0: [sdb] 62259200 512-byte logical blocks: (31.9 GB/29.7 GiB)
[  716.528503] sd 6:0:0:0: [sdb] Write Protect is off
[  716.528505] sd 6:0:0:0: [sdb] Mode Sense: 43 00 00 00
[  716.529233] sd 6:0:0:0: Attached scsi generic sg2 type 0
[  716.529416] sd 6:0:0:0: [sdb] No Caching mode page found
[  716.529420] sd 6:0:0:0: [sdb] Assuming drive cache: write through
[  716.537532]  sdb:
[  716.540525] sd 6:0:0:0: [sdb] Attached SCSI removable disk
[  716.873704] FAT-fs (sdb): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.

格式化后,我也再次运行了mount。唯一的区别是,在最后几行(关于我的 USB 记忆棒)中,它显示的不是。vfat (rw,vfat (ro,

根据建议,我卸载了 USB 驱动器并执行了命令sudo fsck /dev/sdb。我得到了:

fsck from util-linux 2.29
fsck.fat 4.0 (2016-05-06)
0x41: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt.
1) Remove dirty bit
2) No action
? 

我选择删除脏位并得到这个:

There are differences between boot sector and its backup.
This is mostly harmless. Differences: (offset:original/backup)
  65:01/00
1) Copy original to backup
2) Copy backup to original
3) No action
? 

答案1

当没有重要的东西需要保留或恢复到 USB 驱动器上时,有一个直接的替代方法。擦除第一个 mibibyte,创建新的分区表和文件系统。

使用韓國并选择还原到标准存储设备

在此处输入图片描述

如果 mkusb 不能解决问题,则 USB 驱动器可能已损坏。但也可能存在其他问题,因此请按照以下列表尝试,

  • 在一些 U 盘和许多存储卡上,有一个用于写保护的小型机械开关,可以在读/写和只读之间切换。您可能无意中将其设置为只读。
  • 重新启动计算机并再次尝试使用 mkusb 恢复或擦除第一个兆字节。
  • 断开其他 USB 设备。有时 USB 设备会相互干扰功能。
  • 尝试其他 USB 端口和另一台计算机。
  • 在另一台计算机上尝试另一个操作系统(Windows、MacOS)。
  • 如果您仍然无法擦除驱动器的第一个兆字节,并且驱动器是只读的,则它可能已“卡住”,下一步就是它将完全“变砖”。有一个限制,您必须接受 U 盘已损坏且无法修复,至少使用像您和我这样的普通用户可用的工具无法修复。请参阅此链接:Pendrive 寿命

请参阅此链接了解更多详细信息,

无法格式化我的 USB 驱动器。我已经尝试过了……问题分析

答案2

您的挂载输出表明,/dev/sdb在出现错误时将以只读方式重新挂载。您的dmesg输出表明文件系统已损坏,因此以只读方式挂载。可以修复此损坏。

您可以验证哪个驱动器sudo fdisk -l将列出所连接的驱动器。

首先使用sudo umount /dev/sdb

然后发出命令sudo fsck /dev/sdb,或者由于您在 Windows 中格式化了它,您可能需要chkdsk在其上运行 Windows。为防止将来出现此问题,请始终选择使用带有 Windows 的设备时安全删除在 Ubuntu 中卸载确保没有待处理的写入操作。如果格式化和正确的安全移除仍然导致设备无法工作,则应更换它。(闪存的使用寿命有限)

在正常使用过程中写入和擦除时,浮栅与基板之间的氧化层会退化,从而降低其长时间保持电荷的能力。每个固态存储设备在变得不可靠之前都能承受一定程度的退化,这意味着它可能仍能正常工作,但不能持续工作。NAND 设备在保持一致、可预测的输出的情况下可以承受的写入和擦除次数(P/E 周期)决定了其耐用性。

来源: http://www.storage-switzerland.com/Articles/Entries/2012/3/6_Why_Flash_Wears_Out_and_How_to_Make_it_Last_Longer.html

相关内容