不久前我买了一张据称 32GB 的 SD 卡,但是使用一段时间后,我发现它只插入了 2GB。如果我写入的数据超过了 2GB 的限制,那么我读取的文件将由零字节组成。
我知道前 2GB 是有效的,但我不知道有效区域在哪个扇区停止。你知道我在 Linux 上如何轻松找到最后一个可用扇区吗?所以我可以创建一个仅限于这个有效区域的文件系统
谢谢
答案1
我个人建议把它扔掉。你的卡似乎故意错误地报告了它的功能(大概是为了让你为你没有得到的内存付费)。即使你将文件系统大小限制为“实际”闪存区域,你也没有好的方法知道它到底会如何表现——它可能会做各种奇怪的事情,比如保留最近的 2 GB 数据或其他什么,以便更好地欺骗潜在客户。
我认为你不能信任这个设备,无论你对它做什么 - 即使你让它作为 2 GB 的设备“工作”,它仍然可能是一个非常糟糕的设备并且会很快损坏。