0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

454398 来源:工程师吴畏 2019-07-31 16:43 次阅读

对于所有曾经使用过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命令。

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

    关注

    87

    文章

    11296

    浏览量

    209348
  • SD卡
    +关注

    关注

    2

    文章

    564

    浏览量

    63890
  • 树莓派
    +关注

    关注

    116

    文章

    1707

    浏览量

    105610
收藏 人收藏

    评论

    相关推荐

    干货来喽!实用树莓Linux编译指南

    不友好,有没有好的解决办法? 今天来分享一下我的私藏干货——树莓Linux编译。编译好之后,开发板只需插到树莓派上连接电脑就可以直接用了,极其方便。 本文以
    的头像 发表于 12-18 16:31 57次阅读
    干货来喽!实用<b class='flag-5'>树莓</b><b class='flag-5'>派</b><b class='flag-5'>Linux</b>编译指南

    实用树莓Linux编译指南,打工人必备!

    不友好,有没有好的解决办法? 今天来分享一下我的私藏干货——树莓Linux编译。编译好之后,开发板只需插到树莓派上连接电脑就可以直接用了,极其方便。 本文以
    的头像 发表于 12-17 16:19 567次阅读
    实用<b class='flag-5'>树莓</b><b class='flag-5'>派</b><b class='flag-5'>Linux</b>编译指南,打工人必备!

    什么是树莓树莓是什么架构的

    信用大小,但具备所有PC的基本功能。 起源与背景 2006年,树莓的早期概念基于Atmel的ATmega644单片机。 2012年3月,由英国剑桥大学的埃本·阿普顿(Eben Upton)正式发售
    的头像 发表于 10-22 17:33 794次阅读

    Ubuntu 24.04 在 BPI-F3 通过 SD 安装并从 NVME 运行

    适用于任何版本的 Linux,仅在 Ubuntu 24.04 测试过 入门 下载 Bianbu映像并使用您最喜欢的工具将其映像微型 SD
    发表于 10-12 15:31

    SD命令和响应

    一个完整的 SD 操作过程是:主机(单片机等)发起“命令”,SD 根据命令的内容决定是 否发
    的头像 发表于 10-08 15:49 444次阅读
    <b class='flag-5'>SD</b>的<b class='flag-5'>命令</b>和响应

    树莓4B的WiFi配置过程

    树莓4B的WiFi配置过程是一个相对直接且灵活的任务,可以通过多种方式完成,包括使用图形用户界面(GUI)、终端命令以及修改配置文件等。以下介绍
    的头像 发表于 08-30 17:10 1805次阅读

    树莓4b支持多大的sd

    树莓4B是一款非常受欢迎的微型计算机,它具有强大的性能和丰富的扩展功能。在树莓4B的使用过程中,SD
    的头像 发表于 08-30 17:02 1120次阅读

    树莓装ubuntu和raspbian哪个更好

    版本,包括桌面版、服务器版和物联网版等,适用于各种场景。 Raspbian是专为树莓开发的Linux发行版,由树莓
    的头像 发表于 08-30 15:41 1281次阅读

    linux开发板与树莓的区别

    定义和用途 Linux开发板:Linux开发板是一种基于Linux操作系统的嵌入式开发板,通常用于工业自动化、物联网、智能家居等领域。 树莓
    的头像 发表于 08-30 15:34 938次阅读

    【核桃ZeroW开发板体验连载】核桃ZeroW开发板拆箱、组装、电,

    操作系统、linux、Debian 5.采用全志H618,四核64bit 1.5GHz 系统级SOC芯片 6.自带SD槽方便烧录镜像文件 7.性能配置超过
    发表于 08-09 11:08

    树莓5,Raspberry Pi 5 评测

    性能和64位操作系统,我们获得了一个更注重速度的系统。树莓树莓5的性能比树莓4快2
    发表于 06-19 14:51

    精选推荐!看大佬树莓4做个迷你版PS5

    一款相当不错的小型复古游戏主机。 所需用品 树莓4 SD Micro HDMI转全尺寸HDMI线 作者还使用了以下工具: 3D打印机 焊接工具 第1步: 3D打印 这个外壳
    发表于 05-13 10:24

    树莓4做个迷你版PS5

    相当不错的小型复古游戏主机。 所需用品 树莓4 SD Micro HDMI转全尺寸HDMI线 作者还使用了以下工具: 3D打印机 焊接工具 第1步: 3D打印 这个外壳只有四个部件
    的头像 发表于 04-30 10:19 616次阅读
    <b class='flag-5'>用</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b>4做个迷你版PS5

    STM32F412G-DISCO怎样用MX生成fatfs的代码?

    STM32F412G-DISCO怎样用MX生成fatfs的代码? SD例程能跑,但mx生成的代码不能正常运行,我生成代码后是不是还要配置一些东西?(我生成后只写了测试代码) 问题解决了,虽然我不知道我为什么不能直接使用mx生成
    发表于 03-12 08:15

    佰维存储microSD卡通过树莓AVL认证

    树莓为英国树莓基金会开发的微型单板计算机,其以小尺寸、高性能、低成本和易开发等特点,广泛应用于物联网、工业自动化、智慧农业、人工智能、新能源等多个领域。
    的头像 发表于 01-23 17:19 423次阅读
    佰维存储microSD卡通过<b class='flag-5'>树莓</b><b class='flag-5'>派</b>AVL认证