我有一张 microSD 卡(根据 Linux 的说法是“Lexar microSD RDR”),我以前用它作为我的 Android 6 手机的“内部存储”。然而,有一次,我不得不将这部手机恢复出厂设置;之后我的手机不再将 SD 卡识别为内部存储;也无法格式化该卡。
注意:我只用这张卡作为内部存储使用了大约 3 个月。在恢复出厂设置之前,一切都运行良好,没有对卡造成任何物理损坏,而且它肯定还没有接近使用寿命。
到目前为止我尝试过的Windows 10:
- 尝试右键单击并格式化。虽然这是 16GB 的磁盘,但 Windows 声称它只有 16 MB 的卷(见下文);以这种方式格式化它总是失败:“Windows 无法完成格式化”。
- 打开磁盘管理后,会发现该磁盘有 2 个主分区:一个 16 MB;另一个 14.90 GB。两个分区都显示为健康分区。但是,尝试在任何一个分区上“删除卷”都不起作用。
- 使用 DiskPart,我选择了磁盘,尝试了“清理”和“全部清理”。DiskPart 声称两种方法都有效(“DiskPart 成功清理了磁盘”),但实际上什么也没发生。之后我无法创建新的主分区(“非空的可移动磁盘不支持此操作”)。请注意,没有打开只读之类的标志!
- 尝试在“存储设备策略”下添加注册表项“写保护”并重新启动计算机;然后重复所有上述操作。没有结果。
- 尝试了不同的读卡器,有的带有侧面的锁定开关,有的不带有。
到目前为止我尝试过的Linux Mint 18.1:
- 查看磁盘,它显示了与之前相同的两个分区,但现在名称为“android_meta”和“android_expand”。尝试删除其中任何一个都不起作用。
- 尝试使用 GParted 进行同样的操作。删除两个分区似乎有效,但它们会立即重新出现。
- 尝试使用 fdisk 进行相同操作,结果仍然相同。
长话短说:我似乎完全无法格式化 SD 卡。我不在乎里面的内容;我只想能够再次使用它。
答案1
我知道并非所有格式化程序都是平等的,特别是在处理 SD/SDHC/SDXC 协议的安全功能方面。
首先,如果您知道确切的品牌/型号/协议,请在制造商网站上查找特定的格式化程序。对于您,我会仔细检查卡上的内容是否符合 Linux 检测到的内容,然后从那里开始。这是您能够访问 SD/SDHC/SDXC 卡的受保护区域并完全重新格式化它的最佳机会。
其次,您可能想尝试 SD Card Formatter 4.0 之类的软件,它应该比 OS 原生的 SD 卡格式化软件更好。
一些注意事项(参见下面的维基百科链接):使用不同的文件系统(甚至相同的文件系统)重新格式化 SD 卡可能会使卡变慢或缩短其使用寿命。有些卡使用磨损均衡,其中经常修改的块在不同时间映射到内存的不同部分,并且一些磨损均衡算法是为 FAT12、FAT16 或 FAT32 的典型访问模式设计的。此外,预格式化的文件系统可能使用与卡上物理内存的擦除区域相匹配的簇大小;重新格式化可能会改变簇大小并降低写入效率。
更多详细信息请访问这个维基百科页面
答案2
卡坏了。过去两年我遇到过三次,两次是 Transcend 卡,一次是 SanDisk。使用的设备是 2 部 Windows 手机(8 和 10)和一部 Android。
我试过 Linux、Windows、Winphone、Android。没有什么可以永久格式化或删除它们中的任何内容。许多程序会“假”格式化或“假”擦除卡。
我的建议是,鉴于 SD 卡的价格,不要在这上面浪费太多时间。
答案3
我似乎收到了一堆错误消息:
usb 1-9: new full-speed USB device number 6 using xhci_hcd usb 1-9: device descriptor read/64, error -71 ... device not accepting address 9, error -71 usb usb1-port9: unable to enumerate USB device
这些听起来不太好,但这是一张 SD 卡,你必须将它放在 USB 读卡器中。所以尝试一下:
- 不同的读卡器
- 完全不同的计算机
看看情况是否有所好转。如果可以,则可能是 USB 适配器或设备出了问题。或者,如果仍然出现错误并且无法写入卡,我会说卡已经坏了。
也许它还足够新,还在保修期内,并且有希望从商店或其他地方进行更换。
答案4
在 UNIX 和其他操作系统下,传统的方法是使用格式化程序来查找所有坏扇区,将它们放入文件 (inode) 中,并使文件不链接到文件系统目录树,并带有正引用计数,这样操作系统就永远不会访问所有这些坏扇区。这只有在操作系统文件系统设计为支持此功能时才有效,我认为大多数较新的操作系统都不支持它,但像 NTFS(1993) 或 Fat32(1996) 这样的旧系统可能有它,或者原始的 Linux 文件系统 (ext2(1993?)),当然还有 Unix 的 UFS(1969)。
此代码是在硬盘没有微处理器控制器的时代开发的。如今,硬盘(和闪存驱动器)对可靠性的要求越来越高,以至于新制造的设备会出现许多格式错误。它们都具有智能控制器,可以在制造时、在硬件级别发现错误,并隐藏磁性存储设备上有坏扇区或磁道的事实。对于闪存驱动器,它们还具有磨损均衡功能(在一定次数的使用后移动页面,始终保留 10% 的未使用页面)。
大多数文件系统格式化程序都已删除此功能,但可能仍有一些老程序支持此功能。如果是全新的闪存驱动器,您可能会搜索此功能,但如果驱动器已使用,则上述建议很好 - 整个驱动器都出现故障,您应该尽快摆脱它。