使用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)
还有一些查找过程中作用不大的页面,就不贴出来了(诶嘿(╹ڡ╹ )
作者:木子欢儿
出处:https://www.cnblogs.com/HGNET/p/17357606.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
部分文章来源于网络,如疏漏未标注原文地址或侵权,请联系进行删除。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2022-04-26 【Java】复制多级文件夹
2022-04-26 【Java】复制单级文件夹
2022-04-26 Python批量重命名脚本
2020-04-26 【Python】政府工作报告词云
2020-04-26 【Python】WordCloud库的使用
2020-04-26 【Python】二维数据格式化
2020-04-26 【Python】一维数据格式化