dd命令磁盘对拷及备份

2024-04-13 08:18
文章标签 命令 备份 磁盘 dd 对拷

本文主要是介绍dd命令磁盘对拷及备份,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文:https://www.linuxidc.com/Linux/2017-03/141749.htm


dd命令:convert and copy a file

用法:

dd if=/PATH/FROM/SRC of=/PATH/TO/DEST

bs=#:block size, 复制单元大小;

count=#:复制多少个bs;

磁盘拷贝:

dd if=/dev/sda of=/dev/sdb

备份MBR

dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1

破坏MBR中的bootloader:

dd if=/dev/zero of=/dev/sda bs=256 count=1

两个特殊设备:

/dev/null: 数据黑洞;

/dev/zero:吐零

1.做硬盘对拷:

dd if=/dev/sda of=/dev/sdb bs=1024k &

注意:

(1).先改fstab文件,把LABLE换成对应的  /dev/sda(不改的话,拷完后重启系统不知道从哪块盘启动了)

/dev/sda2              /                      ext3    defaults        1 1

/dev/sda5              /data                  ext3    defaults        1 2

/dev/sda1              /boot                  ext3    defaults        1 2

(2).一定要写bs=1024k,一定要加k, 默认是bytes,不加K或M,是以bytes写入,

    有可能系统要挂了,至于 也有人写bs=4M,没啥区别,最后速度差不多。

(3).加 & 后台进行,因为要用当前的终端来查看dd进度,如果忘了加 &,可以用Ctrl+z

把dd进程移到后台,再运行 bg 记其后台运行(为了在当前终端查看进度)。

2.查看dd完成进度,要不然鬼知道啥时候能dd完成啊

ps -ef|grep dd  //查看 dd 进程id号,其实上边命令加&后,己经显示了。

kill -USR1  id  //查看 dd 完成进度

100118036480 bytes (100 GB) copied, 1346.94 seconds, 74.3 MB/s

如果想时时查看进度,可以用下面语句:

watch -n 1 kill -USR1 3730  // 每2秒查看一次进度

while kill -USR1 3730;do sleep 2;done;  //每2秒查看一次进度

这种是通过发送USR1信号的方法,去产生一个标准的IO错误,来达到显示当前COPY进度与COPY速度的目的。

3.如果sdb原来是一个裸盘没有格式化过,dd可能并不能拷贝superblock信息,所以盘不能mount起来。

所以只需要进入fdisk界面:

# fdisk /dev/sdb

# w

“write table to disk and exit”,sdb就可以mount起来了,如果是格过的,可能需要fsck一下就可以了

注意:建议不要轻易dd,有可能把系统搞坏,在有把握情况下或数据备份过情况下使用dd

这篇关于dd命令磁盘对拷及备份的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/899604

相关文章

Rsnapshot怎么用? 基于Rsync的强大Linux备份工具使用指南

《Rsnapshot怎么用?基于Rsync的强大Linux备份工具使用指南》Rsnapshot不仅可以备份本地文件,还能通过SSH备份远程文件,接下来详细介绍如何安装、配置和使用Rsnaps... Rsnapshot 是一款开源的文件系统快照工具。它结合了 Rsync 和 SSH 的能力,可以帮助你在 li

Redis的Zset类型及相关命令详细讲解

《Redis的Zset类型及相关命令详细讲解》:本文主要介绍Redis的Zset类型及相关命令的相关资料,有序集合Zset是一种Redis数据结构,它类似于集合Set,但每个元素都有一个关联的分数... 目录Zset简介ZADDZCARDZCOUNTZRANGEZREVRANGEZRANGEBYSCOREZ

SQL Server使用SELECT INTO实现表备份的代码示例

《SQLServer使用SELECTINTO实现表备份的代码示例》在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误,在SQLServer中,可以使用SELECTINT... 在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误。在 SQL Server 中,可以使用 SE

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

关于Maven生命周期相关命令演示

《关于Maven生命周期相关命令演示》Maven的生命周期分为Clean、Default和Site三个主要阶段,每个阶段包含多个关键步骤,如清理、编译、测试、打包等,通过执行相应的Maven命令,可以... 目录1. Maven 生命周期概述1.1 Clean Lifecycle1.2 Default Li

windows系统下shutdown重启关机命令超详细教程

《windows系统下shutdown重启关机命令超详细教程》shutdown命令是一个强大的工具,允许你通过命令行快速完成关机、重启或注销操作,本文将为你详细解析shutdown命令的使用方法,并提... 目录一、shutdown 命令简介二、shutdown 命令的基本用法三、远程关机与重启四、实际应用

VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virtual disk”问题

《VMWare报错“指定的文件不是虚拟磁盘“或“Thefilespecifiedisnotavirtualdisk”问题》文章描述了如何修复VMware虚拟机中出现的“指定的文件不是虚拟... 目录VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virt

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

不删数据还能合并磁盘? 让电脑C盘D盘合并并保留数据的技巧

《不删数据还能合并磁盘?让电脑C盘D盘合并并保留数据的技巧》在Windows操作系统中,合并C盘和D盘是一个相对复杂的任务,尤其是当你不希望删除其中的数据时,幸运的是,有几种方法可以实现这一目标且在... 在电脑生产时,制造商常为C盘分配较小的磁盘空间,以确保软件在运行过程中不会出现磁盘空间不足的问题。但在