使用dd指令备份和恢复Linux系统(硬盘级)

害,谁不是个DD (誰でも 大好き)了呢!

但是这玩意儿太慢了。。。

起因

使用UOS的时候经常需要备份镜像并分享给其他部门或者办事处的人。传统的方法是进入系统自带的Recovery分区,打开备份软件制作镜像,但是这存在两个问题:A. 镜像特别巨大,系统多大镜像就占多大。B. 必须先拥有系统,才能恢复镜像。最新版的系统中已经去掉了Recovery分区,而LiveCD镜像还不是很好用,于是有了这篇博客,试图寻找一个简单的方法来进行恢复和备份。

DD说明

dd指令是一个简单的复制指令,它不管源和目标的编码、格式、数据结构,简单粗暴的把二进制数据从A复制到B。所以恢复的目标硬盘甚至不需要提前分区,因为dd会把分区信息也写入。

dd指令依然是有多少数据占多少空间,所以我们可以使用gzip进行压缩。具体代码后面贴出来。

实际使用中,发现dd指令除了方便,就没有其他优点了。它因为要读取硬盘所有数据(包括垃圾数据),即便用SSD,读盘速度还是会很慢,三刻钟才读了200GiB数据,平均75MB/s,而使用uos自带的deepin-clone,三个系统都备份完了。

DD备份

dd if=/dev/sda of=/dev/sdb				=>    备份整个磁盘到另外一个磁盘
dd if=/dev/sdb of=sda.img				=>    备份整个磁盘为某个文件
dd if=/dev/sda | gzip > sda.img    		=>    备份并且压缩
dd if=/dev/sda bs=1M | gzip > sda.img	=>    指定块大小,备份并压缩(据说能提速)

DD复原

dd if=/dev/sdb of=/dev/sda					=>从另一个磁盘恢复回来
gzip -dc sda.img | dd of=/dev/sda			=>从压缩的文件恢复出来
gzip -dc sda.img | dd of=/dev/sda bs=1M		=>前面指定了块大小,这里也需要

参考:

本文参考(抄)了以下内容:

Linux 下使用 dd 和 gzip 命令来代替 Ghost 做磁盘镜像

linux dd实现磁盘完整全盘镜像备份backup,恢复recover(restore)

还有一些查找过程中作用不大的页面,就不贴出来了(诶嘿(╹ڡ╹ )

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值