我正在尝试使用 ddrescue 从 SDHC 卡中抢救数据:
while true ; do ddrescue -d /dev/mmcblk0p1 mmc.img mmc.log ; done
Run Code Online (Sandbox Code Playgroud)
控制器,我不确定它是卡上的还是我笔记本电脑中的,在读取了一定数量的坏扇区后,似乎会返回所有扇区的错误(显示在系统日志中) t 显示在 syslog 中),我发现将卡再次弹出并插入插槽会重置它并再次将好扇区报告为好,直到读取了太多坏扇区,依此类推。
目前我正在使用这个循环,密切关注 ddrescue 的状态输出,手动重置卡。有没有办法在不取出卡的情况下重置控制器,以便救援过程可以无人看管?
也许这是相关的,但在这台戴尔笔记本电脑中,为了让读者注意到插入了卡,它必须在启动或使用期间完成echo 1 > /sys/bus/pci/rescan
,但只有一次,之后读卡器 PCI 设备出现,一切都按预期工作:
07:00.0 System peripheral: JMicron Technology Corp. SD/MMC Host Controller (rev 30)
Subsystem: Dell Device 046e
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at f0600000 (32-bit, non-prefetchable) [size=256]
Capabilities: [a4] Power Management version 3
Capabilities: [80] Express Endpoint, MSI 00
Capabilities: [94] MSI: Enable- Count=1/1 …
Run Code Online (Sandbox Code Playgroud)