SD卡识别为sdX而非mmcblk的原因及移除CSD写保护方法咨询
SD卡识别为sdX而非mmcblk的原因及移除CSD写保护方法咨询
嗨,我来帮你拆解这个问题~
为什么你的SD卡被识别为sda/sdb而非mmcblk?
这完全是正常现象,核心原因在于你使用的是USB读卡器来转接Micro SD卡:
- 笔记本或主板自带的内置SD卡槽,是直接通过MMC总线和系统连接的,所以Linux会把这类设备识别为
mmcblkX格式的设备; - 但如果是通过USB读卡器插的SD卡,系统会把整个读卡器+SD卡的组合当成一个普通的USB存储设备,自然就会用
sda/sdb这类USB存储的命名规则了,不用担心设备出问题。
移除CSD写保护的可行方法
既然设备是sdX格式,你依然可以用工具操作CSD写保护,不过要先做好几个准备:
- 先确认正确的设备路径:运行
lsblk或fdisk -l,找到容量和你的SD卡匹配的设备(比如sdb),千万不要搞错设备,否则可能损坏其他磁盘的数据; - 卸载SD卡的所有挂载分区:比如如果分区挂载在
/mnt/sdcard,就执行umount /mnt/sdcard,或者直接用umount /dev/sdb*确保所有相关分区都卸载。
接下来试试这些方法:
方法1:用sdtool操作
sdtool支持sdX设备,直接用sudo权限执行解锁命令:
sudo sdtool --unlock /dev/sdb
(记得把sdb换成你实际的设备名)
方法2:用mmc-utils操作
如果sdtool没效果,可以试试mmc-utils(Manjaro上用yay安装:yay -S mmc-utils),它能直接修改CSD的写保护位:
sudo mmc csd overwrite /dev/sdb
重要提醒
- 操作前务必备份SD卡上的所有数据,修改CSD存在损坏卡或丢失数据的风险;
- 先检查Micro SD卡侧面的物理写保护滑块,如果滑块处于锁定位置,先把它拨到解锁侧——物理写保护优先级高于CSD软保护,物理锁没开的话,软件操作也没用。
备注:内容来源于stack exchange,提问作者Kazuya
相关产品推荐
相关产品推荐

