有很多你想要可令一个Linux分区或者甚至硬盘驱动器的原因,其中大部分原因是与创建你数据的备份有关。在Linux中你通过诸如partimage或Clonezilla的一些外部工具实现这个目标。

在本文中,我们将回顾用称作dd的工具进行Linux磁盘克隆,这个工具最常用于转换或复制文件并且它预装在大部分Linux发行版中。

如何克隆Linux分区

你能够用dd命令复制整个磁盘驱动器或者仅一个Linux分区。我们从克隆我们一个分区开始。在这里,我有以下驱动器:/dev/vda,/dev/vdb,我将克隆/dev/vdb1到/dev/vdb2。

首先使用如下所示fdisk命令列出这些分区:

[root@telecom ~]# fdisk -l /dev/vdb1 /dev/vdb2Disk /dev/vdb1: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/vdb2: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

现在使用以下dd命令克隆一个分区/dev/vdb1到/dev/vdb2。

[root@telecom ~]# dd if=/dev/vdb1 of=/dev/vdb2
20971520+0 records in
20971520+0 records out
10737418240 bytes (11 GB) copied, 526.379 s, 20.4 MB/s

在克隆Linux分区之后,你可以用以下检查两个分区:

[root@telecom ~]# fdisk -l /dev/vdb1 /dev/vdb2Disk /dev/vdb1: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/vdb2: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

如何克隆Linux硬盘驱动器

克隆一个Linux硬盘驱动器类似克隆一个分区。但是不是指定分区,你只要指定整个驱动器。注意:推荐磁盘驱动器大小与源驱动器大小相同(或更大)。

[root@telecom ~]# dd if=/dev/vda of=/dev/vdb
83886080+0 records in
83886080+0 records out
42949672960 bytes (43 GB) copied, 2479.5 s, 17.3 MB/s

这应该用在硬盘驱动器/dev/vdb上复制了/dev/vda的分区。你可以用lsblk命令列出两个驱动器验证变化。

[root@telecom ~]# lsblk
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda    253:0    0  40G  0 disk
├─vda1 253:1    0   4G  0 part [SWAP]
└─vda2 253:2    0  36G  0 part /
vdb    253:16   0  50G  0 disk
├─vdb1 253:17   0   4G  0 part
└─vdb2 253:18   0  36G  0 part

如何在Linux中备份MBR

dd命令也可以用于备份你的MBR,它位于驱动器的第一个扇区,在第一个分区之前。所以如果你想要创建你的MBR的备份,只要运行:

# dd if=/dev/vda of=/backup/mbr.img bs=512 count=1

以上命令告诉dd用512字节步长和count选项复制/dev/vda到/backup/mbr.img告诉只复制一个块。换句化,你告诉dd从/dev/vda复制最前面的512字节到你提供的文件。

[root@telecom ~]# dd if=/dev/vda of=/tmp/mbr.img bs=512 count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.0218645 s, 23.4 kB/s
[root@telecom ~]# ls /tmp/mbr.img  -l
-rw-r--r-- 1 root root 512 Jul  9 21:51 /tmp/mbr.img

如何使用'cat'命令备份或克隆Linux分区

Linux cat命令的粗略使用是通过对照硬盘分区、或U盘或者本地映像文件重定向这个命令输出制作完整磁盘备份或者磁盘分区备份或者一个磁盘分区克隆或者写输出到一个网络套接字。

当dd更容易地做相同的工作时,你正常地认为我们为什么应该使用cat,因为碰到速度和性能时,cat比dd快得多。

dd提供了更多选项并且在处理诸如磁带驱动器的大型备份非常有用,而cat包括更少的选项并且它不是dd必要的替代,但还是在可用时的一个选项。

在复制一个分区的内容到一个新的未格式化分区中,cat命令非常成功地完成了这个工作。唯一要求是要提供一个有效的磁盘分区,这个磁盘分区要有已有文件的最小尺寸并且没有系统文件。

在以下示例中,在第一个硬盘上的第二个分区,其对应/根分区,即/dev/vda2,使用Linux重定向操作符被克隆到了第二个磁盘的第二个分区。

[root@telecom ~]# mount /dev/vdb2 /mnt/clone

在以上命令结束后,克隆分区被挂载到/mnt并且列出两个挂载点目录来检查是否缺失任何文件。

[root@telecom ~]# ls /mnt/clone/
bin                       dev   lib64       opt   sbin  usr
boot                      etc   lost+found  proc  srv   var
CloudResetPwdUpdateAgent  home  media       root  sys
CloudrResetPwdAgent       lib   mnt         run   tmp
[root@telecom ~]# ls /
bin                       dev   lib64       opt   sbin  usr
boot                      etc   lost+found  proc  srv   var
CloudResetPwdUpdateAgent  home  media       root  sys
CloudrResetPwdAgent       lib   mnt         run   tmp
[root@telecom ~]# ls /root/
frp_0.33.0_linux_amd64.tar.gz  gitproject  install_frp.sh  pythondownload
[root@telecom ~]# ls /mnt/clone/root/
frp_0.33.0_linux_amd64.tar.gz  gitproject  install_frp.sh  pythondownload

为了扩展这个分区文件系统到最大尺寸,用root特权发出以下命令:

[root@telecom ~]# resize2fs /dev/vdb2
resize2fs 1.42.9 (28-Dec-2013)
The filesystem is already 9436923 blocks long.  Nothing to do!

如何在Linux中克隆一个分区或者硬盘驱动器相关推荐

  1. linux 杀掉php,Linux_在Linux系统中使用xkill命令杀掉未响应的进程,我们如何在Linux中杀掉一个资 - phpStudy...

    在Linux系统中使用xkill命令杀掉未响应的进程 我们如何在Linux中杀掉一个资源/进程?很明显我们会找出资源的pid然后用kill命令. 说的更明白一点,我们可以找到某个资源(比如termin ...

  2. linux强制移除pdf密码,分享|如何在 Linux 中从一个 PDF 文件中移除密码

    今天,我碰巧分享一个受密码保护的 PDF 文件给我的一个朋友.我知道这个 PDF 文件的密码,但是我不想透露密码.作为代替,我只想移除密码并发送文件给他.我开始在因特网上查找一些简单的方法来从 PDF ...

  3. 如何在linux中关闭一个进程

    如何在linux中kill一个进程 刚开始学习Linux的时候,总是直接点击×来关闭程序.虽然知道这是关闭整个终端程序,但是奈何如此简单的事情对于新手来说都是很困难的.

  4. 如何在 Linux 中创建一个共享目录

    作为系统管理员,你可能有一个特定目录,你希望为 Linux 服务器上的每个用户授予读/写访问权限.在本指南中,我们将回顾如何在 Linux 中对特定目录(共享目录)上的所有用户启用写访问. 这要求设置 ...

  5. linux下如何搜索某个文件,技术|如何在 Linux 中查找一个文件

    对于新手而言,在 Linux 中使用命令行可能会非常不方便.没有图形界面,很难在不同文件夹间浏览,找到需要的文件.本篇教程中,我会展示如何在 Linux 中查找特定的文件. 第一步要做的是find 命 ...

  6. 如何在 Linux 中查找一个文件

    导读 对于新手而言,在 Linux 中使用命令行可能会非常不方便.没有图形界面,很难在不同文件夹间浏览,找到需要的文件.本篇教程中,我会展示如何在 Linux 中查找特定的文件. 第一步要做的是通过 ...

  7. 如何在Linux中恢复一个删除了的文件

    你曾经是否遇到这样的事?当你发现的时候,你已经通过删除键,或者在命令行中使用 rm 命令,错误的删除了一个不该删除的文件. 在第一种情况下,你可以到垃圾箱,搜索那个文件,然后把它复原到原始位置.但是第 ...

  8. 怎么将文件转换成linux文件,你如何在linux中创建一个将文件转换为大写...

    我发现了一个名为:ProgrammingGroundUp-1-0-booksize.pdf的pdf文件,其中一个项目是制作一个汇编程序,它接收文件并将它们转换为大写, .section .data # ...

  9. linux如何转汇编,你如何在linux中创建一个将文件转换为大写的x86汇编程序?

    我发现了一个名为:ProgrammingGroundUp-1-0-booksize.pdf的pdf文件,其中一个项目是制作一个汇编程序,它接收文件并将它们转换为大写, .section .data # ...

  10. linux分区label,label英文什么意思单词讲解(Linux中为一个分区设定label)

    System.out.print("baidu site :"); https://www.baidu.com; System.out.println(" format& ...

最新文章

  1. 硬核!两个博士结婚,接亲时新娘给新郎摆了盘棋局:你赢了再娶我!
  2. leanote个人版安装
  3. python函数式编程、高阶函数
  4. 20170804 - 今日技能封装 - Q
  5. Nginx的动态代理,负载均衡,动静分离的简单使用
  6. Access和sql server的语法区别
  7. js计算器代码加减乘除_理不清亲戚关系,程序员直接写了一个亲戚关系计算器,来试试?...
  8. css样式有行内式还有什么,在行内式CSS样式中,属性和值的书写规范与CSS样式规则不相同...
  9. 让版面充满空间感的海报PSD分层模板,你一定要看看!
  10. 四年一度的菲尔兹奖揭晓,4位数学家折桂
  11. v4l2-ctl 控制命令
  12. C#中的委托和事件(转)
  13. 帆软认证报表工程师FCRA试题
  14. 小学算术运算测试c语言,c语言小学算术运算测试.doc
  15. Tools - UML绘图工具
  16. 基于springboot旅游系统
  17. 美团实习| 周记(一)
  18. 泰勒(Taylor)展开式
  19. Swift guard let 的使用
  20. 四、Echart图表 之 颜色color配置项大全

热门文章

  1. selenium+java+TestNG 使用enabled 参数 —— 禁止执行一些case
  2. 计算机excel取整函数,Excel取整公式集锦
  3. python并行爬虫
  4. matlab做分数阶差分,分数阶微分方程数值实验MATLAB编码
  5. PyQt5教程-05-消息盒子
  6. 已经不能再简单的UE4中播放视频没有声音的解决方案
  7. android广告id,谷歌广告 ID 获取
  8. 计算机类qq网名,最帅的qq名字
  9. 千万不要用中文名当系统用户名,如果你用了,建议重置电脑
  10. android的otg功能,怎么打开手机OTG功能?