• 2008-02-22

    电脑维修备忘录--双系统的风险

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://ninspector.blogbus.com/logs/15780234.html

    话说,现在这个博客已经偏离我最初开博的目的很远很远了。三年半以前,当我在verycd开始写第一篇blog的时候,我的本意是想做一个技术型的blog,写点IT评论,软硬件评测之类的东东,谁想到时过境迁,技术类的文章是越来越少,到法国来之后更是接近于绝迹——这倒是有客观原因的,北京大学的对面就是硅谷电脑城,走几步路就是中关村的海龙、鼎好和E中芯,当时有事没事都可以去里面逛逛,看看行情,买点新鲜的玩意,自然灵感也多。可是在这法国——哎,逛Fnac除了爽爽眼睛,有什么用呢?完全没有什么DIY的空间,记得去年我电脑被偷之后,去Fnac买新的笔记本电脑,付过钱之后,我精神抖擞的准备核对三码,检查坏点,并备好软件用以观察硬盘和电池的使用次数,同时在思考一旦查出问题,如何用相关的法语和售货人员扯皮……结果去拿电脑的时候,工作人员就从里面搬出来一个箱子,说:这就是了,再见!然后去给我后面那个人搬货去了。我有点不知所措的看着箱子,然后又看了看他,一时间难以接受这么大的反差,后来还是狐疑的抱着箱子回家了。到家之后发现果然一切正常,连坏点也没有一个,看来在中关村耳濡目染斗智斗勇的那一套是没有太多用场了。估计Fnac的工作人员从工作到现在压根就没有想过如何不露痕迹的换原装电池,倒腾硬盘之类的“技巧”吧。

    不过前些天还是让我逮着了一个素材,我认为这个问题很有普遍意义,就在这里把它写出来,以便于如果有人以后有类似的问题上网求助的时候,能够搜到这里。

     问题是这样的,一个朋友的电脑坏了,说要拿过来和我共同的探讨一番。症状如下:asus G1S的本,默认系统vista,后自己装了一个linux的ubutu, 一直相安无事。直到有天因为软件的原因导致vista无法启动,用系统恢复盘恢复失败,刻了一张vista盘,安装依然失败。停留在极光界面就不动了。

    首先我把我u盘里面的xp安装了一下,xp提示非常清晰——没有找到硬盘,安装无法继续。看到这个问题,我的第一反应是:是不是0磁道有问题了?但是grub的引导没有任何问题,linux都可以运行,所以否决这一猜想,那么会不会是分区表在作怪?PQmagic的检测似乎验证了这一猜想,PQmagic在修复了三个错误之后,依然把硬盘认做无分区。这个时候比较彻底的做法就是低格,低格之前先备份所有的资料到移动硬盘……

    注:该电脑分区如下:

    隐藏(系统)分区——vista OS分区——linux分区——扩展分区(linux swap分区——数据分区)

     一个小时后,准备就绪,但是此时我们依然不想采用低格这一终极手段来对付这块硬盘,于是找来了其他的一些软件来检测硬盘,在这里隆重推荐国产软件disk genius 3,0,虽然还只是beta 1的版本,但是这是我们当天试验的六七种软件中唯一一个正确的认出来各个分区的软件,比PQmagic,paragon partition manager这些名牌软件效果都好。根据disk genius的显示——在这里不得不鄙视一下华硕的软件工程师,把笔记本的隐藏分区,也就是系统恢复用的,放到了第一个分区,紧接着MBR主引导扇区,这样的后果就是一旦首分区有了任何的异常,即便是从隐藏改成了显示,系统很可能就会出现,相比之下,IBM和HP都是做到硬盘的最后一个部分的,就不存在类似的问题。

     既然低格是最后的选择,那么首先我们就一个一个的删除分区,linux的两个分区首当其冲,我从开始就怀疑它们。删除了之后,试用了一下系统恢复盘,惊奇的发现可以安装系统了!于是静静的等待系统恢复盘工作完毕,重启电脑——ntldr miss……还是没戏

     问题出在什么地方呢?当一切可能性都被排除,最不可能的也就变成了唯一的真相。我们把目光投向了一直老老实实的vista分区,也就是第二分区。disk genius无论如何都显示不出来vista分区的卷标,而把删除linux之后格式化出来的那个分区叫做C:。问题很可能在此。一不做二不休,先格了vista分区再说,现在硬盘上保留的就只有隐藏分区和数据分区了,也就是说,如果现在依然发现不了问题,那么下一步就只有低级格式化,一切从零开始。安装系统……重启,依然如故……难道真的要低格了?

     用winPE查看disk genius里面那个C的时候,发现C盘下有大量的文件,按理说刚刚格式化出来的盘,怎麽会有大量的文件呢,思前想后……终于恍然开悟。原来问题就是出在vista分区上。确切的说,是出在linux系统和vista OS分区的互动上。

    vista OS用的是最新的NTFS 5.0的技术,这是微软的专利,linux的新内核固然能够支持NTFS的读写,但是linux并没有微软的授权,而是通过程序员们自己的研究的做出来的ntfs读写模块,只读模式下倒还好,如果进行了写操作,很可能会对ntfs文件系统内部的链表造成损害,也就是系统分区会出现逻辑错误。在vista系统还是能够正常运作的时候,这种错误并不能够表现出来,而一旦需要重装系统的时候,外部的安装程序读不到正常的硬盘信息,便很可能认为硬盘并不存在。仔细看我上面的标注,会发现该电脑的主分区只有两个系统,一个vista os,一个linux,当vista os的文件系统出现问题,而linux格式本来安装程序就不认识的情况下,发现不了硬盘是很自然的一个提示。

    后来当我格式化了linux分区,安装程序发现终于找到了一个正常的分区,就把vista安装在上面了,可是当引导的时候,依然是从上一个分区开始读的,也就是那个出问题的vista os区,而vista os区已经别格式化了,没有任何内容,所以自然显示ntldr missing。

    接下来的做法就很有针对性了,我们删除了vista os区,然后在空出来的硬盘空间上重新建立了一个,这次disk genius正确的发现并命名它为c,胜利在望,再一次用系统恢复盘引导,顺利启动!

    从下午一点到晚上7点,我们研究了整整六个小时,终于大功告成了。我当即打开了一瓶saint julien产区 chateau gloria的grand vin,倒了两杯红酒,和朋友庆祝这一重大成功。

    总结:在安装linux的时候,ntfs读写模块旁边其实是有提示的,说本功能在实验阶段,最好用只读模式,读写模式有风险。以前我也不是很在乎这个提示,因为根据我的经验,似乎读也就读了,写也就写了,没有发现哪里有什么风险了。但是这次的经历说明,这个提示并不是空穴来风的,并且问题出现的很隐秘,如果不是vista出问题,朋友的电脑到现在依然会跑的很欢。linux对ntfs格式,尤其是vista的ntfs格式的研究还没有达到完全的程度,建议装双系统并经常读写的的人还是采用公开的fat32格式为好,至少这个格式基本上不存在任何兼容的问题。

     

     


    随机文章:

    猴王的愤怒 2008-02-29
    决战Vista 2007-03-25

    收藏到:Del.icio.us




    评论

  • ntfs3g比核心带的要稳定的多,没有写入问题
    神眷之子回复fcicq说:
    问题还在于,一定要让vista正常关机之后再读硬盘,否则只能只读,这个时候如果用force来强行读写,就出问题了
    2008-02-25 01:38:33

发表评论

您将收到博主的回复邮件
记住我