我有两张相同类型的 SD 卡:SanDisk Ultra UHS-I A1 32GB,
一张是全新的,另一张已经使用过。
两张卡在我的 ArchLinux 笔记本电脑(MacBook Pro 2013,系统是最新的)上都出现了相同的症状:
- 它们显示为 /dev/mmcblk0,没有任何像 /dev/mmcblk0p1 这样的分区。
- 因此我无法安装或格式化它
- 当我使用 fdisk 创建分区时,我没有收到任何错误,fdisk 声称它已成功写入新分区表。但之后仍然只有 /dev/mmcblk0。当我再次运行 fdisk 时,它显示没有分区,但有 29.7GB 的未分区空间
由于一张卡是全新的,另一张卡被 Raspberry PI 使用时没有出现问题,所以我猜是我的系统出了问题,而不是卡的问题。
我还有其他来自不同制造商的 8GB SD 卡,它们在同一台笔记本电脑上运行良好。
dmesg
节目
[ 1972.817757] mmc0: new ultra high speed SDR104 SDHC card at address 5048
[ 1972.818449] mmcblk0: mmc0:5048 SD32G 29.7 GiB
[ 1982.874326] mmc0: Timeout waiting for hardware interrupt.
[ 1982.874343] mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========
[ 1982.874385] mmc0: sdhci: Sys addr: 0x000010c8 | Version: 0x00001502
[ 1982.874429] mmc0: sdhci: Blk size: 0x00007200 | Blk cnt: 0x00000000
[ 1982.874440] mmc0: sdhci: Argument: 0x00000000 | Trn mode: 0x0000003b
[ 1982.874449] mmc0: sdhci: Present: 0x1fff0000 | Host ctl: 0x0000001f
[ 1982.874458] mmc0: sdhci: Power: 0x0000000f | Blk gap: 0x00000000
[ 1982.874467] mmc0: sdhci: Wake-up: 0x00000000 | Clock: 0x00000007
[ 1982.874476] mmc0: sdhci: Timeout: 0x0000000a | Int stat: 0x00000000
[ 1982.874484] mmc0: sdhci: Int enab: 0x03ff008b | Sig enab: 0x03ff008b
[ 1982.874492] mmc0: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
[ 1982.874500] mmc0: sdhci: Caps: 0x176ec8b0 | Caps_1: 0x03002177
[ 1982.874508] mmc0: sdhci: Cmd: 0x0000123a | Max curr: 0x00000000
[ 1982.874515] mmc0: sdhci: Resp[0]: 0x00000900 | Resp[1]: 0x00000900
[ 1982.874523] mmc0: sdhci: Resp[2]: 0x00000900 | Resp[3]: 0x00000900
[ 1982.874528] mmc0: sdhci: Host ctl2: 0x0000804b
[ 1982.874537] mmc0: sdhci: ADMA Err: 0x00000001 | ADMA Ptr: 0x0000000104fe3204
[ 1982.874541] mmc0: sdhci: ============================================
[ 1982.874616] mmc0: Unexpected interrupt 0x04000000.
[ 1982.874623] mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========
[ 1982.874630] mmc0: sdhci: Sys addr: 0x00000000 | Version: 0x00001502
[ 1982.874637] mmc0: sdhci: Blk size: 0x00007200 | Blk cnt: 0x00000000
[ 1982.874645] mmc0: sdhci: Argument: 0x00000000 | Trn mode: 0x00000033
[ 1982.874654] mmc0: sdhci: Present: 0x1fff0001 | Host ctl: 0x0000001f
[ 1982.874663] mmc0: sdhci: Power: 0x0000000f | Blk gap: 0x00000000
[ 1982.874671] mmc0: sdhci: Wake-up: 0x00000000 | Clock: 0x00000007
[ 1982.874678] mmc0: sdhci: Timeout: 0x0000000a | Int stat: 0x00000000
[ 1982.874687] mmc0: sdhci: Int enab: 0x03ff008b | Sig enab: 0x03ff008b
[ 1982.874695] mmc0: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
[ 1982.874704] mmc0: sdhci: Caps: 0x176ec8b0 | Caps_1: 0x03002177
[ 1982.874712] mmc0: sdhci: Cmd: 0x00000c1a | Max curr: 0x00000000
[ 1982.874720] mmc0: sdhci: Resp[0]: 0x00000900 | Resp[1]: 0x00000900
[ 1982.874728] mmc0: sdhci: Resp[2]: 0x00000900 | Resp[3]: 0x00000900
[ 1982.874734] mmc0: sdhci: Host ctl2: 0x0000800b
[ 1982.874744] mmc0: sdhci: ADMA Err: 0x00000001 | ADMA Ptr: 0x0000000104fe3204
[ 1982.874748] mmc0: sdhci: ============================================
任何帮助将不胜感激 :-)
编辑
经过大量的 Google 搜索后,我发现使用以下代码我可以创建分区、格式化和挂载它们。
rmmod sdhci sdhci_pci sdhci_acpi
modprobe sdhci debug_quirks2="0x04"
modprobe sdhci_pci sdhci_acpi
无论如何,当我将一些文件复制到其中并尝试卸载分区时,umount
命令会卡住并且永远不会完成。当我弹出 SD 卡并再次安装时,没有文件放在那里。