怎样用Linux命令备份树莓派文件到SD卡上

电子说

1.3w人已加入

描述

对于所有曾经使用过Raspberry Pi的人来说,你可能已经体验过SD卡损坏的感觉,特别是当你的文件存储在其中。在Linux中使用几个非常简单的命令,您将可以轻松备份Raspberry Pi SD卡。并且,在需要时,将Raspberry Pi备份恢复到新的SD卡。

这个过程非常简单明了。将Raspberry Pi备份映像恢复到新SD卡后,您就可以将其插入并像旧系统一样使用它。另外本文介绍了如何备份具有多个分区的Raspberry Pi SD卡以及dd命令错误的解决方案:“dd:写入`/dev/sdc‘:输入/输出错误”。它还解决了将图像文件恢复到其上后无法使用Raspberry Pi SD卡的全部内存容量的问题。使用这个DIY Hacking教程来保护你在Raspberry Pi上的所有宝贵工作。

如何备份Raspberry Pi项目文件?

在这里,我们使用简单的dd命令来创建我们要备份的SD卡的映像(.img)。然后可以将此图像压缩并存储在您的PC中以备将来使用。在恢复Raspberry Pi备份时,您再次以相反的顺序使用dd命令并准备新的SD卡。但请注意,您只能将.img文件还原到具有与原始备份SD卡相同或更大内存容量的内存卡上。执行dd命令时请采取额外的预防措施,因为如果在其中输入不正确的目标或源地址,可能会导致您损坏硬盘。

步骤1:备份SD卡

首先,将Raspberry Pi SD卡插入到您的存储卡读卡器/插槽中PC。接下来,使用dd命令创建SD卡的映像文件。要正确识别您的卡,请在插入SD卡之前和之后执行“ df -h ”并观察新路径。这些新路径代表您的SD卡。您可能会注意到存储卡有多个分区。例如,当您执行“ df -h ”时,它可能会将您的SD卡列为/dev/sdc1和/dev/sdc2。在这种情况下,在执行dd命令时只使用“/dev/sdc”,包括两个分区,如下所示:

sudo dd if =/dev/sdc of =/home/ars/backup。 img

存储卡应在“if”下指定,备份目的地在“of”下指定。您也可以使用“bs = 1M”或“bs = 4M”来指定写入速度。

但是,执行上述命令后,有些人可能会遇到像dd这样的错误:写入`/dev/sdc’:输入/输出错误。对于那些没有收到此错误的人,请继续执行第二步。此错误通常是由于读取SD卡时遇到的一些错误引起的。在启动Pi时看到警告的人通常会遇到这种情况,并说他们应该手动执行fsck操作。这是由于SD卡卸载不当造成的。要克服此错误,您必须在SD卡上执行fsck操作。在执行此操作之前,请按以下步骤卸载SD卡:

umount/dev/sdc1

umount/dev/sdc2

接下来,执行“fsck”操作以纠正存储卡中的错误:

sudo fsck -C/dev/sdc1

sudo fsck -C/dev/sdc2

现在,取出读卡器或SD卡,然后重新插入。再次,执行如下的dd命令;它应该没有任何错误。如果它再次显示dd错误,请重复上述步骤。

sudo dd if =/dev/sdc =/home/ars/backup.img

步骤2:将Raspberry Pi备份恢复到新SD卡

现在,我们将从第一步恢复Raspberry Pi备份。如果您使用的SD卡中包含一些数据,那么您必须先将其格式化。如果您有一张全新的卡片,可能没有必要进行格式化,即使它不会受到影响。将新卡插入读卡器。使用“ df -h ”命令识别新的存储卡。如果卡上有多个分区,如/dev/sdc1和/dev/sdc2,请使用/dev/sdc格式化卡以包含两个分区。格式化卡之前,请卸载SD卡。因此,对于没有分区的SD卡:

umount/dev/sdc

对于使用了多个分区的SD卡:

umount/dev/sdc1

umount/dev/sdc2

接下来,使用此命令格式化卡片:

sudo mkdosfs -I - F32/dev/sdc

此后,您将拥有一张完全空白且格式化的SD卡。现在,取下读卡器或SD卡,然后将其重新插入PC。接下来,执行dd命令以在此新卡上恢复Raspberry Pi备份。使用“if”部分下的第一步创建的图像文件的位置和“of”部分下的新SD卡位置,如下所示:

sudo dd if =/home/ars/backup.img =/dev/sdc

现在您已经创建了原始Raspberry Pi SD卡的文件。将它插入你的Raspberry Pi,就像以前一样。

如果您使用的内存容量大于原始卡的新SD卡,当您执行“df -h”命令时,您会注意到新卡的大小与原始的SD卡,即使它实际上是一个更大的SD卡。为了充分利用新SD卡的整个空间,只需将卡插入Raspberry Pi即可启动。输入命令“sudo raspi-config”并选择“Expand root partition”选项。选择“完成”后,它会要求您在退出时重新启动。重新启动后,执行“df -h”命令,您将注意到SD卡达到其最大容量。

在任何情况下,如果遇到dd错误dd:写入`/dev/sdc‘:输入/输出错误,在第二步中,请像第一步一样执行fsck操作,并且将Raspberry Pi SD卡或存储卡读卡器卸下并重新插入PC后,再次执行dd命令。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分