为什么某些 FAT32/ExFAT 格式的 USB 笔式驱动器只能在 Windows 中使用?

为什么某些 FAT32/ExFAT 格式的 USB 笔式驱动器只能在 Windows 中使用?

我遇到过几个在 Mac 电脑上根本无法使用的 USB 驱动器(我在 3 台 Mac 电脑上测试过,所以这不是某台 Mac 电脑的 USB 端口的问题)。桌面上没有出现驱动器,我在 /media/ 中找不到它,什么都没有!Linux 机器(Raspberry Pi OS)上也发生了类似的事情。

其中一个驱动器是无名驱动器,但另一个是飞利浦的。而且它们不使用 NTFS 文件系统(即使如此,它在 Mac 中也应该显示为只读文件系统)。

那么,为什么它们只能在 Windows 上运行?它们的固件中是否有什么东西可能导致它们只能在 Windows 机器上运行?

答案1

Pendrive 可以有 MBR,也可以没有。文件系统 (exFAT、FAT) 可以在驱动器的开头创建,其中应该是 MBR。这种差异可能会导致驱动器在某些操作系统中不可见。

检查两种方式:在第一个扇区处使用 MBR,并且分区从 2048 扇区开始(您可以在 fdisk、Disks 或 GParted 中执行此操作),另一种方式:不使用 MBR,但具有从扇区 0 开始的文件系统(在整个驱动器 /dev/sdb 上创建,使用 mkfs.exfat/mkfs.fat)。

如果驱动器可以工作 - 则意味着您已经找到了解决方案。

答案2

将它们放入Linux机器(Raspberry Pi就足够了)并运行dmesg,并lsusb确保它看到他们对它们有何看法。

然后,如果你发现他们不被承认为大容量储存设备,您已经发现问题了:这些是非标准设备,在 Windows 中使用特殊驱动程序。再也不要购买这种垃圾东西了。

每个“标准 USB 笔式驱动器”都应将自身报告为大容量存储,在 Linux 中被视为块设备。我们使用fdisk -l /dev/sdXlsblkblkid来查看块设备结构。(运行后将会看到一些提示dmesg:如果存在可识别的分区表,则会将其打印出来。)特别是,blkid将检测是否存在受支持的文件系统以及是哪一个。

典型结构如下:驱动器有一个分区表,可能是 MBR(某些系统在可移动设备上使用 GPT 时会遇到困难)。该分区表有一个分区类型,我认为是 0x7 或 0xc。您遇到的任何系统都会正确识别它。如果您看到不同的内容,那可能是原因。在这种情况下,请随意创建您喜欢的结构。

相关内容