![如何将损坏的 SD 卡复制到文件夹](https://linux22.com/image/874225/%E5%A6%82%E4%BD%95%E5%B0%86%E6%8D%9F%E5%9D%8F%E7%9A%84%20SD%20%E5%8D%A1%E5%A4%8D%E5%88%B6%E5%88%B0%E6%96%87%E4%BB%B6%E5%A4%B9.png)
我的 SD 卡无法使用,我想知道是否可以将卡中的所有内容复制到一个文件夹中,然后从那里我可以获得我想要的数据?
它在写入 fdisk -l 时显示出来,所以我认为应该可以恢复它的数据。
jeggy@jeggy-Lenovo-Z50-70:~$ sudo fdisk -l
Disk /dev/sda: 931,5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: D2E3AD64-F811-498E-9E39-6851E1B789A5
Device Start End Sectors Size Type
/dev/sda1 2048 616447 614400 300M Windows recovery environment
/dev/sda2 616448 821247 204800 100M EFI System
/dev/sda3 821248 1083391 262144 128M Microsoft reserved
/dev/sda4 1083392 292954425 291871034 139,2G Microsoft basic data
/dev/sda5 1937899520 1953523711 15624192 7,5G Linux swap
/dev/sda6 292956160 1937899519 1644943360 784,4G Linux filesystem
Partition table entries are not in disk order.
Disk /dev/mmcblk0: 7,3 GiB, 7822376960 bytes, 15278080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
更新
jeggy@jeggy-Lenovo-Z50-70:~$ sudo dd if=/dev/mmcblk0 of=sdcarddataNew.img bs=4M
[sudo] password for jeggy:
dd: error reading ‘/dev/mmcblk0’: Input/output error
1686+1 records in
1686+1 records out
7074086912 bytes (7,1 GB) copied, 539457 s, 13,1 kB/s
jeggy@jeggy-Lenovo-Z50-70:~/Desktop$ sudo losetup /dev/loop0 sdcarddataNew.img
losetup: sdcarddataNew.img: failed to set up loop device: Device or resource busy
我尝试使用 R-Linux 来处理 .img 文件,但发现没有任何可用的东西
附言:完成后,我尝试将微型 SD 卡从微型 SD 卡适配器中取出,但它有点烧毁和融化,所以现在可能完全搞砸了。
答案1
你可以使用dd(1)
复制 SD 卡。
$ dd if=/dev/mmcblk0 of=sdcarddata.img bs=4M
之后,你可以使用losetup(8)
# losetup /dev/loop0 sdcarddata.img
完成恢复并取出文件后,取消映射映像(确保先将其卸载)
# losetup -d /dev/loop0