我有一个运动手表,带有集成的闪存。该闪存用于存储培训信息。当我使用USB电缆将手表连接到计算机时,将其检测为写保护的闪存驱动器:
[354703.052138] sd 7:0:0:0: [sdc] Write Protect is on
..而且我显然无法使用RW权限重新挂载该分区:
root@T60:~# mount -vt vfat -o rw,remount /dev/sdc1 /media/
mount: cannot remount block device /dev/sdc1 read-write, is write-protected
root@T60:~#
我记得hdparm
有一个选项可以更改设备的只读标志,并且由于检测到USB闪存驱动器为SATA驱动器,所以我尝试了一下,但这没有帮助:
root@T60:~# hdparm -r0 /dev/sdc
/dev/sdc:
setting readonly to 0 (off)
readonly = 0 (off)
root@T60:~# mount -vt vfat -o rw,remount /dev/sdc1 /media/
mount: cannot remount block device /dev/sdc1 read-write, is write-protected
root@T60:~#
我猜这只手表的设计方式是,一旦检测到USB连接,便会触发(硬件)USB写保护开关?这样的硬件写保护是否是USB标准的一部分?还是有什么可以尝试的?
RMPrepUSB
在Windows 8下使用实用程序删除闪存驱动器的写保护,但这没有用。闪存仍被检测为[442499.462150] sd 7:0:0:0: [sdb] Write Protect is on
。我猜它在固件或闪存控制器中都具有写保护。但是,我仍然有些疑惑,固件或内存控制器如何确定文件系统受写保护?通过不允许进行任何写操作并发送某个USB信号来告知OS驱动器已被写保护?