- 论坛徽章:
- 0
|
硬盘分区恢复的问题
多谢egret ,
我已经把分区完全恢复了,
下面把我的问题和解决的方法总结一下,给后来人一个借鉴^_^,
原先我的分区非常乱,因为是先装了windows,后装linux,所以,事先没规划好硬盘的分区(比如我的/hda2在硬盘空间最后面,而/hda5在硬盘空间的中部),后来导致在debian下连cfdisk都进不了,在一个德国的邮件列表上看到,据说是cfdisk的一个bug,分区顺序颠倒的话cfdisk会有问题,前两天莫名其妙我挂载/home的那个分区就没了,可能这就是分区乱的的缘故。
幸亏不久前用partimage备份过,root 分区和home分区,于是在重新给硬盘分了区,给root区分了比原来大的空间(7G),然后用partimage恢复到分区上时,发现还是只能用原来大小的空间4G,这下我都要哭了,(partimage真烂#%¥%¥%……%……)
经过zlg88和egret的热心点拨,在加上网上查了些资料,现在终于搞定,
下面是步骤:
1。使用livecd knoppix启动,挂载/dev/hda2(/,ext3),/dev/hda6(/home,ext3),/dev/hda7(备份文件放在这里)
- #mount /mnt/hda2
- #mount /mnt/hda6
- #mount /mnt/hda7
复制代码
2。然后备份数据
- #cd /mnt/hda7
- #tar -zcvpf root-backup-`date '+%d-%B-%Y'`.tar.gz \
- --directory /mnt/hda2 .
- #tar -zcvpf home-backup-`date '+%d-%B-%Y'`.tar.gz \
- --directory /mnt/hda6 .
复制代码
注意这后两行命令都有个逗号(.)的。表示把当前目录下的文件都备份。
命令结束就会在/mnt/hda7/下产生两个文件如
root-backup-12-February-2005.tar.gz
home-backup-12-February-2005.tar.gz
3.format hda2和hda6,
- #cd /mnt
- #umount hda2
- #umount hda6
- #mkfs.ext3 /dev/hda2
- #mkfs.ext3 /dev/hda6
复制代码
4.恢复我的数据到大分区上,使linux可以使用我分区上的充分的空间,
- #mount /mnt/hda2
- #mount /mnt/hda6
- #cd /mnt/hda2
- #tar -zxvpf /mnt/hda7/root-backup-12-February-2005.tar.gz
- #cd /mnt/hda6
- #tar -zxvpf /mnt/hda7/home-backup-12-February-2005.tar.gz
复制代码
5.这时候数据已经恢复到硬盘上了,但是引导的grub同样也被format掉了,
所以同时还得把grub装回去,
- #grub
- >;root (hd0,1)
- >;setup (hd0)
- >;quit
- #reboot
复制代码
重启之后我的系统就能使用多余的空间了!!!
最后想说的:
这次恢复让我对tar这个小而强悍的命令有了更深的认识:)
tar还有些更深入的用法:
备份的时候我可以去除某些目录不要只需要使用--exclude参数:
例如:
- tar -zcvpf /mnt/hda7/root-backup-`date '+%d-%B-%Y'`.tar.gz \
- --directory / --exclude=mnt --exclude=proc \
- --exclude=var/spool/squid .
复制代码
这样squid里面的cache文件就没必要备份了。
恢复数据的时候我只需要恢复某些目录的文件时,只需要在后面加上目录的名字:
例如:
- tar -zxvpf /mnt/hda2/root-backup-12-February-2005.tar.gz \
- etc/profile usr/local/bin/tolower
复制代码
这样我就可以从备份文件中恢复etc/profile 和usr/local/bin/tolower这两个目录的文件了。
除了上面的帖子我还参考了下面的网页:
http://www.tldp.org/LDP/lame/LAME/linux-admin-made-easy/server-backup.html#TAR-BACKUP
http://www.tldp.org/LDP/lame/LAME/linux-admin-made-easy/server-restore.html#TAR-RESTORE |
|