Linux下备份系统至另一硬盘

首先会想到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;

分好区之后再用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分区格式来说不用过多担心磁盘碎片的问题)

时间: 2024-10-22 01:59:40

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

Qt linux下设置系统时间

想要能修改 ARM板上的系统时间,试了两种方法: 1.采用系统命令.system() 尝试了很多命令,date -s "20090807 16:02:23" :date -s 16:02:23 :但板子上的日期就是设置不成功,采用date -s 16:02:23 可以将时间设置成功.于是不得不考虑别的方法. 2.标准C库 首先感叹下,C库很强大呀! 而且我觉着C库的移植行很好.相比较采用system()命令,可能由于linux 版本的不同,好多命令可能存在差异,比如redhat 和ub

linux下查看系统的发行版本及位数

linux下查看系统的发行版本:lsb_release -a 查看32.64位:1. getconf LONG_BIT 2. file /bin/ls 3. uname -a

Linux下日志系统详解

Linux下日志系统详 1.linux系统上有两个日志服务syslog和syslog-ng syslog服务有两个进程syslogd和klogd syslogd: 系统产生的日志信息 klogd:内核产生的日志信息 klogd:在系统启动时内核产生日志输出至物理终端(/dev/console)并存放至/var/log/dmesg文件中 查看klogd产生的日志信息可通过 dmesg 和 cat /var/log/dmesg 命令查看 syslogd:在系统启动后,由各子系统产生日志并存放至 /v

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

在Windows系统中查看内存的使用情况很简单,想必大家都已经耳熟能详了,那么在linux系统如何查看内存使用情况呢?下面和大家分享在Linux 下查看内存使用情况的free命令: [[email protected] tmp]# free total used free shared buffers cached Mem: 3266180 3250004 16176 0 110652 2668236 -/+ buffers/cache: 471116 2795064 Swap: 2048276

buntu下备份系统的方法

今天不小心强行结束了一不知道用处的进程,结果造成进不了x界面,gdm启动不了,使用apt-get进行修复,结果几乎要把整个x界面有关的软件包删除,所以只好重装系统,为了防止下次出现类似的问题,所以把系统做了一个备份. 备份的方法有两种,一种是通过一种软件进行被份,另外一种是通过命令行进行备份. 软件备份的方法是下载一个叫UCloner的软件.使用方法压缩包内已经说明了我就不再多说,不过因为这个软件说只支持Ubuntu 10.10 10.04 和9.10,所以别的版本就要使用命令行进行备份了. 下

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

说明:Linux下可以在/proc/cpuinfo中看到每个cpu的详细信息.但是对于双核的cpu,在cpuinfo中会看到两个cpu.常常会让人误以为是两个单核的cpu. 原文地址: http://www.hpboys.com/659.html 一.linux CPU大小 [root@idc ~]# cat /proc/cpuinfo |grep "model name" && cat /proc/cpuinfo |grep "physical id&quo

Oracle数据库中Linux下多路径使用及大容量硬盘挂载

一.应用环境及需求 操作系统为Red Hat 6.5 64位 挂载的存储容量为2.5T 基于此应用环境,需要解决两个问题: 为保证链路的稳定性及传输性能等,可以使用多路径技术: 挂载的存储硬盘超过了2T,MBR分区格式不能支持,需要使用到GPT分区格式 二.什么是多路径 摘自:http://rootking.blog.51cto.com/2619611/476212 普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系.而到了有光纤组成的SAN环境,或者由iSCSI组成的IPSAN环境

linux下收集系统全面信息(基于sosreport以及supportconfig)

Linux下日志的采集和分析是一个非常重要的工作,一般厂商都会有自己独有的命令,我这边列举下常用的两个Linux厂商的收集命令(Redhat Linux以及SuSe Linux),便于收集后,对系统进行全面分析. 1. 基于redhat的日志收集 [[email protected] etc]# sosreport sosreport (version 3.2) This command will collect diagnostic and configuration information 

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

Linux系统安装后,发现中文显示乱码.因为系统编码为en_US.UTF-8,应改为支持中文的编码(即zh_CN.UTF-8)操作记录如下:1)检查linux的系统编码检查linux的系统编码,确定系统是否支持中文.在linux系统的终端中输入命令:locale,就会看到打印出的系统编码信息.[[email protected] ~]# localeLANG=en_US.UTF-8                        LC_CTYPE="en_US.UTF-8"LC_NUME