首先准备一个Live CD,就是Ubuntu的安装盘。
备份原理就是将系统文件压缩打包。由于Linux系统所有都是文件,故,只需要将系统打包即可。当然,必须除了当前系统运行中的文件以及临时文件。
打包有两种方式:a)直接需要打包的Linux系统下压缩打包(亲测,发现在打包最后会报错,不知会不会有问题),反正我是没有成功。b).使用Live USB
接下来就是步骤了
1、使用U盘启动,进入Live USB界面,点击试用。
2、进入试用Ubuntu后,先获取root权限。
sudo su
在根目录下新建一个文件夹backup,用来挂载系统硬盘(/dev/sdb2,这是我的"/"主分区,应该也是系统所在的地方吧)。
mount dev/sdb2 /backup/
注意:sda1,sdb1按照fdisk -l查看的的实际情况替换。
进入backup文件夹下查看是否挂载成功。如果挂载成功,文件夹下应该是要备份的Linux系统文件。
压缩格式有很多,如果你的硬盘够大,建议使用低压缩格式,这样速度会很快。
进入到backup备份系统目录下:
tar cvpzf /backup/mnt/backup.tgz --exclude=./proc --exclude=./lost+found --exclude=./mnt --exclude=./sys --exclude=media ./
tar 是用来备份的程序
c - 新建一个备份文档
v - 详细模式, tar程序将在屏幕上实时输出所有信息。
p - 保存权限,并应用到所有文件。
z - 采用‘gzip’压缩备份文件,以减小备份文件体积。
f - 说明备份文件存放的路径
解释:--exclude ,是排除压缩的文件。就是将不需要的文件排除。
等待压缩完成。
如果不是在本机上的话,要备份原始系统的配置文件,以及新安装系统的启动文件。
进入backup原始系统下,备份系统配置文件fstab fstab.d
cd /backup/etc/
cp -pdr fstab fstab.d /restore/backsrc/
进入restore/还原目录下,备份系统启动文件grub.cfg.主要是用来获取新硬盘的UUID号,替换备份系统的内的UUID,不然在新硬盘上系统无法启动!
cd /restrore/boot/
cp -pdr grub.cfg /restore/backsrc/
G.解压缩,还原系统到新硬盘下.
tar -xvpzf /restore/backsrc/backup.tgz -C /restore/
H.替换刚刚备份的系统配置文件,以及修改启动文件中的UUID:
替换:
cp -fdr /restore/backsrc/fstab fstab.d /restore/etc/
修改:
打开/restore/backsrc/grup.cfg
复制里面的UUID
打开/restore/boot/grup.cfg,将里面的UUID全部替换。
现在一切还原完成。关闭电脑,拔掉U盘,拔掉旧的备份硬盘。重启电脑!
完毕!!!
我们继续,进入backup原始系统下,备份系统配置文件fstab fstab.d
cd /backup/etc/
cp -pdr fstab fstab.d /backup/mnt/
我的电脑上没有fstab.d,但最后也成功了
解压缩,还原系统到新硬盘下.
注意!!!因为 tar还原是只会覆盖相同的文件,但是这种方法只是恢复备份时的文件,就是说如果某些文件丢失或损坏了,这样可以恢复修复这些文件,但不能删除自备份到恢复前这期间所生成的其它文件,说白了就是假如你备份系统时有1234这四个文件,如果三天后,由于某些原因变成了1234'5(4改变了),你恢复后,就会变成12345,其中4'恢复成备份时的文件,5保留。所以大家要是想彻底还原成备份时候的样子最好彻底删除根目录下的所有文件,然后在还原,这样就可以还原成备份时的样子了。
Linux 中美妙的事情之一就是在系统正在运行的情况下可以进行还原操作,而不需要启动光盘或者其他任何乱七八糟的东西。当然,如果您的系统已经崩溃,那您必须选择 使用live CD,但是结果还是一样。
tar -xvpzf /backup/mnt/backup.tgz -C /backup/
******************************************************************
好了,言归正传。这是我要用的命令,如果你的备份不是在和我一样的位置的位置的话,那请相应地修改/mnt/backup.tgz这一点:
tar -xvpzf /mnt/backup.tgz -C /
如果您使用的是bz2压缩的:
tar -xvpjf /mnt/backup.tar.bz2 -C /
如果系统已经崩溃可以使用Live usb登录,然后
mkdir /tmp/root
mount /dev/sdb2 /tmp/root
tar -xvpjf /tmp/root/mnt/backup.tar.bz2 -C /tmp/root
当然,恢复前可以先rm -rf /tmp/root/* 一下,这样就干干净净了。(就是之前说的删除根目录下的所有文件)
这个只是在本机上还原,如果是还原到别的机子上记得修改fstab文件。(可能还需要安装grub)
恢复命令结束时,你的工作还没完成,别忘了重新创建那些在备份时被排除在外的目录:
# mkdir proc
# mkdir lost+found
# mkdir mnt
# mkdir sys
# mkdir media
等等
********************************************************
现在一切还原完成。关闭电脑,拔掉U盘,重启电脑!