前言

最近因为需要制作具有深度学习环境的树莓派镜像,但是直接从内存卡导出的话会将内存卡的所有内存全部复制出来,这太大了,而且用的时候需要一张更大的内存卡,因此参考下面这两份博客,介绍了7种方法,非常实用。

 

我使用了sd卡插入虚拟机内的unbuntu系统中进行裁剪的方法。虚拟机安装可以参照

操作步骤

方法一:

  1. 将sd卡插入电脑中,然后将内存卡从window中转移到ubuntu中。
  2. 检查树莓派的SD卡是否挂载:输入df- h查看是否有/dev/sdb1 /dev/sdb2 其中60M的分区sdb1是树莓派的boot分区,15G的分区sdb2是树莓派的系统文件分区。

3 . 输入sudo dd if=/dev/sdc | gzip>/home/liupeng/raspberry.gz执行压缩:树莓派的SD卡的路径是 /dev/sdb1 和 /dev/sdb2 ,所以备份整个SD卡的路径就是 /dev/sdb。/home/liupeng/raspberry.gz是保存的路径和文件名,其中备份文件要保存的位置、文件名和 SD卡的路径要根据实际选择。

sudo dd if=/dev/sdc | gzip>/home/lixinxing/raspberry.gz

从ceph导出img镜像 提取img镜像中的文件_树莓派sd卡备份

3.效果展示:等待一段时间后我们可以看到已经生成了压缩文件,查看一下大小也有了明显的缩小,之前直接read出来是30G,但是现在只有10多G:

从ceph导出img镜像 提取img镜像中的文件_树莓派img文件导出_02


从ceph导出img镜像 提取img镜像中的文件_树莓派img导出_03

4 . 将树莓派镜像还原:

将文件移动到windows下,我是通过共享路径移动的:

从ceph导出img镜像 提取img镜像中的文件_从ceph导出img镜像_04

  1. 在windows环境下将备份文件解压,然后使用 win32diskimager 将备份文件写入到新的SD卡。(在 Windows 下解压文件需要加上.img 后缀)
  2. 从ceph导出img镜像 提取img镜像中的文件_从ceph导出img镜像_05

  3. 完成启动!但是还是30G全部压缩出来,虽然压缩包是4.4G,但是解压了还是30G。

方法二

  1. 搭建一个共享目录:
    参照:

2.执行: dd if=/dev/mmcblk0 of=raspberrypi.img bs=1M 将img文件挂载到共享目录中移出。但是我的sd卡中剩余空间太小,所以不行。