可以分为3个层次:

(一)第一个层次是MBR-> bootable partition,  这个bootable partition的可用的文件系统取决于grub的支持类型:

According to GNU GRUB Manual 1.99~beta0: “Amiga Fast FileSystem (AFFS), AtheOS fs, BeFS, cpio, Linux ext2/ext3/ext4, DOS FAT12/FAT16/FAT32, HFS, HFS+, ISO9660, JFS, Minix fs, nilfs2, NTFS, ReiserFS, Amiga Smart FileSystem (SFS), tar, UDF, BSD UFS/UFS2, and XFS.” That will count for GRUB 2.

inux-kaf2:/boot/grub # ls -l | grep _5
-rw-r--r-- 1 root root   8608 Feb 19  2011 e2fs_stage1_5
-rw-r--r-- 1 root root   7872 Feb 19  2011 fat_stage1_5
-rw-r--r-- 1 root root   7136 Feb 19  2011 ffs_stage1_5
-rw-r--r-- 1 root root   7136 Feb 19  2011 iso9660_stage1_5
-rw-r--r-- 1 root root   8576 Feb 19  2011 jfs_stage1_5
-rw-r--r-- 1 root root   7296 Feb 19  2011 minix_stage1_5
-rw-r--r-- 1 root root   9632 Feb 19  2011 reiserfs_stage1_5
-rw-r--r-- 1 root root   7456 Feb 19  2011 ufs2_stage1_5
-rw-r--r-- 1 root root   6688 Feb 19  2011 vstafs_stage1_5
-rw-r--r-- 1 root root   9288 Feb 19  2011 xfs_stage1_5
linux-kaf2:/boot/grub #

这也就决定了/boot分区所能选择的范围, 只能是基本的文件系统,不支持LVM

(二) boot分区定了root/swap以及其他的分区,在这个阶段,加载kernel p_w_picpath影响到高端内存,initrd作为临时根文件系统。
        这个阶段kernel作为内核只包含尽量小的内核功能,initrd作为加载额外特性的载体,在这个阶段,可以加载比如各种存储和网络特性

# man mkinitrd
这个压缩文件:
加载所有的驱动模块
创建内核知道的设备
初始化重要的子系统(比如nfs需要的网络)
root文件系统检查
然后传递控制全给/sbin/init
# mkinitrd -f
# ls -l /lib/mkinitrd/* (支持的特性)
比较常见的比如: lmv2/nfs/md(软raid)/multipath/network
mkinitrd -f nfs -D eth0
           This will add the required kernel modules and a dhcp client to the initrd, which will try to get an IP address via eth0. Boot the NFS client  with these additional command line options to mount the server: nfsroot=1.2.3.4:/exported/directory.

mkinitrd -f nfs -I eth0
           This will add the required kernel modules to the initrd, a static IP address must be specified on the kernel cmdline. Boot the NFS client with  the nfsroot parameter as specified above to mount the server and the additional parameter
           ip=1.2.3.42:1.2.3.4:1.2.3.1:255.255.255.0:hostname:eth0:none to configure the network interface. See the ip= description above for details  about the ip= option.


(三) OS启动加载模块
# insserv ~
# chkconfig ~ on