欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Windows 7+Fedora 16启动项问题讲解

程序员文章站 2022-03-15 10:27:21
今天小编将为大家带来的是Windows 7+Fedora 16启动项问题讲解,希望对大家会有帮助,有需要的朋友一起去看看吧... 17-04-18...

不久前,实验室一个同学电脑上装的本来是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自己的引导程序了。