硬盘坏了,系统迁移过程记录

来源:互联网 发布:linux源代码在线阅读 编辑:程序博客网 时间:2024/04/30 11:29
其实方法只有两种:
1.重装系统,将系统装的新的硬盘上面,把数据拷贝到新盘上面
2.全盘复制,如果系统没有问题的话

先说说第一种方法:
1. 在考虑要不要重装系统之前,首先要明确知道,需要有多少服务要安装,配置等,也就是明白有多少工作要做,不至于耽误时间(因此最好在装系统和服务的时候,记下当时安装的步骤,以及数据存放目录). 如果前期有记录服务安装步骤,数目,数据等信息,重装是比较快的。

2.第二种方法其实有两个选择:
(1).直接dd clone硬盘,如果硬盘还可以运转的话,这种情况下需要考虑下面两个问题,是clone分区了还是clone整个盘,如果clone整个盘那时间上会长一些,而且很傻瓜,但是这里会遇到一个问题,就是你选择的新磁盘可能跟旧磁盘一样大,但起始分区不一致,这种方法不可取,如果是小磁盘clone到大磁盘,一般问题不大,除非磁盘参数相差很大,既然是clone你应该不想麻烦的。 如何知道分区大小适合不适合了:用fdisk -l 查看分区分部情况就能看出来 ,前提是你用livecd 并将新盘和旧盘同时挂载上去了,如果没有livecd可以用以前的安装盘,进入救援模式也是可以的。 如果发现新的盘符合要求,使用下面的命令clone:

dd if=/dev/sda of=/dev/sdb bs=512 conv=noerror,sync
if 是旧盘,of是新盘 (可以在晚上挂着跑,这种情况下是整个磁盘拷贝,非常耗时)

那么怎么看到它拷贝的过程,其实有办法的,使用下面的命令就可以:while :;do killall -USR1 dd;sleep 1;done ,此做法是给dd 命令发一个信号,然后打印出执行的过程,

如果是系统跟数据有分区的,或者前期进行了一些分区规划的,这种方式比较好,先把系统clone下来,数据可以慢慢迁移

拷贝完成后,直接用新盘开机启动就可以用了。

(2)所有文件,进行属性拷贝,首先把新盘按旧盘的分区大小进行分区,可以用parted,gparted,fdisk哪个熟就用哪个吧,分区完了进行格盘,这里注意查看原来的系统格式,不过很多系统的格式是兼容,但是最好保证一致,可以用命令:df -TH 查看,然后格式化:mkfs -t ext3 /dev/sdb1 ,格式化完了后,将新盘旧盘都挂载上来命令如下:mount -t ext3 /dev/sda1 /mnt/source mount -t ext3 /dev/sdb1 /mnt/destination,对考就行了具体命令如下:cp -a /mnt/source/* /mnt/destination ,这里一定要加-a,因为不能把原来的权限给弄丢了。拷贝完了之后(时间也很漫长),重做grub,具体过程是,首先你用livecd进入,然后有下面两种方式做grub,一种是手动做,输入grub ,进入grub命令界面后,手动输入grub的分区信息,这里可能会遇到很多问题,基本上google都能找到,还有一种简便,但比较危险的做法:chroot /mnt/root(/dev/sdb2,挂载的目录,比如/mnt/root,一般进入livecd后自动就会挂载的,这里的sdb2是新盘上面的系统根目录所在) ,切换root为原系统的根目录后,输入sudo-install /dev/sdb1(我的原来的grub分区是在sdb1上面),这其中也会遇到问题,google能找到答案。grub弄好之后,就可以用新盘启动系统了


第二种方法,最重要的一点是,千万别把旧盘和新盘搞错了,一旦搞错数据丢失,直接玩完,小心谨慎,大胆执行,如果怕备份一个然后动手干
0 0