如何备份其他计算机“无法”正确识别的 SD 卡(包含操作系统),但它可以正常启动操作系统(!)

如何备份其他计算机“无法”正确识别的 SD 卡(包含操作系统),但它可以正常启动操作系统(!)

我的 RaspberryPi 从 32 Gb SD 卡启动。我将其从 RPi 上取下来进行备份,但该卡32 Mb在我插入的任何地方都显示为单个分区。

在我的另一个 Raspberry 上,parted 和 fdisk 中都将其列为 32 Mb

$ sudo parted
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Error: /dev/sda: unrecognised disk label
Model: Lexar LRWM04U (scsi)
Disk /dev/sda: 32.1MB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
(parted) quit
$ sudo fdisk -l
Disk /dev/sda: 30.6 MiB, 32096256 bytes, 62688 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

我的 Mac 也将其视为 32 Mb。事实上,我尝试过克隆 SD 卡,sudo dd if=/dev/rdisk4 of=~/pi20211210.img bs=1m并且得到了 32 Mb 的文件!

如果我把这张卡放在RaspberryPi上,它就可以正常工作,但是如果其他计算机无法正确识别它,我该如何备份它呢?

请注意,我已经尝试使用不同的 SD-USB 适配器和两台不同的计算机(Mac 和另一台 Pi)...

这是评论者要求的输出

 $ lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    1 30.6M  0 disk
$ lsblk -m
NAME         SIZE OWNER GROUP MODE
sda         30.6M root  disk  brw-rw----
 lsblk -f
NAME        FSTYPE LABEL    UUID                                 MOUNTPOINT
sda

答案1

如果卡上有有价值的数据,但没有在其他地方备份,则您需要采取救援措施。但这会很困难,除非你能让一些阅读器+计算机看到整个设备,而不仅仅是 32 MB。

  • 也许ddrescue会起作用,当存在坏扇区时,它相当宽容,并且可以克隆任何可以读取的内容。

  • 在克隆副本上,您可以尝试不同的修复工具,例如 TestDisk 和 PhotoRechttps://www.cgsecurity.org/

  • 但也有可能 SD 卡的内部系统已损坏,超出了您我可用的工具所能修复的范围。存储卡和 USB 闪存盘可能会在没有警告的情况下发生故障。我们希望您能够使用 克隆整个驱动器或至少其中大部分ddrescue

请参阅以下链接。

答案2

当我读到你的问题和评论时,听起来你的 SD 卡很 FUBAR。如果是这样,我知道没有办法进行备份 - 备份程序需要安装并读取 SD 卡。唯一潜在的救赎可能是fsck;这可能是一个不太可能的事情,但只需要几分钟就能找到答案。 FWIW,我发布了fsck在SD卡上运行的程序一会儿回来。

关于你的lsblk输出,我觉得这lsblk --fs是最有信息性的,也是最容易阅读的——至少这是我的经验。

在不久的将来的某个时候,您要么足够幸运地恢复部分或全部 SD 卡,要么 - 您将获得一张新的 SD 卡并在其上重新安装。当你到达那个点时,你应该考虑使用它image-utils来备份您的 RPi

相关内容