如何修复 SD 卡上的此 I/O 错误?

如何修复 SD 卡上的此 I/O 错误?

我尝试使用 gparted,但没有成功。我找到了一个SD格式化程序,用于完全擦除的 Windows 工具。


我有一张 SD 卡,想在上面安装 Debian。 dd 过程大约需要 45 分钟,之后我退出了它。在我的 Windows 计算机中,它显示在驱动器列表中,但在尝试格式化甚至打开时也出现未定义的错误。 gparted 只是告诉我

/dev/mmcblk0: unrecognised disk label

我发出

dd if='deb.iso' of=/dev/mmcblk0 bs=512k
dd: error writing „/dev/mmcblk0“: I/O error
0+1 data in
0+0 data out
copied 0 Bytes (0 B), 10,098 s, 0,0 kB/s

之后我尝试了

root@kali:~# lsblk -o NAME,FSTYPE,MOUNTPOINT,SIZE,RO
NAME    FSTYPE MOUNTPOINT   SIZE RO
sda                       465,8G  0
├─sda1  ext4   /          450,1G  0
├─sda2                        1K  0
└─sda5  swap   [SWAP]      15,7G  0
sr0                        1024M  0
mmcblk0                    29,5G  0

mmcblk0 是我遇到问题的一个。最后,我尝试过

root@kali:~# mkdosfs -F 32 -v /dev/mmcblk0
mkfs.fat 3.0.26 (2014-03-07)
/dev/mmcblk0 has 4 heads and 16 sectors per track,
hidden sectors 0x0000;
logical sector size is 512,
using 0xf8 media descriptor, with 61896704 sectors;
drive number 0x80;
filesystem has 2 32-bit FATs and 32 sectors per cluster.
FAT size is 15105 sectors, and provides 1933326 clusters.
There are 32 reserved sectors.
Volume ID is 2df52746, no volume label.
mkdosfs: failed whilst writing reserved sector 

我完全不知道为什么它不起作用。

答案1

dd: error writing „/dev/mmcblk0“: I/O error

“I/O 错误”(“输入/输出错误”的缩写)意味着访问硬件时出现问题。当您在存储介质上看到此信息时,这意味着您的存储介质已损坏或即将耗尽,或者您的电线松动或外围设备供电不足或存在其他一些硬件问题。

SD 卡出现 I/O 错误意味着该卡已损坏。这就是为什么没有软件可以让您对其进行格式化的原因。该卡无法再存储数据。它的某些区域可能仍然可用,但缺少一些位。

考虑到读卡器的质量,您的读卡器可能已损坏,而该卡可以在另一个读卡器上使用。但这种情况比较罕见,不要指望它。

您无法修复 SD 卡。扔掉 SD 卡并使用可用的 SD 卡。

答案2

对于文件系统来说,损坏的磁盘标签是一个大问题。我希望该卡上没有任何重要内容是您无法复制的,因为接下来的说明有效地为您提供了有关如何执行设备总体格式化的信息。

通常,设备的超级块(通常是其开头)有一个标头,该标头描述了设备上存在的所有分区。坦率地说,这个标签已损坏(根据您的错误消息)。您需要做的是创建一个新的分区表来解决这个问题。

我更喜欢使用名为“gparted”的实用程序来实现此目的,但您也可以使用常规“parted”、“testdisk”或“testdisk”衍生工具等替代方案。在“gparted”中,打开“GParted”选项卡并刷新设备。完成后,右侧应该有一个下拉菜单,其中列出了您的 SD 卡、硬盘驱动器以及您当时可能连接的任何其他长期存储介质。从此菜单中选择您的 SD 卡(抱歉,我不知道 SD 卡 ATM 的路径名称)。打开设备选项卡,您应该会看到一个显示“创建分区表...”的按钮。另一个选项“尝试数据救援...”现在应该不重要,但如果您愿意,我会在评论中解释。不管怎样,继续创建分区表。这将删除旧的分区表并在超级块的位置创建一个新的分区表。如果您打算将 SD 卡放入 MS-DOS 计算机,您可能应该选择“MPT”类型标签,或者一般选择它。完成此操作后,返回到原来显示栏的屏幕。右键单击灰色栏并选择“新建”。现在,您可以在合理范围内将 SD 卡格式化为您想要的任何文件系统类型。我建议“ext4”用于仅限 Linux 使用,“fat64”用于 MS-DOS 和 Linux 功能。

恭喜!您刚刚手动完成了 SD 卡的完整格式化!您现在应该能够使用“dd”来制作 Debian 映像的按位克隆。如果不能,请尝试验证 SD 卡和 Debian 映像未损坏(并可能重试)。

答案3

由于某些奇怪的原因,如果卡侧面的小开关将其标记为只读,Ubuntu 总是返回您上面提到的错误。尝试将其切换到其他位置并再次阅读......对我有用。

答案4

对于像我一样发现这一点的人 - 我刚刚意识到我的 NUC 侧面插入了一张 SSD 卡,但它没有完全插入,只是部分接触 - 将其移除对我的启动时间产生了奇迹。

相关内容