将win7默认的启动过程(BIOS–>MBR–>DPT–>PBR–> Bootmgr)机制,换成由grub4dos来实现

http://www.xishuiw.com 2017年11月06日15:23 浠水网

win7的启动原理

        启动流程:BIOS–>MBR–>DPT–>PBR–> Bootmgr–>BCD–>Winload.exe–>内核加载 –>整个windows7系统

        电脑加电后,首先是启动BIOS程序,BIOS自检完毕后,找到硬盘上的主引导记录MBR,MBR读取DPT(分区表),从中找出活动的主分区,然后读取活动主分区的PBR(分区引导记录),PBR再搜寻分区内的启动管理器文件 BOOTMGR(相当于xp下的NTLDR),在BOOTMGR被找到后,控制权就交给了BOOTMGR,BOOTMGR读取/boot/bcd文件(BCD=Boot Configuration Data ,也就是“启动配置数据”,相当于xp下的boot.ini文件),如果存在着多个操作系统并且选择操作系 统的等待时间不为0的话,这时就会在显示器上显示操作系统的选择界面。在我们选择启动WINDOWS7后,BOOTMGR就会去启动盘寻找 WINDOWS/system32/winload.exe,然后通过winload.exe加载windows7内核,从而启动整个windows7系统。

win7和xp等引导原理区别

   NT5.X  NT6.X
     
 对应版本  WindowsNT/2000/XP/2003  WindowsVISTA/2008/7/8
 启动文件  \NTLDR
 \Ntdetect.com
 \bootmgr
 \Windows\System32\Winload.exe
 启动配置数据  \boot.ini \bootfont.bin  \boot\bcd
 配置编辑工具  记事本  bootice\bcdedit.exe

以上知识来自:http://yuedu.biz/principle-and-bootice-boot-win7-boot-tools-recommended/


操作过程中发现的东西:

在你安装了win7之后,系统所在的分区确实有个bootmgr 这个的文件,即使你设置了隐藏文件也可见,它也不会出现,借助其他工具(我是使用disk genius)是可以看到的。Windows\System32\Winload.exe 这个文件是一直存在的,随时都可以看的到。

替换过程:

1、使用bootice工具将grub4dos写进硬盘的MBR里;

2、在google code下载grub4dos文件包,将里边的grldr文件复制到任意一个分区的根目录下即可,grub4dos会遍历所有硬盘的分区去找它。注意:所放grldr文件的这个分区必须是FAT36 或FAT12,反正不能是ntfs格式的,否则grub4dos就找不见grldr文件。至于为什么,这里grub4dos的开发者有提过,传送门。说是“This is due to the limitation of NTFS boot code. ”,反正我不知道有啥限制。

        我在使用window的磁盘管理工具分区的时候,如果分区容量分的大了,只让你格式化成ntfs格式,所有要想分成FAT格式的就分区容量分的小点。

        0.4.6a版本的grub4dos是不用你创建menu.lst,它会自动监测电脑上所安装的系统自己生成 menu.lst,真方便。以前的版本估计的自己配置menu.lst。

3、重启电脑,在菜单中选择grub4dos监测到的win7菜单启动即可。


发表评论
上一篇grub4dos和bootmgr双启动
下一篇
正在加载中……