树莓派开发从零开始学:超好玩的智能小硬件制作书
上QQ阅读APP看书,第一时间看更新

2.4.3 dd备份还原

用dd命令来备份还原系统,最简单的方法是硬盘对拷。这是最简单粗暴的备份还原方法了。如果用两个容量一样的硬盘对拷,可以拷贝出完全相同的2份系统。

1.dd备份系统

Ghost是Windows下备份系统的明星软件。它主要作用是将系统分区打包成*.gho文件备份。或者将*.gho文件还原到分区。dd命令的作用跟它很类似。至于dd命令,我们在安装系统到TF卡的时候已经用过了。既然它可以把一个*.img文件写入磁盘。当然也可以从磁盘备份文件到*.img文件。下面的例子是以Debian 7做操作平台。

(1)登录系统

先进入Linux的控制台,参考2.1.3小节,如图2-37所示,使用root用户登录。

(2)确定备份位置

将Raspberry的TF卡卸下来,装入读卡器中,插入到Linux主机的USB接口。使用ls –l /dev/sd*命令查看TF卡磁盘位置,如图2-42所示。

图2-42 查看TF卡

    ls –l /dev/sd*

(3)备份系统

备份有两种方法:直接dd备份系统、dd压缩备份系统。

● 直接dd备份系统。执行命令:

    cd
    dd if=/dev/sdb of=Raspberry_20150719.img

第一条命令是进入root用户的家目录。第二条命令是将/dev/sdb磁盘写入到Raspberry_20150719.img文件中。第二条命令是不是很眼熟?没错,就是我们安装系统时的命令反过来用。

但是这样备份有个弊端。就是sdb磁盘有多大,备份用的img文件就有多大。那安装的时候为什么1G+的img系统怎么安装到了大磁盘中的呢?还记得Raspberry的配置选项中有个扩展分区的选项吗?实际上在我们安装系统的时候,也只是用了1GB左右的空间,后来系统占满整块硬盘,是因为我们配置Raspberry时扩展了分区。

dd备份系统与tar备份系统不一样,tar备份的时候可以选择哪些文件夹不备份,dd是不能选择的,它只能整体备份还原。

● dd压缩备份系统

为了将整块磁盘备份到一个比较小的文件。我们用gzip将它压缩一下再备份,这样就好多了。执行命令:

    dd if=/dev/sdb | gzip -9 > Raspberry_20150719.img.gz

2.dd还原系统

针对两种备份形式,还原也分两种:dd直接还原系统、dd解压缩还原系统。

● dd直接还原系统,执行命令:

    dd  if=Raspberry_20150719.img of=/dev/sdb

跟安装是一模一样的。

● dd解压缩还原系统,执行命令:

    gzip -c -d Raspberry_20150719.img.gz | dd of=/dev/sdb

好了,现在再也不用担心我的系统了,开始放心大胆地折腾吧。