我刚买了一张新的 8Gb SDHC 卡,但无法在上面创建分区。使用 GParted 时不行,使用 mkfs 时也不行。
当我插入 SD 卡时,dmesg 中显示以下内容:
...
[ 8488.662181] mmc0: card lacks mandatory switch function, performance might suffer.
[ 8488.839524] mmc0: new SDHC card at address b368
[ 8488.839870] mmcblk0: mmc0:b368 SMI-S 7.54 GiB
[ 8488.842163] mmcblk0: unknown partition table
但是当我尝试使用 dd 将 .img 文件写入 SD 卡时,出现了许多 I/O 错误:
...
[ 8639.446903] mmcblk0: error -123 sending status command, aborting
[ 8639.446905] end_request: I/O error, dev mmcblk0, sector 460672
[ 8639.446910] end_request: I/O error, dev mmcblk0, sector 460680
[ 8639.446915] end_request: I/O error, dev mmcblk0, sector 460688
...
当我尝试在 GParted 中创建分区表时,还会出现以下错误:
...
[ 8840.084006] mmc0: Timeout waiting for hardware interrupt.
[ 8840.084252] mmcblk0: error -110 sending stop command, original cmd response 0x900, card status 0xe00
有谁知道该怎么做才能让它发挥作用?
答案1
将 SD 卡插入读卡器并允许 Ubuntu 识别和安装它。
单击屏幕顶部的“应用程序”菜单,然后单击“附件”和“终端”以打开命令提示符。
输入df
并按下Enter。这会显示计算机当前使用的每个存储设备的列表。找到 SD 卡的设备名称。它可能类似于/dev/mmcblk0
,或者,如果你使用 USB 读卡器,则为/dev/sdxN
(x
包含一个字母和N
一个数字;例如:/dev/sdb1
(.
输入umount
,然后输入您在步骤 1 中找到的设备名称。例如,完成的命令可能是umount /dev/sdb1
。Enter输入命令后按 。此命令将从系统中卸载 SD 卡。
键入mkdosfs -F 32 -v <device name as explained above>
并按Enter。例如,完成的命令可能是mkdosfs -F 32 -v /dev/sdb1
。-F 32
该命令的一部分使用 FAT32 文件系统格式化 SD 卡。如果您希望使用 FAT16 格式化卡,请忽略此部分。-v
该命令的一部分提供了操作的详细(完整)摘要。
操作完成后,取出并重新连接 SD 卡以重新安装。
答案2
我的问题没有完全解决,但我怀疑我的 SD 卡有问题,我尝试了几种不同的操作系统和设备,但都无法格式化我的 SD 卡。我买了一张新的,它运行正常。
答案3
我遇到了一个和你的情况很相似的 I/O 错误。就我的情况而言,解决方案很简单:SD 卡被手动锁定了。所以我只需移动 SD 卡上的小开关即可解锁。之后,所有错误都消失了。