Linux的启动过程基本分为五步:
一、内核的引导
计算机启动后,首先进入到BIOS中进行自检,按照BIOS中设置的启动设备来启动(一般为硬盘启动)。操作系统接管硬件以后,进入/boot目录,读取内核文件,进行引导开启
二、运行init进程
init进程是所有进程的起点,没有这个进程,所有进程都无法运行。init进程首先读取配置文件/etc/inittab
Linux的程序根据运行级别来依次启动
Linux系统有7个运行级别(runlevel):
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS)
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
三、系统初始化
在init的配置文件中有这么一行: si::sysinit:/etc/rc.d/rc.sysinit 它调用执行了/etc/rc.d/rc.sysinit,而rc.sysinit是一个bash shell的脚本,它主要是完成一些系统初始化的工作,rc.sysinit是每一个运行 级别都要首先运行的重要脚本。
它主要完成的工作有:激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行任务。
四、建立终端
在rc程序运行完成后,返回init。这时基本系统已经配置完成,各种守护进程已经启动。
接下来init会打开6个终端,以便用户登录。在inittab中的6行代码就是6个终端:
1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6
五、用户登录系统
用户登录方式:
1、命令行登录
2、图形界面登录
3、shell登录