【Linux命令大全】008.磁盘维护之dd命令(实操篇) 📅 发布时间:2026/7/9 15:33:04 👁️ 浏览次数: 【Linux命令大全】008.磁盘维护之dd命令实操篇✨ 本文为Linux系统磁盘维护命令的全面汇总与深度优化结合图标、结构化排版与实用技巧专为高级用户和系统管理员打造。(关注不迷路哈)文章目录【Linux命令大全】008.磁盘维护之dd命令实操篇一、功能与作用二、基本用法1. 备份磁盘到镜像文件2. 从镜像文件恢复磁盘3. 创建可引导的USB安装盘4. 备份分区5. 测试磁盘读写速度6. 安全擦除磁盘数据三、高级用法1. 跳过错误继续复制2. 复制特定区域的数据3. 制作压缩镜像4. 克隆磁盘分区表5. 修复MBR引导记录6. 在脚本中使用dd命令四、实用技巧与常见问题实用技巧常见问题五、总结一、功能与作用dd命令是Linux系统中一个功能强大的底层数据复制工具它能够按照指定的块大小和数量从一个源输入文件读取数据并写入到一个目标输出文件。dd命令的名称来源于Data Description或Data Definition的缩写形象地表达了它的数据操作本质。dd命令在磁盘维护和数据管理工作中有着广泛的应用场景创建磁盘或分区的完整镜像备份和恢复数据制作可引导的安装介质如USB启动盘安全擦除磁盘数据复制特定区域的数据转换文件格式测试磁盘性能dd命令的特点是精确、灵活但也需要谨慎使用因为错误的参数设置可能导致数据丢失。参数详解参数说明iffile指定输入文件源默认为标准输入offile指定输出文件目标默认为标准输出bssize指定读写块的大小默认为512字节countn指定要复制的块数skipn跳过输入文件开头的n个块seekn跳过输出文件开头的n个块convoptions指定数据转换的方式如noerror忽略错误、sync填充同步等statusprogress显示复制进度条二、基本用法1. 备份磁盘到镜像文件dd命令最常见的用途之一是创建整个磁盘的镜像备份# 备份整个磁盘到镜像文件sudoddif/dev/sdbof/backup/sdb.imgbs4Mstatusprogress# 输出示例# 10737418240 bytes (11 GB, 10 GiB) copied, 123 s, 87.3 MB/s这里if/dev/sdb指定输入为磁盘设备/dev/sdbof/backup/sdb.img指定输出为镜像文件/backup/sdb.imgbs4M设置块大小为4MB增大块大小可以提高复制速度statusprogress显示实时复制进度。2. 从镜像文件恢复磁盘可以使用dd命令将之前创建的镜像文件恢复到磁盘# 从镜像文件恢复磁盘sudoddif/backup/sdb.imgof/dev/sdbbs4Mstatusprogress3. 创建可引导的USB安装盘dd命令是制作Linux安装U盘的常用工具# 创建Ubuntu安装U盘sudoddifubuntu-22.04.isoof/dev/sdcbs4Mstatusprogresssync这里添加了sync命令用于确保所有数据都被写入到USB设备避免在复制完成前拔下设备导致数据不完整。4. 备份分区除了备份整个磁盘也可以使用dd命令仅备份单个分区# 备份分区到镜像文件sudoddif/dev/sdb1of/backup/partition1.imgbs4Mstatusprogress# 从镜像文件恢复分区sudoddif/backup/partition1.imgof/dev/sdb1bs4Mstatusprogress5. 测试磁盘读写速度dd命令可以用于简单测试磁盘的读写性能# 测试磁盘写入速度sudoddif/dev/zeroof/tmp/testfilebs1Gcount1oflagdirect# 输出示例# 10 records in# 10 records out# 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 8.523 s, 126 MB/s# 测试磁盘读取速度sudoddif/tmp/testfileof/dev/nullbs1Gcount1iflagdirect# 清理测试文件rm/tmp/testfile6. 安全擦除磁盘数据dd命令可以用于安全地擦除磁盘上的数据防止数据被恢复# 使用零填充擦除磁盘基本安全sudoddif/dev/zeroof/dev/sdbbs4Mstatusprogress# 使用随机数据填充擦除磁盘更安全sudoddif/dev/urandomof/dev/sdbbs4Mstatusprogress使用/dev/urandom生成的随机数据填充磁盘比使用/dev/zero更安全但速度会慢很多。三、高级用法1. 跳过错误继续复制在复制过程中如果遇到坏扇区可以使用convnoerror,sync参数来跳过错误并继续复制# 跳过错误继续复制sudoddif/dev/sdbof/backup/sdb.imgbs4Mconvnoerror,syncstatusprogressnoerror参数表示遇到错误时继续而不是停止sync参数表示在数据不完整的块中填充零保持数据的连续性。2. 复制特定区域的数据可以使用skip和seek参数来复制磁盘或文件的特定区域# 从输入文件的第100个块开始复制跳过输出文件的前100个块sudoddif/dev/sdbof/dev/sdcbs4Mskip100seek100count500statusprogress这将从/dev/sdb的第101个块开始复制500个块到/dev/sdc并从/dev/sdc的第101个块开始写入。3. 制作压缩镜像结合gzip或xz等工具可以制作压缩的磁盘镜像节省存储空间# 制作压缩的磁盘镜像sudoddif/dev/sdbbs4Mstatusprogress|gzip-c/backup/sdb.img.gz# 从压缩镜像恢复磁盘gunzip -c /backup/sdb.img.gz|sudoddof/dev/sdbbs4Mstatusprogress4. 克隆磁盘分区表可以使用dd命令克隆一个磁盘的分区表到另一个磁盘# 克隆MBR分区表sudoddif/dev/sdaof/dev/sdbbs512count1# 注意此操作会完全覆盖目标磁盘的分区表请谨慎使用对于GPT分区表分区表信息不仅存储在开头还存储在磁盘末尾因此需要特殊处理# 克隆GPT分区表# 先使用sgdisk工具sudosgdisk --backup/tmp/parttable.bin /dev/sdasudosgdisk --load-backup/tmp/parttable.bin /dev/sdbsudosgdisk --randomize-guids /dev/sdb# 生成新的GUID以避免冲突5. 修复MBR引导记录如果MBR引导记录损坏可以使用dd命令从安装媒体或备份恢复# 修复MBR引导记录保留分区表sudoddif/dev/sdaof/tmp/mbr_backup.binbs446count1# 备份MBR引导代码sudoddifbootable.isoof/tmp/mbr_fixed.binbs446count1# 从安装媒体提取引导代码sudoddif/tmp/mbr_fixed.binof/dev/sdabs446count1# 写入修复后的引导代码6. 在脚本中使用dd命令dd命令在系统管理脚本中非常有用可以用于自动化备份和恢复操作#!/bin/bash# 自动备份脚本BACKUP_DIR/backupDATE$(date%Y%m%d)# 确保备份目录存在mkdir-p$BACKUP_DIR# 备份系统分区echo开始备份系统分区...sudoddif/dev/sda1of$BACKUP_DIR/system_backup_$DATE.imgbs4Mstatusprogress# 计算备份文件的MD5校验和echo计算备份文件的MD5校验和...sudomd5sum$BACKUP_DIR/system_backup_$DATE.img$BACKUP_DIR/system_backup_$DATE.md5# 清理30天前的备份echo清理旧备份...find$BACKUP_DIR-namesystem_backup_*.img-mtime 30 -deletefind$BACKUP_DIR-namesystem_backup_*.md5-mtime 30 -deleteecho备份完成备份文件$BACKUP_DIR/system_backup_$DATE.img四、实用技巧与常见问题实用技巧使用pv命令显示进度对于不支持statusprogress选项的旧版dd命令较旧的Linux发行版可以结合pv命令显示复制进度# 安装pv命令sudoapt-getinstallpv# Debian/Ubuntusudoyuminstallpv# CentOS/RHEL# 使用pv显示dd的复制进度sudoddif/dev/sdb|pv|sudoddof/backup/sdb.img# 或者更精确地指定大小sudoddif/dev/sdb|pv-s$(sudoblockdev --getsize64 /dev/sdb)|sudoddof/backup/sdb.img优化dd的复制速度选择合适的块大小可以显著提高dd的复制速度# 测试不同块大小的复制速度sudoddif/dev/zeroof/tmp/testbs1Mcount100# 记录时间sudoddif/dev/zeroof/tmp/testbs4Mcount25# 记录时间sudoddif/dev/zeroof/tmp/testbs16Mcount6# 记录时间rm/tmp/test# 选择速度最快的块大小用于实际操作sudoddif/dev/sdbof/backup/sdb.imgbs16Mstatusprogress使用ddrescue替代dd进行数据恢复对于有坏扇区的磁盘ddrescue是一个更专业的数据恢复工具它比dd更高效地处理坏扇区# 安装ddrescuesudoapt-getinstallgddrescue# Debian/Ubuntusudoyuminstallddrescue# CentOS/RHEL# 使用ddrescue恢复数据sudoddrescue-n /dev/sdb /dev/sdc /tmp/rescue.log# 快速模式跳过坏扇区sudoddrescue-r3 /dev/sdb /dev/sdc /tmp/rescue.log# 重试坏扇区3次使用dd创建swap文件除了使用分区作为swap空间还可以使用dd命令创建swap文件# 创建2GB的swap文件sudoddif/dev/zeroof/swapfilebs1Mcount2048# 设置适当的权限sudochmod600/swapfile# 格式化swap文件sudomkswap/swapfile# 启用swap文件sudoswapon/swapfile# 使其开机自动挂载echo/swapfile none swap sw 0 0|sudotee-a /etc/fstab使用dd命令备份和恢复MBR主引导记录MBR是硬盘的重要组成部分可以使用dd命令备份和恢复# 备份MBR包括分区表sudoddif/dev/sdaof/backup/mbr_backup.binbs512count1# 恢复MBRsudoddif/backup/mbr_backup.binof/dev/sdabs512count1# 仅备份分区表不包括引导代码sudosfdisk -d /dev/sda/backup/partition_table.txt# 从备份恢复分区表sudosfdisk /dev/sda/backup/partition_table.txt常见问题dd命令执行时间过长问题描述对于大容量磁盘dd命令可能需要很长时间才能完成。解决方法使用更大的块大小bs参数来提高复制速度使用statusprogress或pv命令监控进度在系统负载较低的时段执行dd命令对于大型备份任务考虑使用增量备份策略误操作导致数据丢失问题描述错误地设置了if和of参数导致数据被覆盖。解决方法执行dd命令前务必仔细检查if和of参数是否正确考虑创建一个安全别名在执行前显示警告信息aliasddecho 警告请确认if和of参数是否正确; /bin/dd在重要操作前先执行一个小测试确保命令参数设置正确复制过程中出现I/O错误问题描述在复制过程中出现Input/output error错误。解决方法使用convnoerror,sync参数跳过错误并继续复制考虑使用ddrescue工具进行更可靠的数据恢复检查磁盘健康状态sudo smartctl -a /dev/sdb如果是物理损坏停止使用磁盘并考虑专业的数据恢复服务dd命令显示进度的问题问题描述在某些系统上dd命令的statusprogress选项不可用。解决方法安装较新版本的coreutils包使用pv命令替代sudo dd if/dev/sdb | pv | sudo dd of/backup/sdb.img或者在另一个终端中使用kill -USR1 $(pgrep ^dd)命令向运行中的dd进程发送信号使其显示当前进度验证复制的完整性问题描述不确定dd命令是否准确地复制了数据。解决方法使用md5sum或sha256sum命令验证源和目标的校验和是否一致sudomd5sum /dev/sdb md5sum /backup/sdb.img对于文件系统可以挂载复制后的分区并检查文件sudomount/dev/sdc1 /mntls-la /mntsudoumount/mnt五、总结dd命令是Linux系统中一个功能强大、用途广泛的工具在磁盘维护、数据备份与恢复、系统安装等方面发挥着重要作用。通过本文的详细介绍和实例相信您已经掌握了dd命令的基本用法和高级技巧包括如何创建和恢复磁盘镜像、如何制作可引导U盘、如何测试磁盘性能、如何安全擦除数据等。dd命令的强大之处在于它的灵活性和精确性但这也意味着使用时需要格外小心特别是在指定输入和输出文件时一旦弄错可能会导致不可逆的数据丢失。因此在执行dd命令前请务必仔细检查命令参数确保操作的安全性。在实际工作中dd命令常常与其他工具如gzip、pv、md5sum等结合使用以实现更复杂的数据处理任务。通过不断的实践和探索您将能够充分发挥dd命令的潜力为您的系统管理和数据维护工作提供有力支持。记住dd命令是一把双刃剑用好了可以极大地提高工作效率用不好则可能带来严重的数据损失。谨慎操作、做好备份永远是使用dd命令的第一原则
ssm电影周边产品贩卖系统f2k4q--程序+源码+数据库+调试部署+开发环境 本系统(程序源码数据库调试部署开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、研究背景与意义随着电影产业的快速发展,电影周边产品市场日益壮大。然而,传统… 2026/7/9 16:08:24
国内低代码哪个好?经过评比,这5个名列前茅,有你用过的吗? 在国外工业巨头西门子(Siemens)在2018年以 7 亿美元收购Mendix,OutSystems 估值冲向百亿美元大关时,很多人觉得中国的低代码赛道‘雷声大、雨点小’。但事实上,一场静水深流的国产化替代与企业自救,正在低代… 2026/7/9 6:53:00
看懂了!开发ERP软件3种路径,被低估的那条最好用! 没错,开发ERP软件,可不全是哼哧哼哧写代码那种 在企业管理软件这个圈子里,“别自己开发ERP”几乎是一条铁律。 但问题是数字化项目最终失败的从来绕不开业务流程。 为什么这么说? 咱先把 ERP拆解开来看。 它无非是把销售、生产… 2026/7/9 8:39:28
大数据计算机毕设之Python 数据建模的气象变化可视化分析大屏系统的设计与实现 基于 Hadoop 集群的气象多维度数据分析系统(完整前后端代码+说明文档+LW,调试定制等) 博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am… 2026/7/9 17:03:06
CrewAI:用多智能体协作打破单一大模型的瓶颈——从原理到实战的完整指南 一、问题的起点:单个 LLM 为什么不够用 大语言模型(LLM)的能力在过去两年突飞猛进,但一个尴尬的现实始终存在:单次调用能解决的任务复杂度有限。你让它写一篇行业分析报告,它需要同时完成信息搜集、数据整… 2026/7/9 17:03:06
密云区人大常委领导赴密云区医院 实地考察超导心磁图仪惠民应用 近日,密云区人大常委会相关领导一行莅临北京大学第一医院密云医院实地参观,重点考察交流前沿心脏检测设备超导心磁图仪,详细了解了设备的技术创新优势、临床落地应用等情况。参观现场,美尔斯通相关负责人介绍了设备核心技术原理。… 2026/7/9 17:01:05
2026年合同管理系统(CLM)深度测评:主流厂商能力全景解 当合同成为企业“数字资产中枢”合同管理正从企业后台的边缘职能,演变为串联业务、财务与法务的数字化中枢。这一转变背后,是三重力量的叠加:合规监管进入“以数治税”时代。 金税四期全面落地后,税收征管模式由“以票管税”转变为… 2026/7/9 17:01:05
面试官的震撼:互联网大厂 Java 求职者面试技巧与应对 面试官的震撼:互联网大厂 Java 求职者面试技巧与应对 在竞争激烈的互联网行业,Java 开发者的求职面试常常让人感到压力山大。今天,我们来看看一个幽默但又不失严肃的求职者燕双非,在一次面试中的表现。 第一轮:场景设… 2026/7/9 16:54:55
查一次不如一直盯:AI如何让风险监控从静态走向动态 传统的企业风险排查,本质上是一次性的快照——你今天查了,说没问题。但明天呢?后天呢? 风险不会等你下次查询的时候才爆发。问道云用两大核心能力——724小时实时布控和一键生成决策级报告——让风险监控从静态快照变成了动态视频… 2026/7/9 16:52:55
机器视觉与PLC集成:轮毂缺陷检测与字符识别误差控制在0.2mm内 机器视觉与PLC集成:轮毂缺陷检测与字符识别误差控制在0.2mm内的技术实现轮毂作为汽车关键零部件,其表面质量直接影响行车安全与美观。传统人工检测效率低且易漏检,而采用机器视觉与PLC集成方案可实现微米级精度检测。本文将深入解析高精度视觉… 2026/7/9 0:01:04
GBase 8a vs MySQL 8.0:ALTER TABLE语法与限制的5点关键差异对比 GBase 8a与MySQL 8.0:ALTER TABLE语法差异深度解析与实战指南1. 两种数据库的ALTER TABLE能力全景对比在数据库架构设计和运维过程中,表结构变更(DDL操作)是不可避免的需求。GBase 8a作为国产分析型数据库代表,与开源M… 2026/7/9 0:03:06
【大数据毕业设计】基于多源旅游数据的景区热度分析与推荐系统的设计与实现 基于 Django 的旅游偏好挖掘与景区推荐系统(源码+文档+远程调试,全bao定制等) 博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am… 2026/7/9 0:05:09
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/7 11:26:57
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/8 20:15:17
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/8 14:25:08