![我以什么方式损坏了我的 USB 以及如何修复它?](https://linux22.com/image/1175858/%E6%88%91%E4%BB%A5%E4%BB%80%E4%B9%88%E6%96%B9%E5%BC%8F%E6%8D%9F%E5%9D%8F%E4%BA%86%E6%88%91%E7%9A%84%20USB%20%E4%BB%A5%E5%8F%8A%E5%A6%82%E4%BD%95%E4%BF%AE%E5%A4%8D%E5%AE%83%EF%BC%9F.png)
我曾两次尝试在 USB 上安装某些东西,但两次都导致了 USB 的“彻底毁坏”。
为什么我认为这不是硬件问题:我尝试安装 Nextcloud docker 容器,并将 USB 棒作为存储位置。两种情况下的情况完全相同:第一次安装尝试失败,我使用 chmod 修改 USB 棒上文件夹的权限后重试,但再次失败。我重试,但一直卡在进程中,当我尝试卸载 USB 棒时,提示有一个进程正在写入 USB 棒。经过相当长的时间后,我强制重启,之后 USB 棒不再被识别。
我尝试使用 Gparted 来修复它,但不幸的是,该存储棒不再被识别。但是,usb-devices
在插入 USB 存储棒的情况下执行一次,在未插入 USB 存储棒的情况下执行一次,发现以下条目与其中一个损坏的存储棒(以下称为存储棒 1)相关联(对于另一个存储棒 2,没有找到任何内容):
T: Bus=01 Lev=02 Prnt=02 Port=03 Cnt=03 Dev#= 11 Spd=480 MxCh= 0
D: Ver= 2.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=058f ProdID=1234 Rev=00.02
S: Manufacturer=ALCOR
S: Product=AU87101A UFDISK
S: SerialNumber=123456789ABCDEF
C: #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=200mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
对于棒 1 执行
sudo lsblk -o model,name,size,fstype,label,mountpoint
收益:
USB Remove DIS sda 29.8G
对于棒 2 则不返回任何内容。
我的问题:我该怎么做才能修复这些棒子(我不关心它们上面的任何数据)?
更新:我现在设法用零覆盖棒 1,方法是:
sudo dd if=/dev/zero of/dev/sda
完成此操作后,我尝试在其上创建一个新的数据分区,并
sudo mkfs.ext4 /dev/sda
给出以下输出(UUID 替换为X...X
):
mke2fs 1.43.4 (31-Jan-2017)
Discarding device blocks: done
Creating filesystem with 467512 1k blocks and 116928 inodes
Filesystem UUID: XXXXXXXXXXXXXXXXXXXXX
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409
Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
然后,Gparted 显示 /dev/sda 的条目,其文件系统unknown
和大小为456.55 MiB
(比较上面 lsblk 命令的结果)。如果我将该棒插入任意计算机(包括我已在其上执行 gparted 的计算机),它仍然无法正确识别为 USB 棒。
答案1
在原始磁盘上创建文件系统包括两个步骤:创建分区,然后创建文件系统。我认为发生的情况是,您使用 创建了一个没有文件系统的分区,gparted
然后尝试使用 创建没有分区的文件系统mkfs.ext4
。请尝试以下操作:
- 再次将驱动器清零,
dd
这样我们就知道我们从头开始 - 创建一个
gparted
占用整个驱动器的巨型分区 - 使用命令将新分区格式化为 ext4
sudo mkfs.ext4 /dev/sda1
(请注意使用 sda1 而不是 sda,这表示第一个分区而不是整个磁盘)。
您可能已经知道,但 Windows 不支持读取 ext4 分区上的数据(有第三方实用程序,但它们尚未开发)。如果您想从 Windows 读取此拇指驱动器并运行 20.04,我建议将其格式化为 exFAT。缺点是 exFAT 不支持对文件/目录的任何权限。
答案2
这是硬件问题,可能是我的 RaspberryPi 的 USB 插槽电压过高造成的。现在我在中间放了一个有电的 USB 集线器,下一根插棒就没再坏了。