造成这种不良事故的罪魁祸首是testdisk这个强大的数据恢复软件,很可怕的性能,我没有完全了解他的操作,结果将我的分区搞坏了,系统启动不了,之后好好研究下他的操作。
我的系统配置是:CentOS7,grub2,mbr。
grub rescue修复过程:
grub rescue 中能用得到命令:
ls set prefix root insmod
首先输入ls查看系统中有几个启动盘,我的情况是(hd0) (hd0,msdos1)………如果你知道自己的启动盘可以略过这段。
然后依次使用ls (hd0,msdosX)这条命令,如果出现filesysrem未知,则你的grub不在这里面,出现file not found 或者一大串文件列表,并且有grub. cfg这个文件,那么恭喜你,找到grub所在的磁盘了,我的是(hd2,msdos)
我的/boot是单独分区的,使用grub2,因此下面的情况适仅适合/boot单独分区的咯,如果你是没有单独分区的情况,请到网上搜索,大致的过程一样,仅仅目录grub的位置不同(没有亲自实践,不敢妄言。
执行下面几条语句:
set root=hd0,msdos2
set prefix=(hd0,msdos2)/grub2
insmod normal
normal
这样就可以正常启动了,具体参数视自己情况而定。
启动之后进入系统,执行下列命令,不然每次启动都要进入grub rescue ,很不好。
grub-mkconfig -o /boot/grub2/grub.cfg
grub2-install /dev/sda
这样就行了,网上说这样是重建了MBR分区。
下面是我这次悲惨遭遇的缘由,悲惨是因为我的磁盘中除了linux系统启动和运行需要的分区还完好外,其他的分区都被销毁了,也许在经历一番波折后还能找回来,毕竟在磁盘分区消失后我没有在上面进行任何操作,数据没有丢失,以此为鉴。
前段时间我的电脑系统还是win7,在vmware虚拟机中装ubuntu学习了linux下的shell编程,之后一段时间学习了系统方面的知识,然后就想装个centos7——win7的双系统,个人更喜欢centos,ubuntu更适合入门吧。经历各种挫折后终于装好了,关于如何安装的centos7与win7双系统,以后有时间我会写一篇博文详细记录下来的,波折不少,记录下来对我现在的时间来说不允许。其中的经验既可以与你们分享,又能让自己在很久之后还记得自己的成长历程。
这次“事故”是因为我昨天在virtual box中装好了win7的虚拟系统,所以我就想将笔记本上的win7卸载了,直接在虚拟机中运行。想到就做到,我直接将win7系统盘格式化,然后执行
grub-mkconfig -o /boot/grub2/grub.cfg
这个命令,重启系统。之后正常就如centos的启动过程,可是一直卡在了一条进程上面
a starting run in /dev/system
system 是我的win7系统盘分区(被我格式化的那个分区),我设置在系统启动是默认挂载在 /system 目录下,问题就出在这里,我将它格式化后系统无法识别这个分区,无法挂在,因此系统集一直卡在这里,无法进入图形界面。在网上赵了很久,还下载了testdisk这个强大的软件 *_* ,最终在archlinux.org找到了解决方法(archlinux.org是个很棒的网站,我很多问题都是在上面找到解决方法的,他并不局限谈论archlinux这个发行版的,并且网站的管理也很好,不过似乎中文的版面很少很少,英语要有点基础)。
解决方法就是修改 /etc/fstab 中有关挂载 system 分区的语句,将他注释掉,重启系统,OK。
问题全都完美的解决了,win7已经从我的硬盘中消失了(除了虚拟数据),perfect。
可惜我的手有点发痒,想起昨天下载的testdisk软件还没有实践过呢,要不要实践一下呢(魔鬼般的想法毁灭了我宝贵的数据,我写的程序都消失了吗?),于是我就用他来恢复了我的win7系统盘,扫描了一晚上,将数据全部扫描出来了,然后我就将他写进了系统中,重启系统,很顺利。之后我就进入了 grub rescue 这个大坑。一番bing 搜索之后,终于找到上面的方法重启了系统,修复了系统,可是万万没想到,我的system盘恢复了,其他的几个关键的数据分区消失了,痛心疾首啊,这时突然发现grub居然自动识别了 windows7 的启动程序,以下勾起了我的好奇心,我能不能在window上恢复我丢失的文件呢?想到做到,重启,进入win7。这里不得不佩服下testdisk了,win7居然一点没变的重启成功了,就好像我并没有格式化他一样(快速格式化只是改变磁盘的属性,并不会改变数据,而恢复数据就是重建磁盘的相关信息,所以只要不覆盖原来的数据,就可以完美恢复),然后我下载了一个360(以前都用金山,用了很久,感觉比360好用,但是在系统底层方面好像不是很擅长,我感觉自己系统有些问题,可是他一直没有检测出什么问题,一直没有检测出来我的耳机驱动有什么问题,就是插上耳机没有声音。可能底层的问题和这些所谓的电脑管家、电脑助手关系不大,可惜我想修复下系统都不行,驱动精灵也是坑),希望他能修复我的系统引导问题,以前我就用360重装过系统,不过360除了要你绑定一大堆软件外,并没有什么用哈。
然后我就重启进入了centos,再次删除了system这个盘。这就是这次数据丢失的全过程了,我还期望用testdisk恢复我的数据呢。希望这篇文章能帮到和我有相似经历的同学,切忌不要再已经删除的分区上进行任何操作,除非你确定上面没有什么重要的数据,否则书局恢复软件也回天乏力,我在操作磁盘的过程中,看到root home boot 一类的linux 安装时创建的分区后都远远避开,即使只是大小和他们相同的磁盘也绝对不进行任何操作,否则我现在就不是在这里写下我的经验,而是重装系统了。
这里吐下槽,博客园在手机上的网页版有点问题啊,我在手机的记事本中编辑了这个博文,打开手机浏览器,进入我的博客,想粘贴这段文字,因为我使用的google输入法,没有粘贴选项,平时都是使用andriod自带的粘贴功能,可是我在编辑博文时发现无法调用andriod的粘贴功能,结果我通过邮箱,在电脑中打开邮件才将这篇博文发布上来了,希望博客园越做越好,喜欢这个清净的地方。