闪存驱动器完全无法识别,但我可以访问其中的文件

闪存驱动器完全无法识别,但我可以访问其中的文件

这是我见过的存储设备最奇怪的行为。当我连接 USB 闪存驱动器时,它会自动打开目录/media/albert/Linux Mint 17.3 MATE 64-bit,我可以看到该目录中的文件。我也可以从文件浏览器卸载驱动器。尽管如此,即使以 root 身份也无法添加新文件。然而,最奇怪的是,当我运行 Gparted 时,驱动器却不见了。此外,sudo fdisk -l也没有显示任何驱动器的踪迹?我完全不知道该怎么做才能格式化驱动器。

问题背景:我的驱动器上装有 Linux Mint,我想对其进行格式化。当我打开 Gparted 时,我收到一条与 EFI 有关的错误消息,要求我创建一个新的分区表。我创建了一个新的 msdos 分区表,操作完成后,Gparted 不再能看到该驱动器。随后,我尝试在其他机器和 Windows 上对此进行测试,结果相同。任何帮助都将不胜感激。

这是我连接驱动器后 dmesg 的输出:

[ 2398.903776] usb 4-4: new SuperSpeed USB device number 8 using xhci_hcd    
[ 2398.924870] usb 4-4: New USB device found, idVendor=090c, idProduct=1000    
[ 2398.924880] usb 4-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3    
[ 2398.924885] usb 4-4: Product: Silicon-Power64G    
[ 2398.924890] usb 4-4: Manufacturer: UFD 3.0    
[ 2398.924894] usb 4-4: SerialNumber: 459y458964365756k5    
[ 2398.926160] usb-storage 4-4:1.0: USB Mass Storage device detected    
[ 2398.926723] scsi14 : usb-storage 4-4:1.0    
[ 2400.078005] scsi 14:0:0:0: Direct-Access     UFD 3.0  Silicon-Power64G 1100 PQ: 0 ANSI: 6    
[ 2400.078959] sd 14:0:0:0: Attached scsi generic sg2 type 0    
[ 2400.079566] sd 14:0:0:0: [sdb] 125829120 512-byte logical blocks: (64.4 GB/60.0 GiB)    
[ 2400.080048] sd 14:0:0:0: [sdb] Write Protect is off    
[ 2400.080056] sd 14:0:0:0: [sdb] Mode Sense: 43 00 00 00    
[ 2400.080537] sd 14:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 2400.087612]  sdb:    
[ 2400.089881] sd 14:0:0:0: [sdb] Attached SCSI removable disk    
[ 2400.259653] ISO 9660 Extensions: Microsoft Joliet Level 3    
[ 2400.260897] ISO 9660 Extensions: RRIP_1991A

答案1

您看不到任何分区,因为媒体没有分区。在 USB 发明之前,惯例是硬盘已分区,而软盘未分区。

当 USB 存储出现时,尚不清楚 USB 应该支持哪一种,因此最终需要同时支持这两种。

您无法将任何文件写入该设备的原因似乎是它使用的是只读的 ISO 9660 文件系统(因为它是为 CD ROM 媒体设计的)。

您应该可以通过输入以下内容来确认这一点:

grep sdb /proc/mounts

我希望你会看到一行以

/dev/sdb /media/albert/Linux\040Mint\04017.3\040MATE\04064-bit iso9660

后面没有分区号sdb表示文件系统位于原始媒体而不是分区上,并iso9660表示文件系统正在被使用。

您还可以尝试此命令来查看哪些设备已分区,哪些没有分区:

cat /proc/partitions

答案2

我一直没能让 Linux 识别损坏的 USB 驱动器。然后我切换到 Windows 并尝试使用 Silicon-Power 提供的工具。但还是不行。最后,我通过进入 Windows 中的磁盘管理解决了这个问题,驱动器显示为未分配,我可以对其进行格式化。

但我还是不明白为什么会发生这种情况。对此做出更多回应对未来来这里的人仍然有帮助。

相关内容