MicroSD 卡设置为只读状态。我怎样才能在上面写数据?

Ang*_*rem 39 ram sd-card

我的笔记本中有一个 MicroSD 读卡器。当我将 MicroSD 存储卡插入其中时,我无法在其中写入任何数据 - 它是只读的。当我尝试在 root 下执行时,也会发生同样的事情。而且我无法更改它的权限策略。所有 microSD 卡都会出现此问题(我测试了 2 张卡)。我在 Ubuntu 12.04 LTS 上遇到过它,现在我在 Ubuntu 12.10 上,问题仍然存在。当我尝试在我的手机中插入这样一张“只读”卡时,一切正常,我可以在上面写数据。那么,谁能告诉我,我怎样才能在卡上写入数据?

UPD:这里的fdisk -l输出:

Disk /dev/sdc1: 2013 MB, 2013135360 bytes
62 heads, 62 sectors/track, 1022 cylinders, total 3931905 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

 Device Boot      Start         End      Blocks   Id  System
Run Code Online (Sandbox Code Playgroud)

卡的文件系统是msdos. 对我来说这很奇怪。

UPD2:我在我的卡适配器上发现了一个小的“锁定”开关,当我将它插入我的笔记本电脑时,它打开了。也许,我得找点胶水什么的才能把开关卡住……

UPD3:我附近没有胶水,所以我决定再买一个读卡器。

Jac*_*erz 39

两种可能性,首先是作为硬件的东西,因为微型 SDHC 有一个小缺口,您可以很容易地注意到哪个与阅读器中的另一个缺口相匹配,并且基本上只是在只读模式下启用它。您无法更改,只需尝试使用另一个阅读器,或者您可以在凹槽上放一块硅片或胶带,最简单的方法是使用另一个阅读器。

第二种可能性是文件权限问题,在这种情况下,您可以执行以下操作:在终端中,使用以下命令:

gksudo nautilus
Run Code Online (Sandbox Code Playgroud)

这将在 root shell 中启动 nautilus 并绕过所有权限。或者:

sudo fdisk -l
Run Code Online (Sandbox Code Playgroud)

这将为您提供系统上的驱动器列表,找出它在列表中的驱动器,最简单的方法是查找,blocks因为这是空间。它可能是/dev/sdb/dev/sdc,然后

sudo chown -hR <your username> <the SDHC drive, /dev/sdb for example>
Run Code Online (Sandbox Code Playgroud)

这会将驱动器的所有权更改为您。或者:

sudo chmod -R 777 <the SDHC drive, /dev/sdb for example>
Run Code Online (Sandbox Code Playgroud)

虽然如果你只执行第一个命令,sudo nautilus它会为你省去所有这些麻烦,但是每次使用 SDHC 时你都必须这样做。

如果所有这些都不起作用,请使用以下命令:

sudo mount --options remount,rw <the SDHC drive, /dev/sdb for example, find it using fdisk -l>
Run Code Online (Sandbox Code Playgroud)

如果有什么不明白的可以评论。

  • @JackMayerz 我已经尝试了你上面提到的所有命令,但不幸的是它们都不起作用。最后一个命令结果显示`mount: cannot remount block device /dev/sdb1 read-write, is write-protected`所以你有什么建议给我! (8认同)
  • Micro SDHC 不应具有只读槽口 IIRC。 (6认同)
  • 真的吗?微?还是我将它与 Mini/fullsize 一起使用? (2认同)
  • 嗯,我的 class 10 Transcend 32GB Micro SDHC 确实有一个,这就是我所知道的。 (2认同)

小智 18

无法得到它试试这个登录到 root 模式.. 打开终端类型

hdparm -r0 /dev/sdc
Run Code Online (Sandbox Code Playgroud)

比你的写保护位或者说你的只读位将被设置为零,现在你输入

mount /media/ur_pen_drive_name(like mine is HSR)/ -o remount,rw
Run Code Online (Sandbox Code Playgroud)

就是这样......记住Windows不能这样做,因为你的笔式驱动器中有病毒......现在它没有任何更改权限所以如果你发现任何.exe文件没有从你的pd 只需执行上述两个步骤,然后您就可以将其删除...


Cir*_*郝海东 17

物理写保护

对于那些以前从未使用过 SD 卡的人(一切都是第一次,我 20 多岁了!),您必须将 LOCK 开关移至解锁位置:

图像归属

它类似于内置 MicroSD 的微型 SD 适配器:加密狗在适配器上:

相关:https : //raspberrypi.stackexchange.com/questions/8225/trying-to-image-sd-card-not-working-read-only-file-system

  • 我投了反对票,因为你只是复制了这个答案 [here](http://raspberrypi.stackexchange.com/a/55677/33476),在这个过程中碰到了一个老问题。这不行。我没有在 RPi.SE 上对你投反对票,因为你似乎在那里为你的代表工作。 (2认同)
  • @DmitryGrigoryev 感谢您的反馈。堆栈交换分离到多个网站是有缺陷的,因为它会创建像这样的重复项,并且不存在跨站点重复项。图片是这个问题的最佳答案。如果其他人在那里添加两个不同的类似图像,您会有不同的感觉吗?:-) (2认同)

swa*_*ntu 5

在命令窗口中,您可以查看系统是否反对使磁盘可读写。例如,假设它挂载为 /dev/sdb1。成为 root 或使用 sudo:

mount -orw,remount /dev/sdb1 
Run Code Online (Sandbox Code Playgroud)

要么使磁盘可写,要么给你一条错误消息,说明它为什么不能写。