转载注明出处(cppgp: http://blog.csdn.net/cppgp )
1. 概述
1.1 GRUB是什么
GNU GRUB是一款多重引导程序。简单来讲,引导程序是计算机开机运行的第一个软件,它的使命是装载操作系统并运行。实际上,由于平台、存储介质、操作系统、文件系统等的多样性,引导程序都很复杂,同时,引导程序要求有更高安全性、健壮性。
GNU GRUB支持多平台(例如X86、PowerPC等)、多存储介质(例如硬盘、软盘、光盘、U盘)、多操作系统(例如Linux、Gnu Hurd等)、多重引导(例如Windows等)、多文件系统(例如Ext2、Ext3、Ext4、FAT32、NTFS)。支持模块化扩展,可按照配置文件及命令行方式加载操作系统。以下是一些设计引导程序基本概念及标准的文档:
• Multiboot: http://www.gnu.org/software/grub/manual/multiboot/
• Multiboot-with-GRUB : http://tldp.org/HOWTO/Multiboot-with-GRUB.html
本文对GRUB (grub-1.98) 实现进行跟踪和分析。为简化流程,我们做如下假定:
• Intel i386兼容系列CPU;<