我有一张容量为 16 GB 的 SanDisk Ultra microSD 卡。我使用 Zebronics ZEB-230CR 读卡器将它连接到我的笔记本电脑。
我在格式化卡时遇到问题。我在 Ubuntu 18.04 上打开磁盘实用程序并将整个驱动器格式化为 msdos 布局。磁盘实用程序显示驱动器有 16 GB 未分配空间。GParted 也显示相同。但是,当我使用 GParted 添加 FAT32 分区时,出现以下错误:
盘外不能有分区!
fdisk /dev/sdb -l 的输出如下:
我无法从以前的任何答案中诊断出问题。分区未能正确创建。这是sd卡的问题还是我做错了什么?
编辑:使用“磁盘”实用程序格式化磁盘后,格式化后fdisk 的输出如下
编辑:尝试创建分区后的日志
块引用 GParted 0.30.0 --enable-libparted-dmraid --enable-online-resize
Libparted 3.2
在 /dev/sdb 00:00:05(错误)上创建主分区 #1(fat32、14.84 GiB)
创建空分区 00:00:00(成功)
路径:/dev/sdb1(分区)开始:2048 结束:31115263 大小:31113216(14.84 GiB)清除 /dev/sdb1 中的旧文件系统签名 00:00:05(错误)libparted 消息(信息)
盘外不能有分区!
通常一个新的分区表根本不应该有任何可见的条目——即使它总是恰好有 4 个槽,它们应该被清零并且不会出现在分区工具中。也就是说,通过fdisk创建一个分区后,你应该看到一个分区。
但是在你的截图中,剩余的分区表条目并没有被清零——尽管它们的类型设置为“空”,条目仍然有开始/大小和其他值。(此外,第一个分区是 ~31 GB,即使它在 ~15 GB 的磁盘上,并且没有分区工具允许这样做。)
这可能不是软件错误——
0x0200'0200
所有“开始”和“大小”字段中的重复模式 (33554944) 让我怀疑这是硬件问题(例如卡的闪存坏了)。基本上,即使程序试图将零写入卡,在读回相同数据后,某些位也会永久停留在“1”。(这也是为什么第一个分区的起始扇区 2048 (0x0000'0800) 突然变成 33556992 (0x0200'0A00),并且很可能整个 MBR 都以同样的方式损坏。)
在同一个读卡器上试用不同的卡,在不同的读卡器上试用同一张卡——其中一个可能需要扔掉。(也许清洁电触点以防万一?)