有很多你想要可令一个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. 架构之美第二章-美丽架构的含义
  3. 仿网易云音乐客户端的底部播放器的实现思路
  4. Blazor University (2)布局 — 创建 Blazor 布局
  5. python定义符号常量_python从零开始学习(二):python中的变量与常量
  6. 【51nod 1154】 回文串划分
  7. Rabbitmq专题:rabbitMQ如何保证消息的可靠性投递?如何防止消息丢失
  8. OpenHarmony移植:XTS子系统之应用兼容性测试套件
  9. 小米这个系列绝了!7款之后再添新机,完全分不清
  10. python运维模块_Python 运维常用模块
  11. Maven 实现依赖框架jar包的版本管理
  12. Http请求之基于HttpUrlConnection,支持Header,Body传值,支持Multipart上传文件:
  13. SpringBoot系列(3):SpringBoot2.1.x源码阅读环境搭建详解
  14. EN 45545-2T10水平法烟密度检测的注意事项
  15. 使用C++实现n阶行列式的计算
  16. wifi的html页面,笔记本怎么设置wifi
  17. WKWebview使用记录
  18. 每月一书(202111):《五百年来王阳明》
  19. 根据经纬度计算距离(百度地图)
  20. APIC -- 高级可编程中断控制器

热门文章

  1. Springboot启动报错:Failed to process import candidates for configuration class...
  2. Flutter各种虚线实战和虚线边框原理
  3. 实现类似于目录的虚线填充样式
  4. 刨根究底字符编码之—UTF-16编码方式
  5. 安卓怎么打开html游戏,安卓手机如何打开.xapk文件
  6. 绿联 蓝牙适配器 linux,绿联USB
  7. word选择性粘贴没有HTML选项,Word选择性粘贴如何使用?Word选择性粘贴的快捷键是什么?...
  8. 安装Chromium浏览器并添加Flash插件Pepper Flash Player
  9. plc通过无线通讯连接服务器,PLC无线通讯
  10. Excel第8享:COUNT函数及其应用