如何备份树莓派系统

有几种备份树莓派的方法。您可以使用树莓派 OS 的 SD 卡复制程序 (位于” 开始” 菜单的” 附件” 部分下) 将您的 microSD 卡直接克隆到另一个 microSD 卡。但是,除非立即需要第二张卡,否则最好创建一个磁盘映像:可以使用 Etcher 或 Windows Server 2003 随时将其存储在 PC 或云中,分发给其他人并写入新的 microSD 卡中的文件。 树莓派磁盘映像器。

有些人建议您拿起 microSD 卡,将其粘贴在 Windows PC 上,然后使用 Win32 Disk Imager 逐扇区复制它,但这会产生两个问题。首先,您要写入的卡必须与您备份的卡大小完全相同或更大。由于不同牌子和型号的存储卡在扇区数量上存在细微的差异,因此 32GB San Disk 卡的扇区可能比 32GB Samsung 卡多一些,并且,如果目标卡较小,则复制过程将无法进行正确,该卡将无法启动。其次,您的备份文件将非常庞大:卡的完整大小,即使您只使用了 32GB 中的 3GB 。

幸运的是,有一种方法可以创建压缩磁盘映像,该映像甚至比您要备份的源 microSD 卡上的已用空间还小。要创建磁盘映像,您需要一个外部 USB 驱动器以连接到树莓派并将其写入。如果 USB 驱动器的容量大于源 microSD 卡的容量 (例如:一个 32GB 的 USB 驱动器可对 16GB 的卡进行映像),则可以在缩小之前备份整个卡。但是,如果您没有足够大的 USB 驱动器,请查看本文底部有关缩小 rootfs 分区的部分。

如何制作树莓派磁盘映像

1 ** 将 USB 闪存或硬盘驱动器格式化为 NTFS (如果您在 PC 上使用 Windows 并计划在 PC 上读取该驱动器) 或 EXT4 (对于 Linux)。确保闪存驱动器大于已用空间的容量。确保给驱动器指定一个您记住的卷名 (例如:本例中为”pibkup”)。如果愿意,您也可以直接在树莓派上格式化驱动器。

2 将 USB 驱动器连接到您的树莓派。

3 在您的树莓派上安装 pishrink.sh **,然后输入以下内容将其复制到 /usr/local/bin ** 文件夹中:

wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh 
 sudo  chmod + x pishrink.sh 
 sudo  MV pishrink.sh/usr/local/bin 

4 通过输入检查 USB 驱动器的安装点路径

lsblk 

您会看到连接到树莓派的驱动器列表以及每个驱动器的安装点名称。您的 USB 驱动器可能安装在_/media/pi/\ [卷名] 。在我们的例子中是 /media/pi/pibkup_。如果未安装驱动器,请尝试在连接 USB 驱动器的情况下重新启动,或者您可以通过输入_sudo mkdir/dev/mysub_创建目录并通过_sudo mount/dev/sda1/dev/myusb_进行手动安装。但是,您不能也不应该这样做 (如果已经安装)。

5 使用 dd 命令将所有数据复制到 img 文件

sudo dd if =/dev/mmcblk0 of = [mount point] /myimg.img bs = 1M 

但是,如果缩小源 microSD 卡上的分区,则需要使用 count 属性来告诉它仅复制正在使用的 MB 。例如,在我们的例子中,我们有一个 16GB 的卡,但是在将 rootfs 缩小到 6.5GB 之后,该卡仅使用了 6.8GB (当计算 /boot 分区时)。因此,为了安全起见 (最好复制太多数据而不是复制太多数据),我们四舍五入并设置 dd 以使用 count = 7000 复制 7GB 数据。数据量等于计数 \ * 块大小 (bs),因此 7000 \ * 1M 表示 7GB 。

sudo dd if =/dev/mmcblk0 of = [mount point] /myimg.img bs = 1M count = 7000 

仅当您之前缩小了分区时,才执行此操作。如果您使用 count 并复制少于整个分区,则可能会有一个不完整的映像,该映像缺少数据或无法启动。

6 导航到 USB 驱动器的根目录

cd /media/pi/pickup 

7 ** 使用带有 -z 参数的 pishrink **,可使用 gzip 压缩图像。

sudo  pishrink.sh -z myimg.img

此过程也将花费几分钟,但是完成后,您将得到一个大小合理的名为 myimg.img.gz 的图像文件。您可以将此文件复制到 PC ,上传到云或发送给朋友。

如何缩小树莓派上的分区

如果您要制作 microSD 卡的磁盘映像,但没有更大容量的外部 USB 驱动器,则可能会遇到问题。尽管您在上面的教程中创建的最终.img.gz 文件应该比源卡小得多,但在此过程中,您仍然需要足够的空间来容纳未压缩的.img 文件。

尤其令人沮丧的是,默认情况下, dd 文件复制过程使图像占用了 microSD 卡上的所有空间,甚至是未使用的空间。例如,您可能拥有 64GB 的 microSD 卡,但实际上仅使用了 6GB 空间。如果不缩小 rootfs 分区,最终将全部 64GB 复制到外部驱动器,这将花费更多的时间来完成,并且至少需要 65GB 的可用空间。

因此,解决方案是将 microSD 卡的 rootfs 分区缩小到仅比已用空间大一点的大小。然后,您可以仅将分区复制到 USB 驱动器。

要缩小,您需要一个 USB microSD 卡读取器和另一个带有树莓派 OS 的 microSD 卡。

1 将您的源 microSD 卡 (您要复制的那张) 插入阅读器,然后连接到树莓派。

2 使用其他 microSD 卡启动树莓派。

3 在您的树莓派上安装 gparted。

sudo apt-get install gparted -y 

4 在树莓派 OS GUI 中启动 gparted。在开始菜单的” 系统工具” 部分中。

5 从 gparted 窗口右上角的下拉菜单中选择外部 microSD 卡。

6 卸载 rootfs 分区 (如果已挂载 (旁边有一个钥匙图标)),方法是右键单击它,然后从菜单中选择” 卸载”。如果该选项显示为灰色,则表示该选项未安装。

7 右键单击 rootfs ,然后选择” 调整大小 / 移动”。

8 将分区的新大小设置为最小大小或稍大一点,然后单击” 调整大小”。。请注意, gparted 可能会过度报告已使用的空间量 (当我们卸载已使用 4.3GB 的分区时,更改为 6GB 使用中),但您必须至少达到最低要求。

9 单击 gparted 窗口中的绿色复选标记,然后 ** 单击” 应用”(警告时) 继续。

10 关闭 树莓派。

11 从 USB 读卡器中取出源 microSD 卡,然后将其插入树莓派中进行引导。

12 按照上面有关创建磁盘映像的说明进行操作。确保在第 5 步中使用_count_属性。

将树莓派磁盘映像写入卡

完成后,您将拥有一个扩展名为.img.gz 的文件,并且可以像从网络上下载任何.img 文件一样,将其写入或” 刻录” 到 microSD 卡中。刻录自定义图像的最简单方法是:

1 在您的 PC 上启动树莓派 Imager。如果尚未安装,则可以下载树莓派 Imager

2 ** 从” 选择操作系统” 菜单中选择” 使用自定义”**。

3 选择您的.img.gz 文件

4 选择要刻录的 microSD 卡

5 点击写入

分享到