我在 Lenovo S130-14IGM 上遇到了一些 microSD 问题。我的笔记本电脑运行的是最新的 Debian 9。我有一个带有 ext4 分区的 microSD,/dev/mmcblk1p3
其行为很奇怪。
当我尝试将 /home 复制到其中时,速度出奇地快(这是普通的 microSD,不是极端或专业型号):
use@server:~$ df -hP /home
/dev/mmcblk0p3 11G 226M 11G 3% /home
use@server:~$ time sudo cp -a /home/ /mnt/backup/home.bak
real 0m2,249s
user 0m0,109s
sys 0m0,944s
然后当我尝试删除它时,我不起作用。
use@server:~$ time sudo rm -rf /mnt/backup/home.bak
命令行提示符卡住了。按 Ctrl+C 后,它告诉我该设备已被读保护。我无法以读写方式重新安装它。当我重新启动时,我遇到此类错误:
[ 6.375297] mmc1: cannot verify signal voltage switch
[ 7.825684] print_req_error: I/O error, dev mmcblk1, sector 88151744
[ 7.825795] Buffer I/O error on dev mmcblk1p3, logical block 532952, lost async page write
[ 7.825927] Buffer I/O error on dev mmcblk1p3, logical block 532953, lost async page write
[ 7.826035] Buffer I/O error on dev mmcblk1p3, logical block 532954, lost async page write
[ 7.826142] Buffer I/O error on dev mmcblk1p3, logical block 532955, lost async page write
[ 7.826248] Buffer I/O error on dev mmcblk1p3, logical block 532956, lost async page write
[ 7.826353] Buffer I/O error on dev mmcblk1p3, logical block 532957, lost async page write
[ 7.826458] Buffer I/O error on dev mmcblk1p3, logical block 532958, lost async page write
[ 7.826563] Buffer I/O error on dev mmcblk1p3, logical block 532959, lost async page write
[ 7.826672] Buffer I/O error on dev mmcblk1p3, logical block 532960, lost async page write
[ 7.826779] Buffer I/O error on dev mmcblk1p3, logical block 532961, lost async page write
[ 11.283705] EXT4-fs (mmcblk1p3): mounted filesystem with ordered data mode. Opts: (null)
我尝试使用不同的 microSD,总是出现同样的问题。这是身体问题吗?或者和操作系统相关的问题?
编辑: 更多信息 :
[ 101.259951] mmc1: cannot verify signal voltage switch
[ 102.762217] print_req_error: I/O error, dev mmcblk1, sector 96471296
[ 102.762232] Buffer I/O error on dev mmcblk1p3, logical block 1572896, lost async page write
[...]
[ 102.762283] Buffer I/O error on dev mmcblk1p3, logical block 1572904, lost async page write
[ 102.762287] Buffer I/O error on dev mmcblk1p3, logical block 1572905, lost async page write
[ 102.826584] JBD2: recovery failed
[ 102.826595] EXT4-fs (mmcblk1p3): error loading journal
[ 107.788103] mmc1: card 1234 removed
[ 114.171661] mmc1: cannot verify signal voltage switch
[ 114.295837] mmc1: new ultra high speed SDR104 SDXC card at address 1234
[ 114.297762] mmcblk1: mmc1:1234 SA64G 57.7 GiB
[ 114.298854] mmcblk1: p1 p2 p3
[ 118.234255] mmc1: cannot verify signal voltage switch
[ 119.713075] print_req_error: I/O error, dev mmcblk1, sector 96471296
[ 119.713091] buffer_io_error: 118 callbacks suppressed
[ 119.713095] Buffer I/O error on dev mmcblk1p3, logical block 1572896, lost async page write
[ 119.713120] Buffer I/O error on dev mmcblk1p3, logical block 1572897, lost async page write
[...]
[ 119.713167] Buffer I/O error on dev mmcblk1p3, logical block 1572905, lost async page write
[ 119.772674] JBD2: recovery failed
[ 119.772685] EXT4-fs (mmcblk1p3): error loading journal
[ 125.129966] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
[ 261.588698] mmc1: cannot verify signal voltage switch
[ 263.092258] print_req_error: I/O error, dev mmcblk1, sector 42240000
[...]
[ 263.402597] print_req_error: I/O error, dev mmcblk1, sector 42243072
[ 263.402610] EXT4-fs warning (device mmcblk1p2): ext4_end_bio:323: I/O error 10 writing to inode 917598 (offset 0 size 8388608 starting block 5280512)
[...]
[ 401.751429] mmc1: cannot verify signal voltage switch
[ 403.197791] print_req_error: I/O error, dev mmcblk1, sector 71374080
[ 543.585526] EXT4-fs warning: 25 callbacks suppressed
$ lspci | grep -i card
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5229 PCI Express Card Reader (rev 01)
我尝试了这个内核驱动程序但没有成功: https://github.com/Zibri/Realtek-rts5229-linux-driver
答案1
假设/mnt/backup/home.bak
是一个具有写入权限的文件夹,这听起来像是物理问题或损坏的分区表。你应该跑fsck
。ddrescue
建议用于备份分区。
答案2
经过研究我发现这可能与操作系统有关。您有 SDHC 或 SDXC 卡吗?与读卡器可能存在一些不兼容性。第一个错误消息 mmc1: 无法验证信号电压开关与内核相关。有人将此报告为 Fedora 28 的错误。但我不清楚这是否真的是错误或硬件不兼容。您可以在 Windows 上测试读卡器吗?