Ubuntu 8.04.2全系统备份和恢复

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
ustone
帖子: 307
注册时间: 2007-06-06 18:36

Ubuntu 8.04.2全系统备份和恢复

#1

帖子 ustone » 2009-05-24 22:00

Ubuntu 8.04.2全系统备份和恢复

  Ubuntu虽然稳定,但也有崩溃的时候。比如我原来的sda3(硬盘的第3个主分区)装的是Ubuntu 8.04,前几天更新系统的时候也更新了内核,重新启动就无法启动了,用所有的4个内核启动(2.6.24-16,17,20,22)都不行,键盘2个灯在闪,提示:
init: Error parsing configuration: No such file or directory
[xxxxxxxxx] kernel panic - not syncing: Attempted to kill init!
  我查找了很多的中文和英文网页,并在几个论坛求助,都没有解决这个问题,于是放弃,重装系统。装的是最新(2009年1月发布)的长期支持版Ubuntu 8.04.2,装在sda1。装完以后,配置完成,并安装了要用的一些软件,就考虑备份一下全系统。
  我的硬盘分区如下:
sda1: 10G, Ubuntu 8.04.2
sda2: 9G, Windows XP
sda3: 8G, Ubuntu 8.04(崩溃)
sda5: 23G, fat32,有较多剩余空间
sda6
sda7
sda8: swap
  我没有单独的/home分区,分区是几年前就这样的,可惜我硬盘空间不够了,否则一定分一个分区给/home,好处多多。
  备份可以用ghost或clonezilla等工具,我没有用,我想用原生的tar。用tar备份全系统可以在运行的Ubuntu下进行,但是我决定从LiveCD进行,因为:
(1)如果将来系统崩溃了也需要从LiveCD恢复;
(2)在LiveCD中,sda1的proc和sys等目录是干净的,不需要exclude(排除)。
  首先清理系统,sudo apt-get clean清除安装过的包,并删除home里面一些不需要的东西,df -h一看有3.9g。因为打算打包后恢复到sda3,所以先格式化sda3:
sudo mkfs.ext3 /dev/sda3
挂载sda3一看,里面有个lost+found,删除之。
  启动LiveCD,打开终端,
sudo mount /dev/sda1 /mnt
sudo mount /dev/sda5 /media
因为我想把压缩包放在sda5(也就是XP的D盘)
cd /mnt
ls
sudo tar -zcvpf /media/ubuntu.tar.gz .
tar的几个参数,z表示gz压缩格式,c表示创建包,v表示显示过程,p表示保留文件权限。
为什么不用bz2压缩格式呢?bz2生成的包大约小5%,但据说遇到0字节文件时可能会出错。
这个过程进行了15分钟,最后生成的ubuntu.tar.gz为1.6g,打包完成。
然后恢复到sda3:
sudo umount /dev/sda1
sudo mount /dev/sda3 /mnt
cd /mnt
ls
sudo tar -zxvpf /media/ubuntu.tar.gz -C .
x参数表示解压缩,过了几分钟完成。这时要修改sda3的fstab和grub的menu.lst,
ls -l /dev/disk/by-uuid
查看sda3的UUID,然后
sudo gedit /mnt/etc/fstab &
修改fstab,把sda1及UUID改为sda3和它的UUID,
sudo gedit /mnt/boot/grub/menu.lst &
修改menu.lst,把所有的(hd0,0)改为(hd0,2),把所有UUID改为sda3的UUID,保存。
然后安装grub,我的grub都是安装在主分区,mbr安装的是第3方的BootManager。
sudo grub
root (hd0,2)
setup (hd0,2)
quit
然后sudo umount 2个分区,重新启动电脑,选择从sda3进去,启动成功,df -h一看,/分区正是sda3,一切正常,也验证了打的包是正确的。
  这样,将来需要的时候就可以直接恢复,再也不用重装和配置、安装一堆软件那么麻烦了。

  PS:格式化一个分区会改变这个分区的UUID,可以用sudo blkid命令查看新的UUID,当然重新启动(包括LiveCD)后也会在/dev/disk/by-uuid目录下生成新的UUID。所以如果把系统备份压缩包恢复到原来的但是重新格式化过的分区、或者恢复到不同的分区,都需要修改fstab和menu.lst文件里面的UUID。
头像
wangdu2002
帖子: 13284
注册时间: 2008-12-13 19:39
来自: 物华天宝人杰地灵

Re: Ubuntu 8.04.2全系统备份和恢复

#2

帖子 wangdu2002 » 2009-05-24 22:02

楼主找下6pt或者Billbear的备份工具,很不错的。
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!
回复