dd备份和恢复

深入解析Linux dd命令:定义、架构、原理、应用场景及实战指南 Linux提供了丰富的命令行工具来完成各种任务,其中dd命令以其强大的数据处理能力和灵活性,成为了不可或缺的工具之一。本篇博文将深入解析Linux dd命令的定义、架构、原理、应用场景、命令体系及实战场景,帮助读者全面了解并掌握这一重要命令。dd命令作为Linux系统中的一款强大数据处理工具,以其灵活、精确、高效的特点,广泛应用于磁盘镜像创建、系统恢复、数据转换、性能测试和数据销毁等场景。通过理解dd命令的定义、架构、原理,掌握其命令体系和实战用法,用户可以在各种复杂环境中高效地进行数据处理和磁盘操作。 阅读详情

linux/unix  dd命令是一个非常好的管理磁盘命令

dd命令作用:指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换,起到一个初始化磁盘的作用


dd指令选项详解

if=file     -->    输入文件名,缺省为标准输入

of=file     -->    输出文件名,缺省为标准输出

ibs=bytes     -->    一次读入bytes个字节(即一个块大小为 bytes 个字节)

obs=bytes     -->    一次写bytes个字节(即一个块大小为 bytes 个字节)

bs=bytes    -->    同时设置读写块的大小为 bytes,可代替 ibs 和obs

cbs=bytes    -->    一次转换bytes个字节,即转换缓冲区大小

skip=blocks    -->    从输入文件开头跳过 blocks个块后再开始复制

seek=blocks    -->    从输出文件开头跳过 blocks个块后再开始复制。(通常只有当输出文件是磁盘或磁带时才有效)

count=blocks    -->    仅拷贝blocks个块,块大小等于 ibs 指定的字节数

conv=conversion[,conversion...]    -->    用指定的参数转换文件

ascii    -->    转换EBCDIC为 ASCII

ebcdic    -->    转换ASCII为 EBCDIC

ibm    -->    转换ASCII为 alternate EBCDIC

block    -->    把每一行转换为长度为 cbs的记录,不足部分用空格填充

unblock    -->    使每一行的长度都为 cbs,不足部分用空格填充

lcase    -->    把大写字符转换为小写字符

ucase    -->    把小写字符转换为大写字符

swab    -->    交换输入的每对字节

noerror    -->    出错时不停止

notrunc    -->    不截短输出文件

sync    -->    把每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐

注意:指定数字的地方若以下列字符结尾乘以相应的数字:b=512,c=1, k=1024, w=2, xm=number m,kB=1000,K=1024,MB=1000*1000,M=1024*1024,GB=1000*1000*1000,G=1024*1024*1024

 =================================================================================================

创建基于文件的sswap分区:

a. dd if=/dev/zero of=/project/swapfile bs=1024 count=500000    => 通过zero文件生成一个5G的文件

b. mkswap /project/swapfile     =>    makes file usable for swapping生成swap分区文件

c. swapon /project/swapfile      =>    enables swapping,使swap分区生效

d. swapoff/project/swapfile      =>    关闭指定的swap分区

e. swapoff -a                            =>    disables all swapping for entries listed in: /etc/fstab关闭所有fstab中的swap分区

=================================================================================================


备份:

[root@server ~]# dd if=/dev/sda of=/dev/sdb   =>    备份整个磁盘到另外一个磁盘

[root@server ~]# dd if=/dev/sdb of=sda.bak     =>    备份整个磁盘为某个文件

[root@server ~]# dd if=/dev/sda | gzip > sda.bak.gz    =>    备份并且压缩

[root@server ~]# dd if=/dev/sdaof=dbt.bak count=1 bs=512 skip=446

=>     跳过前446字节备份磁盘第一扇区的后66字节DPT信息到指定文件


 =================================================================================================

恢复:

[root@server ~]# dd if=/dev/sdb of=/dev/sda

[root@server ~]# gzip -dc sda.bak.gz | dd of=/dev/sda

[root@server ~]# dd if=/path/to/image of=/dev/hdx count=1 bs=512 seek=446
=>
    将备份DPT信息写到MBR后面的66字节

================================================================================================= 


销毁数据:

[root@server ~]# dd if=/dev/urandom of=/dev/sda1    =>    利用随机数填充硬盘数据,达到销毁数据的作用

 

通过比较dd指令输出中所显示的命令执行时间(选时间最少的那个),即可确定系统最佳的block size大小

注意:其中磁盘要以 -o sync的选项挂载,否则会导致数据写入到缓存中,而非写入磁盘上去,导致测试不准确
dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file
dd if=/dev/zero bs=2048 count=500000 of=/root/1Gb.file
dd if=/dev/zero bs=4096 count=250000 of=/root/1Gb.file
dd if=/dev/zero bs=8192 count=125000 of=/root/1Gb.file

 

测试读写速度

 注意:其中磁盘要以 -o sync的选项挂载,否则会导致数据写入到缓存中,而非写入磁盘上去,导致测试不准确
[root@server ~]# mount -o sync,remount / 

[root@server ~]# mount | grep sync

/dev/sda2 on / type ext4 (rw,sync)

[root@server ~]# dd if=/dev/zero of=/tmp/test.dd bs=4096 count=5000 => 测试写入速度

[root@server ~]# dd if=/tmp/test.dd of=/dev/null bs=4096 count=5000=> 读取测试

=================================================================================================


树莓派3B系统镜像备份与恢复实战:Win32DiskImager和dd命令双方案 本文详细介绍了树莓派3B系统镜像备份与恢复的两种实用方案:Windows平台的Win32DiskImager和Linux/macOS平台的dd命令。通过分步指导和高级技巧,帮助用户有效保护树莓派系统配置,防范数据丢失风险,同时提供优化备份速度和存储空间的实用建议。 阅读详情

相关推荐

12、使用 tar 和 dd 工具进行备份与恢复

本文详细介绍了使用 tar 和 dd 两个命令行工具进行数据备份与恢复的方法。涵盖了 tar 的常用选项、备份恢复语法、通配符技巧及目录移动操作,以及 dd 在原始设备复制、数据格式转换和跨网络传输中的应用。同时提供了工具选择建议,帮助用户根据实际需求高效管理数据备份与恢复任务。

eee77的博客 39

Linux系统之dd命令详解

【代码】Linux系统之dd命令详解。

hnlgzb的专栏 9236

Delphi解决 openssl DLL 与 Indy 的SSL/TLS 连接问题

​ 使用 SSL 连接时出错。错误 1409442E:SSL 例程:ssl3_read_bytes:tlsv1 警报协议版本 由于我使用的是最新版本的Indy,根据Delphi Praxis 上的此线程,这种情况不应该发生。事实证明,不知何故,一个非常旧版本的 openssl DLLlibeay32.dll和ssleay32.dll已被放置在我计算机上的 sarch 路径中(版本 1.0.0e)。

Delphi开发局QQ群:32422310 2492

DevOps:Linux系统之dd命令详解

1.Linux dd 命令用于读取、转换并输出数据。2.dd 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。

GIS摆渡人 1万+

智能车竞赛蚂蚁搬家组:NXP-MicroPython与STC单片机协同搬运策略解析

本文深入解析智能车竞赛蚂蚁搬家组中NXP-MicroPython与STC单片机的协同搬运策略。通过硬件选型、通信架构设计、效率优化及实战经验分享,展示了如何利用NXP-MicroPython的实时控制与STC单片机的感知导航优势,实现高效多智能体协同作业,为参赛团队提供实用技术参考。

motor的博客 1079

SCI论文Discussion写作:如何用AI工具三步打造审稿人认可的深度逻辑框架

本文针对SCI论文Discussion写作的痛点,提出利用AI工具三步构建深度逻辑框架的方法。首先,使用Claude等工具搭建个性化提纲,解决“浅显病”与“混乱症”;其次,高效整合文献与结果,填充证据;最后,优化逻辑衔接与学术语言,打造审稿人认可的流畅论证。该方法强调研究者主导,AI辅助,显著提升写作效率与深度。

weixin_28235513的博客 235

linux命令总结dd命令详解

dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2 参数注释: if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file > of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file > ibs=...

shifengboy的博客 1701

Vertx之Grpc消息发送

介绍 Vert.x gRPC 模块,它将 Google gRPC 的编程风格与 Vert.x 风格保持一致. gRPC 是一个高性能、开源、通用的RPC框架,是一种进程间通讯技术,由Google推出,基于HTTP2协议标准设计开发,默认采用Protocol Buffers数据序列化协议,支持多种开发语言。gRPC提供了一种简单的方法来精确的定义服务,并且为客户端和服务端自动生成可靠的功能库。 在gRPC客户端可以直接调用不同服务器上的远程程序,使用姿势看起来就像调用本地程序一样,轻松的实现远端服务的连接、

Lance 1188

Linux命令200例:dd命令详解及实际应用场景

dd 命令是一个在 Unix 和类 Unix 系统中非常强大的命令行工具,用于复制和转换文件。它可以从一个文件或设备向另一个文件或设备进行复制,同时还可以对数据进行转换和操作。在本篇文章中,我们详细讨论了Linux中的dd命令。我们了解了dd命令的基本语法和一些常用参数,并举例说明了其在各种应用场景下的实际用法。希望这些例子能够帮助你更好地理解和使用 dd 命令。dd命令是一个非常强大和灵活的工具,但在使用时需要格外小心,因为它可以对数据进行直接操作,而且一些操作可能是不可逆的。因此,在使用dd。

GitHub质检员 1万+

AudioTrack音频播放流程深度解析

深入解析Android AudioTrack音频播放的完整链路:从Java API到Native层,从共享内存Ring Buffer机制到FAST Track低延迟优化,配合源码分析带你彻底搞懂Android音频播放的底层原理

Cheson的专栏 938

GLDAS数据高效处理指南:基于Matlab的NC4转GeoTIFF实战解析

本文提供了一份基于Matlab的GLDAS数据处理实战指南,详细解析了如何将NetCDF4格式的GLDAS数据高效、准确地批量转换为GIS友好的GeoTIFF格式。文章核心内容包括数据理解、环境搭建、核心代码逐步拆解、效率提升技巧以及常见避坑方案,旨在帮助全球生态、水文与气候领域的研究者打通数据预处理的关键环节,提升科研工作效率。

weixin_29094775的博客 310

linux dd恢复分区,dd备份和恢复

linux/unix dd命令是一个非常好的管理磁盘命令dd命令作用:指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换,起到一个初始化磁盘的作用dd指令选项详解if=file-->输入文件名,缺省为标准输入of=file-->输出文件名,缺省为标准输出ibs=bytes-->一次读入bytes个字节(即一个块大小为 bytes 个字节)obs=bytes-->一次写b...

weixin_32529429的博客 939

[QMT量化交易小白入门]-二十八、有了回测年化收益好的策略,如何在QMT量化实盘呢(附python代码解析)

本专栏主要是介绍QMT的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写100篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步,自己淋过雨了,希望大家都有一把伞。

木头大左的博客 2924

DD命令做备份和恢复

正确的备份方法是先挂载移动硬盘分区:mount /dev/sdb5 /mnt 然后再备份:dd if=/dev/sda of=/mnt/backup_sda.img 恢复时同样要先挂载,再恢复:mount /dev/sdb5 /mnt; dd if=/mnt/backup_sda.img of=/dev/sda 注:以上操作需要root权限,/dev/sda是硬盘,/dev/sdb5是移动硬盘的某个分区,分区格式正常,且空间充足 dd备份恢复系统 1、备份

zhaominyong的专栏 5742

存储硬盘格式怎么把512还原为520格式??

硬盘厂商工具(如SeaChestsg_format)可以调整扇区大小。备份数据,因为调整扇区会清除硬盘内容。根据硬盘型号和接口类型,选择合适的工具进行调整。如果你需要更详细的帮助,请提供你的硬盘型号和存储设备类型。希望如上措施及解决方案能够帮到有需要的你。PS:如若遇到采纳如下方案还是未解决的同学,希望不要抱怨&&急躁,毕竟影响因素众多,我写出来也是希望能够尽最大努力帮助到同类似问题的小伙伴,即把你未解决或者产生新Bug黏贴在评论区,我们大家一起来努力,一起帮你看看,可以不咯。

**My Coding Family** 1142

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

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

害,谁不是个DD (誰でも 大好き)了呢! 但是这玩意儿太慢了。。。 起因 使用UOS的时候经常需要备份镜像并分享给其他部门或者办事处的人。传统的方法是进入系统自带的Recovery分区,打开备份软件制作镜像,但是这存在两个问题:A. 镜像特别巨大,系统多大镜像就占多大。B. 必须先拥有系统,才能恢复镜像。最新版的系统中已经去掉了Recovery分区,而LiveCD镜像还不是很好用,于是有了这篇...

点滴记忆 2343

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

dd命令 备份和恢复磁盘 linux系统下

备份: [root@server~]#ddif=/dev/sdaof=/dev/sdb =>备份整个磁盘到另外一个磁盘 [root@server~]#ddif=/dev/sdbof=sda.bak=>备份整个磁盘为某个文件 [root@server~]#ddif=/dev/sda|gzip>sda.bak.gz=>备份并且压缩 [root@server~]#dd if=/d

mansky0618的博客 7717

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

linux dd恢复分区,Linux dd命令备份和恢复分区与磁盘、分区表、MBR等

1,查看磁盘挂载状态:df -h2,开始备份磁盘分区,命令格式为:dd if=“设备或文件名” of=“备份文件的路径”,下文示例的磁盘分区为/dev/sda1,挂载点为/boot,备份文件设定为/data2/boot.disk;dd if=/dev/sda1 of=/tmp/boot.disk备份出来的文件甚至可以用mount 挂载:mount -o loop /tmp/boot.disk /m...

weixin_35875323的博客 1096

使用dd指令备份和恢复Ubuntu

linux自带的dd指令可以备份分区。 dd if=/dev/你需要备份的分区 of=输出的镜像路径 status=progress 如果ubuntu系统挂了。用U盘启动临时ubuntu,进入后,用 dd if=输出的镜像路径 of=/dev/你需要备份的分区status=progress 进行恢复即可 对于ubuntu经常会挂的同学很有用 618买了新的ssd,将ubu...

yyw794的专栏 2297

服务器提示选择系统镜像备份6,Rhel6服务器dump备份和restore恢复以及dd的使用

dump备份restore 恢复dump的特点:(1)只能针对整个分区(2)能够支持绝大部分文件类型,包括设备文件,也能保留原属性(3)支持镜像备份和增量备份1、软件安装[root@rootbug ~]#yum install dump -y2、查看是否安全成功[root@rootbug ~]# rpm -qf `which restore`dump-0.4-0.6.b42.el6.x86_64...

weixin_39534149的博客 308

linux dd恢复分区,[转]Linux dd命令备份和恢复分区与磁盘、分区表、MBR等

1,查看磁盘挂载状态:df -h2,开始备份磁盘分区,命令格式为:dd if=“设备或文件名” of=“备份文件的路径”,下文示例的磁盘分区为/dev/sda1,挂载点为/boot,备份文件设定为/data2/boot.disk;2,开始备份磁盘分区,命令格式为:dd if=“设备或文件名” of=“备份文件的路径”,下文示例的磁盘分区为/dev/sda1,挂载点为/boot,备份文件设定为/da...

weixin_36388201的博客 1022

使用dd指令备份和恢复Linux系统

实际使用中,发现dd指令除了方便,就没有其他优点了。它因为要读取硬盘所有数据(包括垃圾数据),即便用SSD,读盘速度还是会很慢,三刻钟才读了200GiB数据,平均75MB/s,而使用uos自带的deepin-clone,三个系统都备份完了。dd指令是一个简单的复制指令,它不管源和目标的编码、格式、数据结构,简单粗暴的把二进制数据从A复制到B。所以恢复的目标硬盘甚至不需要提前分区,因为dd会把分区信息也写入。dd指令依然是有多少数据占多少空间,所以我们可以使用gzip进行压缩。具体代码后面贴出来。

lihang606的专栏 615

dd命令 备份和恢复磁盘 linux系统下

备份:[root@server~]#ddif=/dev/sdaof=/dev/sdb =&gt;备份整个磁盘到另外一个磁盘[root@server~]#ddif=/dev/sdbof=sda.bak=&gt;备份整个磁盘为某个文件[root@server~]#ddif=/dev/sda|gzip&gt;sda.bak.gz=&gt;备份并且压缩[root@server~]#dd if=/dev/s...

学习备忘录 1653
上一篇: RHEL6下puppet部署管理1之安装测试
下一篇: 性能监控和分析工具--nmon
kumu_Linux
博客等级 码龄14年 68粉丝 94原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值