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

1,dd操作就是简单的按字节复制,什么分区表啊,MBR(master boot record)啊统统照搬;

1. 磁盘克隆
也就是把整个硬盘复制一份。当然你首先需要在计算机上在接上一块新硬盘,并让系统识别。例如这块硬盘可能被识别为/dev/sdb,原有硬盘叫/dev/sda.
然后你可以在linux命令行上简单地执行:
dd if=/dev/sda of=/dev/sdb
对就这么简单,此命令完成后,你的第二块硬盘上将有一个和第一块硬盘一模一样的副本,也是可以启动的。因为dd操作就是简单的按字节复制,什么分区表啊,MBR啊统统照搬。

当然你也可以做一些微调,来定制一下克隆操作。例如你可能希望把硬盘上的内容全部备份到一个磁盘文件中,而不是另一块新硬盘,你可以

dd if=/dev/sda of=~/disk1.img
之后,disk1.img就是备份好的磁盘映像文件,你可以复制或转移到其他介质也可以压缩一下:
gzip disk1.img #generates disk1.img.gz
或者在创建磁盘映像文件的同时就执行压缩:
dd if=/dev/sda | gzip > disk.img.gz
dd if=/dev/sda | bzip2 > disk.img.bz2

不错吧!ghost的功能都有了。

2.分区克隆
如果我们不想克隆整块磁盘,只想把某些存放数据的分区备份一下,你会需要克隆一个分区。正如预备知识所述,分区在linux下也是一个文件。例如

dd if=/dev/sda1 of=~/part1.img
将把第一块磁盘的第一个分区备份到名为part1.img的文件中。
也可以进行分区复制:
dd if=/dev/hda1 of=/dev/hda3
将把分区一原样复制到分区3.

3. 从镜像文件恢复磁盘或分区
很简单,把上面命令中,of和if指向的文件名互换一下即可实现恢复。例如
dd if=disk1.img of=/dev/sda
把保存在disk1.img中的映像恢复到第一块磁盘
dd if=part1.img of=/dev/hda2
把保存在part1.img中的映像恢复到第一块硬盘的第二个分区

最后,需要注意一点是,无论备份还是恢复,都需要保证 of 指向的文件或磁盘空间要大于 if 指向的内容,因为是按字节复制
如果没有足够的空间去存储内容,备份自然会失败。

时间: 2024-08-27 23:16:16

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

linux用dd测试磁盘速度

[[email protected] ~]# time dd if=/dev/zero bs=1024 count=1000000 of=/1Gb.file记录了1000000+0 的读入记录了1000000+0 的写出1024000000字节(1.0 GB)已复制,11.6493 秒,87.9 MB/秒 real    0m11.690suser    0m0.544ssys     0m10.996s[[email protected] ~]# ll /总用量 1016330-rw-r--r

linux dd指令

ghost和g4l 安装操作系统,速度太慢,整个过程太冗长乏味了. 安装过程中,需要回答若干问题,系统需要安装无数个软件,创建和写入无数的文件.因为涉及到大量的文件定位和读写,速度一定是快不起来的. Windows下我们常常使用ghost系统来备份和刻录操作系统.ghost可以clone整个系统的镜像,然后在新的电脑上恢复,相当简单.用ghost系统安装操作系统比使用安装光盘安装系统要快捷多了,也不需要回答任何问题了. 那么,我们能不能用ghost来备份和恢复Linux系统呢. 答案是不行.因为

Linux DD命令

if =输入文件(或设备名称). ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数. obs = bytes 一次写入bytes字节,即写 入缓冲区的字节数. cbs = bytes 一次转换bytes字节. conv = ASCII 把EBCDIC码转换为ASCII码. conv = ibm 把ASCII码转换为alternate EBCDIC码. conv = ublock 把固定们转换成变动位 conv = lcase 把字母由大写变为小写. conv = swab 交

linux dd 命令详解

1 磁盘管理 1.1 dd 1.1.1 功能说明 读取,转换并输出数据. 1.1.2 语法 dd [bs=<字节数>][cbs=<字节数>][conv=<关键字>][count=<区块数>][ibs=<字节数>][if=<文件>][obs=<字节数>][of=<文件>][seek=<区块数>][skip=<区块数>][--help][--version] 1.1.3 补充说明 dd可从标

linux dd命令参数及用法详解---用指定大小的块拷贝一个文件(也可整盘备份)

linux dd命令参数及用法详解---用指定大小的块拷贝一个文件 日期:2010-06-14 点击:3830 来源: 未知 分享至: linux dd命令使用详解 dd 的主要选项: 指定数字的地方若以下列字符结尾乘以相应的数字: b=512, c=1, k=1024, w=2, xm=number m if=file 输入文件名,缺省为标准输入. of=file 输出文件名,缺省为标准输出. ibs=bytes 一次读入 bytes 个字节(即一个块大小为 bytes 个字节). obs=b

如何在 Linux 中整理磁盘碎片

有一个神话是 linux 的磁盘从来不需要整理碎片.在大多数情况下这是真的,大多数因为是使用的是优秀的日志文件系统(ext3.4等等)来处理文件系统.然而,在一些特殊情况下,碎片仍旧会产生.如果正巧发生在你身上,解决方法很简单. 什么是磁盘碎片 文件系统会按块更新文件,如果这些块没有连成一整块而是分布在磁盘的各个角落中时,就会形成磁盘碎片.这对于 FAT 和 FAT32 文件系统而言是这样的.在 NTFS 中这种情况有所减轻,但在 Linux(extX)中却几乎不会发生.下面是原因: 在像 FA

Linux dd——备份命令

Linux学习笔记之备份命令dd 功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换.可以用该命令实现DOS下的diskcopy命令的作用.先用dd命令把软盘上的数据写成硬盘的一个寄存文件,再把这个寄存文件写入第二张软盘上,完成 diskcopy的功能.需要注意的是,应该将硬盘上的寄存文件用rm命令删除掉.系统默认使用标准输入文件和标准输出文件. 语法:dd [选项] if =输入文件(或设备名称). of =输出文件(或设备名称). ibs = bytes 一次读取

linux dd

使用dd这个linux命令可以创建一定大小文件. linux创建文件命令:dd命令把指定的输入文件拷贝到指定的输出文件中,并且在拷贝的过程中可以进行格式转换.语法:CODE:[Copy to clipboard]dd [选项]QUOTE:if =输入文件(或设备名称).of =输出文件(或设备名称).ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数.skip = blocks 跳过读入缓冲区开头的ibs*blocks块.obs = bytes 一次写入bytes字节,即写 入

linux dd命令实用详解

linux dd命令刻录启动U盘详解 dd命令做usb启动盘十分方便,只须:sudo dd if=xxx.iso of=/dev/sdb bs=1M 用以上命令前必须卸载u盘,sdb是你的u盘,bs=1M是块的大小,后面的数值大,写的速度相对块一点,但也不是无限的,我一般选2M,注意,执行命令后很块完成,但u盘还在闪,等不闪了,安全移除. 注意:你的镜像需要支持dd命令. dd命令的解释. 定义 dd是Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时