启动linux系统,通常需要安装LILO(the LInux LOader),LILO不仅可以引导LINUX,也可以引导其他操作系统,包括MS-DOS或WIN 9X以及Windows NT等。在安装LINUX时,LILO可以装在硬盘的MBR中,也可以安装在活动分区的引导扇区中。
微机启动时,BIOS装载MBR,然后从当前活动分区启动,LILO获得引导过程的控制权后,会显示LILO提示符,如下所示:
LILO BOOT:
此时如果用户不进行任何操作,LILO将在等待指定时间(例如5秒)后自动引导默认的操作系统,而如果在此期间按下TAB键,则可以看到一个可引导的操作系统列表,例如:
LILO BOOT:[TAB]
WIN98 LINUX
BOOT:
上述列表表明LILO可引导WIN98和LINUX两种操作系统,并且WIN98是默认的操作系统。如果此时用户在LILO提示符后键入LINUX则可启动LINUX操作系统。
LINUX的另外一个特点是可以将许多参数传递给LINUX内核,例如:
BOOT:linux single
可指定LINUX进入单用户模式。
当用户选择启动LINUX操作系统时,LILO就会根据事先设置好的信息从ROOT文件系统所在的分区读取LINUX映象,然后装入内核映象并将控制权交给LINUX内核。LINUX内核获得控制权后,以如下步骤继续引导系统:
1.LINUX内核一般是压缩保存的,因此,它首先要进行自身的解压缩。内核映象前面的一些代码完成解压缩。
2.如果系统中安装有可支持特殊文本模式的、且LINUX可识别的SVGA卡,LINUX会提示用户选择适当的文本显示模式。但如果在内核的编译过程中预先设置了文本模式,则不会提示选择显示模式。该显示模式可通过LILO或RDEV工具程序设置。
3.内核接下来检测其他的硬件设备,例如硬盘、软盘和网卡等,并对相应的设备驱动程序进行配置。这时,显示器上出现内核运行输出的一些硬件信息。
4.接下来,内核装载ROOT文件系统。ROOT文件系统的位置可在编译内核时指定,也可通过LILO或RDEV指定。文件系统的类型可自动检测。如果由于某些原因装载失败,则内核启动失败,最终会终止系统。
5.然后,INIT切换到多用户模式,并为每个虚拟控制台和串行线路启动一个GETTY进程,GETTY进程管理用户从虚拟控制台和串行终端上的登录。根据不同的配置,INIT也可以启动其他进程。