我有一个 USB 记忆棒(大约 2 个月)不断以只读方式安装。经过一番研究和测试后,我发现块设备设备本身 ( /dev/sdc
) 和分区之一 ( /dev/sdcX
) 始终具有只读标志(cat /sys/block/sdc/ro
且cat /sys/block/sdcX/ro
为 1)。
我不是在谈论安装选项!我必须手动将标志设置为 0,以便hdparm -r0 /dev/sdcX
能够将分区挂载为读写分区,并在每次插入 USB 记忆棒和重新启动后对其进行写入(是的,写入有效)。 USB 记忆棒没有只读硬件开关。我已经格式化了分区,重新创建了分区表,甚至dd if=/dev/zero of=/dev/sdc
确保旧的分区表被完全销毁,但没有任何改变。
笔记:然而,其他设备默认情况下没有设置此只读标志。
那么Linux内核如何决定是否默认为块设备设置只读标志呢?我怎样才能从早期启动开始永久改变这种行为? (我实际上是从这个 USB 记忆棒启动我的 Raspberry Pi,但在我的具有不同内核的笔记本电脑上,只读行为是相同的......)?