本文主要讲述通过GRUB实现启动Windows和Linux双系统。首先,在XP下通过修改boot.ini文件也可以实现XP与Linux的双系统,但现在要做的是通过GRUB来实现XP与SuSE双系统的启动。如果有此需求,继续读。
操作系统启动引导管理器是在计算机启动后运行的第一个程序,用来负责加载、传输控制到操作系统的内核,一旦把内核挂载,系统引导管理器的任务就算完成退出,系统引导的其它部份,比如系统的初始化及启动过程则完全由系统内核来控制完成。安装有Windows和Linux的双系统时,多重操作系统启动管理器比较有用,可以选择启动哪个系统。
GNU GRUB是一个多重操作系统启动管理器,是由GRUB(GRand Unified Bootloader)派生而来,最初由Erich Stefan Boleyn设计、实现。GRUB 1即0.x版本现已改名GRUB Legacy,GRUB 2正处于开发阶段,最终取代GRUB Legacy,Legacy 已停止开发。产品网站http://www.gnu.org/software/grub/
在x86架构的机器中,Linux、BSD或其它Unix类的操作系统中GRUB、LILO是最为常用的多重操作系统启动管理器,Windows也有类似的工具NTLOADER,C盘下的隐藏文件NTLDR就是windows的多系统启动引导器。
GRUB Legacy对硬件的命名规则是:
(fd0)代表软盘,(hd0)代表第一块硬盘,不区分SATA、IDE设备,(hd1,0)代表第二块硬盘的第一个分区。
GRUB Legacy的启动目录(/boot/grub)主要包含文件stage1和stage2,还有一些各种文件系统对应的stage1.5,default、device.map。其中stage1的大小是512字节,与MBR大小一致,通常将其写入硬盘的MBR或者是某个操作系统所在分区的第一个扇区,计算机启动后会读取MBR,stage1的唯一作用是将stage2或者stage1.5装入内存,由于大小的限制,通常将stage2或者stage1.5的位置进行硬编码,stage1不需要理解stage2或者