凯发真人娱乐

windows 7 fedora 16启动项问题讲解 -凯发真人娱乐

2017-05-16

不久前,实验室一个同学电脑上装的本来是windows 7 fedora 16双系统,结果他不想用fedora 16了, 就在windows上把fedora 16所在的磁盘格式化了。重新启动后windows 7和fedora 16都进不去了。界面就一直停在grub输入的地方。索性就进winpe了,pe进去重新安装了一下c盘,不过是ghost安装的,安装好之后重启结果还是不能进入windows 7,还是grub引导那里。后来我就直接再进入pe,用里面的修复启动项软件重写了mbr,这下能进入windows 7了,并且在进入windows 7后开始自动重写输入表,驱动之类的。我想了下,下面是整个过程的解释。

mbr上面有分区表(64字节)和引导程序(446个字节),grub就是装在这个446字节上的。grub功能很强大,grub是支持多系统启动的,还有控制权转交的功能。所有淡淡这么点大小的储存量是不够的。所有在boot loader(这里就说是grub了)加载的时候有两个阶段,stage1,stage2。stage1阶段主要是加载boot loader上的程序,就是说加载了grub,但这里并没有安装loader相关的配置文件。在stage2阶段就是通过gurb来读取配置文件,比如/boot/grub/menu.lst或grubcon.fig,配置文件提供了很多信息,一个比较直观的信息就是开机时候的系统选择菜单(详细配置文件再介绍)。这就可以理解上面的问题了,删除了linux后,stage1中grub是加载好了,但是stage2过程中去加载配置文件就没了。也就不能发挥grub的系统引导功能和控制权转交功能。

那么为什么ghost安装后还是不能恢复引导呢?ghost开始就是克隆硬盘上的数据的,也就是把镜像的文件重新写了一遍windows 7上的c盘,c盘自己的boot loader是重写了。但是mbr不属于任何操作系统,mbr没有写额。所以就导致mbr上boot loader还是原来的grub程序,也还是会去读取fedora 16下的配置文件。

最后就是进入pe之后修复mbr后就ok了,这里的解释就是重写mbr了,不过肯定不会再是grub了,是windows自己的引导程序了。

网站地图