SD 卡丢失文件系统-发生了什么?

SD 卡丢失文件系统-发生了什么?

我正在尝试建立一个包含数百台无风扇 (ARM)PC 的网络。每台计算机的文件系统都位于 32G SD 卡上。我正在使用的图像使用 Debian 6.x,并且该卡使用 EXT2 格式化为一个大分区。

昨晚其中一台测试机器开始抛出以下错误:

sd 0:0:0:0: [sda] Device not ready
sd 0:0:0:0: [sda]  Result: hostbyte=0x00 driverbyte=0x08
sd 0:0:0:0: [sda]  Sense Key : 0x2 [current]
sd 0:0:0:0: [sda]  ASC=0x3a ASCQ=0x0
sd 0:0:0:0: [sda] CDB: cdb[0]=0x28: 28 00 00 2d 78 86 00 00 08 00
end_request: I/O error, dev sda, sector 2979974
EXT2-fs (sda2): previous I/O error to superblock detected

sd 0:0:0:0: [sda] Device not ready
sd 0:0:0:0: [sda]  Result: hostbyte=0x00 driverbyte=0x08
sd 0:0:0:0: [sda]  Sense Key : 0x2 [current]
sd 0:0:0:0: [sda]  ASC=0x3a ASCQ=0x0
sd 0:0:0:0: [sda] CDB: cdb[0]=0x2a: 2a 00 00 01 78 86 00 00 08 00
end_request: I/O error, dev sda, sector 96390
EXT2-fs (sda2): error: read_block_bitmap: Cannot read block bitmap - block_group = 11, block_bitmap = 360448

这是否意味着介质有问题?或者正在以某种方式衰减?我将尝试重新格式化它,看看是否还会再次发生这种情况。

有没有更好的方法来设置这张卡?不同的文件系统?

编辑:可能相关的帖子这里。

答案1

我只能从自己使用 SD 卡的经验中得知。我曾经遇到过智能手机中使用的 SD 卡的问题。它似乎已损坏,我再也无法使用它。它是 FAT32 格式的。在我的 OSX 笔记本电脑上,我也遇到过类似的问题。在 Windows XP 计算机上,我可以访问该卡并进行备份。重新格式化后,完全没有问题。奇怪的是,只有在 Windows 下才没有问题。这张卡从未在 Windows 机器上格式化过,尽管可能是在工厂格式化的?

在我看来,SD 卡(据我了解)对于运行操作系统来说并不可靠。您可能发现了有问题的卡或格式化错误的卡。重新格式化它,标记它,以便下次您知道这张卡以前是否有问题,并记录这些卡的问题。为什么选择 SD 卡?

答案2

SD 卡上没有任何智能磨损均衡技术,因此完全有可能磨损存储重要文件系统信息的块或块组,从而使得卡的该区域基本上无法使用。

重新安装时,您不会检查文件系统中的坏块,而只是以线性方式在卡上复制图像,并且通常忽略写入操作是否实际写入了正确的数据或该块是否能够保存数据。

如果您能够格式化卡并执行坏块扫描,那么您可能会发现一些无法使用的区域。

很多设备允许你使用 SD 卡的原因非常明显。SD 卡非常便宜,各种尺寸随处可见,而且几乎普遍支持小型嵌入式处理器。人们选择以一种几乎肯定会让卡早早报废的方式使用卡,这不是金士顿的错(也不是任何其他 SD 卡制造商的错)。如果你的卡坏了,你只需重新安装并继续使用。

这些基于 ARM 的 PC 设备的价格太低,无法期望任何关键任务级别的可靠性。通常,如果您不想让 SD 卡坏掉,那么您需要将文件系统移至更可靠的设备。一些 Raspberry Pi 用户甚至将根文件系统移至 USB 硬盘驱动器以提高可靠性(硬盘不会像 SD 卡那样受损),甚至通过网络启动设备。

如果你确实经常使用这些卡,你可能需要查看基于 SD 卡的 ARM 设备的网站

相关内容