谈谈关于双系统中重装Linux失败时导致Windows无法启动的解决办法
电脑上本来装的是Windows7和Ubuntu双系统,今天有时间就把上次下载的fedora16刻盘,想把ubuntu换成fedora。
岂知在装fedora的过程中,到了选择存储设备时由于是英文就手误选择了“替换本机上已有Linux”的选项。在进行复制映像文件到磁盘的时候提示检测已有Linux的分区的文件系统失败,没仔细看就点选择返回进行重新安装。这次选择了自己分配磁盘空间,可是进入到分区列表时看到竟然有三个主分区,而且前两个是ext分区,window系统在第三主分区,逻辑分分区中也有两个ext分区。但是怎么想也不知道为何出现了这个多的ext分区,因为映像中之前在装ubuntu时之分了两个ext,一个用于挂载/,一个用于挂在home。但是根据ext分区的大小能判断之前的Linux在那个分区上,但是绝对没有在前两个ext主分区上,于是就选择删除两个ext主分区,把Linux挂在到逻辑分区上。但是在进入到复制文件的过程中,还是提示检测文件系统是失败,有重新进行了几次依然说检测系统文件失败。
于是放弃了安装fedora,准备重启来修复mbr。由于之前的操作grub已经被破坏,所以重启之后就只有grub提示符。所以拿了Windows7的安装光盘,进入命令提示符使用bootrec /fixmbr和bootrec /fixboot两条命令完成修复,重启自然就进入了Windows的启动画面。
可是问题现在就来了,启动画面没过多久后屏幕出现autochk program not found – skipping autocheck,一会之后就出现了蓝屏,反复重启仍然是这种情况。于是不断的Google,看到好多然是虽然出现了上述一段提示后但能进入桌面,只有少数的是跟我一样会蓝屏。在继续Google,看到一篇文章讲述了他修复Windows7启动的过程。这篇文章的地址是http://www.jianxu.net/2012/03/04/%E8%AE%B0%E4%B8%80%E6%AC%A1%E5%A4%8D%E6%9D%82%E7%9A%84win7ubuntu%E5%8F%8C%E7%B3%BB%E7%BB%9F%E5%90%AF%E5%8A%A8%E4%BF%AE%E5%A4%8D%E8%BF%87%E7%A8%8B/。于是我想到可能和作者的情况一样,应该是之前在安装fedora分配分区时,本来一共有三个主分区,我删除了前两个主分区,导致有系统文件的那个分区位置变化与盘符C错位,因此在系统启东时需要找到autochk文件来检测磁盘,但是盘符为C的磁盘错误,进而就找不到这个文件自然有autochk program not found – skipping autocheck的提示。所以安装文章中作者方式进入pe使用osletter对盘符c与用于系统文件的分区做关联。这样操作之后重启果然成功启动Windows7,由于本身我系统只有两个分区c和d盘,进入系统后果然发现d盘变成了光驱,原来的d分区不见了,通过磁盘管理器对原来的d分区重新分配盘符,ok一切搞定!
上述中所要使用的osletter命令需要下载osletter命令,然后用命令提示符进入到这个这个文件所在的文件夹中,接着使用osletter /targetletter:C /currentos:X命令进行做关联,其中c当然是系统分区所要使用指定的盘符,一般情况下都是c盘,而x就是你在pe中所能看到的你电脑硬盘中有系统文件的分区的盘符。