如何解决SD卡上的此I / O错误?


14

我尝试了gparted,但是没有用。我找到了SDFormatter,用于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 

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


I / O错误不一定表示可以通过手机访问SD卡,但未在Ubuntu上安装端口。

Answers:


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

“ I / O错误”(“输入/输出错误”的缩写)表示访问硬件存在问题。当您将其放在存储介质上时,表示存储介质已死或快要死了,或者导线松动或外围设备电源不足或其他硬件问题。

SD卡的I / O错误意味着它已死。这就是为什么没有软件允许您格式化它的原因。该卡无法再存储数据。它的某些区域可能仍然可用,但是缺少一些功能。

考虑到读卡器的质量,读卡器可能损坏了,并且该卡可以在其他读卡器上工作。但这是一种罕见的情况,不要指望它。

您无法修复SD卡。扔掉SD卡,然后使用可以使用的SD卡。


1
我的旧华硕笔记本电脑内置读卡器存在相同的问题,该卡在Windows(不同的机器)和Camera上均可使用,因此我使用了外部读卡器,并且该卡工作正常。
jcubic

但是我在复制一个文件时遇到问题,因此SD卡毕竟可能已损坏。
jcubic

3

磁盘标签损坏对于文件系统来说是一个大问题。我希望您在该卡上没有什么不可以复制的重要内容,因为这些后续说明可为您提供有关如何执行设备整体格式的信息。

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

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

恭喜你!您只是手动执行了SD卡的完整格式!现在,您应该可以使用“ dd”对Debian映像进行按位克隆。如果不能,请尝试验证SD卡和Debian映像是否未损坏(并可能再试一次)。


2
我真的希望我不要发布很多无用的信息。
Minty Fresh先生,2015年

我只是“尝试数据救援”,只是希望gparted更加冗长:/
水瓶座力量

尝试使用gparted并仍然收到I / O错误消息...。但是然后...尝试了其他读卡器,并且该卡的格式正常。现在使用该SD卡没问题。始终,始终,始终检查读卡器,以确保其不会冒烟。
portsample

0

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.