raspberry的备份问题

很多人也许玩过raspberry pi,其实他的功能还是挺强大的,毕竟是体积那么小电脑,但是当我们在上完成了很多功能以后想要备份一份,以便以后使用或者是直接写到其他的SD上面使用。其实我也写过,最开始的时候我是用的Win32DiskImager的read方式,直接读上来,但是读完我才发现,妈蛋,居然img文件和SD卡的大小一样大,我的天,这肯定不行啊,那么大,而且树莓派的系统也不是很大,备份出来居然8G,16G,于是我想到了只备份使用到的系统,下面的方法是我备份树莓派的方法,备份完成的img大小为4G左右(官网的img大小为3.7G左右),希望对大家有帮助,我备份的操作全部是在Linux上面完成的,步骤如下:

1、安装软件kpartx

#yum install kpartx

2、进入Linux的home目录

#cd /home  新建文件夹:
#mkdir ygd1
#mkdir ygd2
#mkdir pi1
#mkdir pi1

3、创建镜像文件,大小为4.5GB

#dd if=/dev/zero of=raspberry.img bs=1MB count=4500

4、将映像文件挂接到loop1中去:

#losetup /dev/loop1 /home/raspberry.img

5、对/dev/loop1分区

#fdisk /dev/loop1
分两个分区,第一个分区从8192开始,131071结束,第二个分区从131072开始,到最后结束,分完以后改变一下第一个分区的ID(操作步骤:按t,按1,按l查看,最后按c选择win95 fat32),最后w保存退出分区。
分区方法大家应该很清楚了吧,执行执行fdisk /dev/loop1进入分区,然后按n新建分区,默认,默认,然后输入开始8192,结束131072,这样第一个分区就分好了,然后继续按n,默认,默认,然后输入开始131072,默认,这样两个分区都分好了,接着是改一下第一个分区的ID,操作步骤上面已经说了,最后w保存退出。

6、使用kpartd装载映像:

#kpartx -av /home/raspberry.img
装载之后,就可以在/dev/mapper/目录下看到两个loop1pY的文件了

7、接下来是对loop1pY格式化

#mkfs.vfat /dev/mapper/loop0p1
#mkfs.ext4 /dev/mapper/loop0p2

8、然后是挂载

将需要备份的SD卡通过读卡器接到Linux上
#mount  /dev/mapper/loop0p1 /home/pi1
#mount  /dev/mapper/loop0p2 /home/pi2
假如SD卡识别出来是sdb
#mount /dev/sdb1 /home/ygd1
#mount /dev/sdb2 /home/ygd2

9、备份文件:

#cp -a ygd1/* pi1/
#cp -a ygd2/* pi2/

10、然后umount 所有的设备(4个)

#umount  /dev/mapper/loop0p1
#umount  /dev/mapper/loop0p2
#umount /dev/sdb1
#umount /dev/sdb2 


11、卸载刚才挂接的镜像东西

#kpartx -dv /dev/loop1
断掉和映像文件的挂接关系
#losetup -d /dev/loop1

这样经过操作,创建的img文件差不多4G左右就是那张SD卡的备份img了,是不是很简单,
这样就方便多了,备份出来的img远远小于SD卡的大小。

猜你喜欢

转载自blog.csdn.net/u013896064/article/details/52261633