我在使用 4GB ATP 工业级紧凑型闪存卡时遇到了一个奇怪的版本问题。我正在尝试将其用作 ALIX 单板 PC 的引导存储。
当我将它插入另一台 Linux 机器时,我看到:
[ 421.320908] scsi 3:0:0:0: Direct-Access eUSB Compact Flash 5.06 PQ: 0 ANSI: 2
[ 421.331377] sd 3:0:0:0: Attached scsi generic sg2 type 0
[ 422.670588] sd 3:0:0:0: [sdb] 7847280 512-byte logical blocks: (4.01 GB/3.74 GiB)
[ 422.700420] sd 3:0:0:0: [sdb] Write Protect is on
[ 422.700424] sd 3:0:0:0: [sdb] Mode Sense: 00 77 bd 6f
然后,当我尝试使用它进行任何类型的写操作时,我得到:
dd: failed to open ‘/dev/sdb’: Read-only file system
到目前为止我尝试过的事情:
- 上面似乎没有任何物理写保护开关
- 我能够重新格式化它,写入文件,在 Mac 上读回它们
- 我已成功将 Mac 上的整张卡归零 (
dd if=/dev/zero of=/dev/disk1 bs=10m
) - 我尝试使用 hdparm 禁用只读模式 (
hdparm -r0 /dev/sdb
),它不会出错,但也不会禁用写保护。 - 我在使用其他紧凑型闪存卡时没有任何这些问题——但我想使用这个,因为它更大——而且应该更好,因为它是工业级的。
在我的主要 Linux 机器上,我使用的是带有 Linux 内核版本 3.16.0-7-amd64 的 Debian 8 (Jessie)。
感觉好像有某种软写保护锁应用于紧凑型闪存,似乎只有 Linux 才能理解。
有没有人对尝试什么或可能出了什么问题有任何其他想法?
也许您可以使用此特定设备的 usb_storage 驱动程序的 quirks 模式解决此问题,请参阅https://askubuntu.com/a/1088434
如果您必须使用 quirks 模式,这可能意味着 Compact Flash 卡的行为与(大多数)其他 CF 卡不同。