首先会想到dd命令.

但,,

1,若是小硬盘还好,上T的大硬盘这样做肯定不明智;

2,况且dd是在硬件层面的拷贝,前面的MBR也会随之恢复到另一个盘,若源硬盘是100G,目标盘是200G,又会出问题,200G的硬盘由于被覆盖写入了100G硬盘的MBR导致只可用100G,更何况重写MBR相当的麻烦;

所以最好不要用类似 dd if=/dev/sda of=/dev/sdb 的方式来备份至另一硬盘.

这里推荐用tar 的方式拷贝.

首先参照fdisk -l 的显示将目标硬盘用fdisk跟源硬盘一样分区,每个分区的起始柱更结束柱都能看到,当然也可以根据需要自己定义分区大小;

其中,swap 分区在fdisk 中新建好分区之后(也就是分配好了分区好之后)用t选项指定ID为82即可,若是fat32则为b;

分完以后更新分区表(或重启,肯定前者更明智):

# partprobe

再用mkfs格式化.(源硬盘的分区格式可用#df -T 查看)

#mkfs -t ext3 /dev/sdb1

随后就可逐个分区将源硬盘分区备份至目标硬盘分区:

# mkdir /mnt/sda1 /mnt/sdb1
# mount /dev/sda1 /mnt/sda1
# mount /dev/sdb1 /mnt/sdb1
# cd /mnt/sda1
# tar -cpv . | tar -xpC /mnt/sdb1

当然有人会说这样麻烦,直接dd if=/dev/sda1 of=/dev/sdb1,这样也不是说不可,但是,,,

1,要是一个比较大的分区无谓的拷贝空数据不是聪明的做法;

2,tar在拷贝恢复的时候顺便解决了碎片问题,所以这样对系统的拷贝来说个人是十分推荐的.(尽管对于linux分区格式来说不用过多担心磁盘碎片的问题)

对于备份恢复后加载swap分区的错误:“ read swap header failed:invaild argument”.

# mkswap /path/to/swap         ## eg: mkswap /dev/sda4

Linux下备份系统至另一硬盘的更多相关文章

  1. Linux下获得系统时间的C语言实现

    Linux下获得系统时间的C语言的实现方法 #include<time.h> //C语言的头文件#include<stdio.h> //C语言的I/O   int main() ...

  2. buntu下备份系统的方法

    今天不小心强行结束了一不知道用处的进程,结果造成进不了x界面,gdm启动不了,使用apt-get进行修复,结果几乎要把整个x界面有关的软件包删除,所以只好重装系统,为了防止下次出现类似的问题,所以把系 ...

  3. linux下备份mysql数据

    一.业务场景 自己现在做的项目基本上已经开发完成,正式开始上线运行,主要包含两个子项目一个是小程序的后台,一个是后台管理系统. 正式开始运行一段时间后,基本上也没什么BUG了,整个项目都已经能够正常的 ...

  4. Linux下修改系统编码的操作记录

    Linux系统安装后,发现中文显示乱码.因为系统编码为en_US.UTF-8,应改为支持中文的编码(即zh_CN.UTF-8)操作记录如下:1)检查linux的系统编码检查linux的系统编码,确定系 ...

  5. linux 下查看系统内存使用情况的方法

    在Windows系统中查看内存的使用情况很简单,想必大家都已经耳熟能详了,那么在linux系统如何查看内存使用情况呢?下面和大家分享在Linux 下查看内存使用情况的free命令: [root@scs ...

  6. linux下清理系统垃圾

    可以使用以下命令清理系统垃圾sudo apt-get autoclean 清理旧版本的软件缓存sudo apt-get clean 清理所有软件缓存sudo apt-get autoremove 删除 ...

  7. linux下查看系统属性

    inux下查看系统属性1.查看cpu信息查看所有cpu信息:cat /proc/cpuinfo查看cpu类型: grep "model name" /proc/cpuinfo2.查 ...

  8. linux下查看cpu,内存,硬盘等硬件信息的方法

    说明:Linux下可以在/proc/cpuinfo中看到每个cpu的详细信息.但是对于双核的cpu,在cpuinfo中会看到两个cpu.常常会让人误以为是两个单核的cpu. 一.linux CPU大小 ...

  9. Linux下CenOS系统 安装MariaDB

    1.首先去MariaDB官网下载安装包,首页是:https://mariadb.org/ 2.放在linux下的新建目录下:/root/mariadb 然后解压缩,命令为:tar -xzvf mari ...

随机推荐

  1. 批处理+VBS+注册表实现开机自动启动EXE程序

    批处理+VBS+注册表实现WINDOWS开机自动启动EXE程序 以下都是基于WINDOWS系统. 我们都知道当我们有想某个程序在开机时自动运行,只能有三个方式: 1.做成服务,然后对服务进行配置为自动 ...

  2. Sqlserver_sql注入

    随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多.但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进 ...

  3. 如何使用 declare-styleable

    如何使用 declare-styleable 在创建 xml 到 objectName/res/values/ 命名为 attrs.xml 编辑文件内容为(示例)<?xml version=&q ...

  4. dede如何新建一个ajax服务端输出文件

    <?phprequire_once(dirname(__FILE__)."/include/common.inc.php");AjaxHead();    $dsql-> ...

  5. Spring表达式语言 之 5.3 SpEL语法(拾肆)

    5.3  SpEL语法 5.3.1  基本表达式 一.字面量表达式: SpEL支持的字面量包括:字符串.数字类型(int.long.float.double).布尔类型.null类型. 类型 示例 字 ...

  6. 第一堂java web课

    一天的课程上完,虽然很累,但是因为自己的收获,所以我很开心. 第一节课老师带我们大家学习了HTML,学了很多标签,比如:html,head,body <html></html> ...

  7. Tomcat Manager用户配置详解

      Tomcat Manager是Tomcat自带的.用于对Tomcat自身以及部署在Tomcat上的应用进行管理的web应用.Tomcat是Java领域使用最广泛的服务器之一,因此Tomcat Ma ...

  8. struts2 拦截器的注册在strut.xml中

    根据需要:需要在struts.xml中注册拦截器为以下内容  根据自己的业务需要更改参数 <!DOCTYPE struts PUBLIC "-//Apache Software Fou ...

  9. 【转载】SAP的标准对话框函数

    http://blog.sina.com.cn/s/blog_721b218c01012j0y.html 在用户设计sap的程序时,经常需要一些对话框,用户可以自己编写,但使用SAP系统中提供了的对话 ...

  10. Javascript之高效编程

    前言: Javascript绝对是最火的编程语言之一,一直具有很大的用户群,具有广泛的应用前景.而在前端开发中,它也是三驾马车之一,并且是最重要的一环.要想给用户提供更流畅的操作体验,更友好的交互,对 ...