0
点赞
收藏
分享

微信扫一扫

Liunx开机到登录的过程,都干了啥?

Liunx服务器加电后的开机过程如下:

第一步、加载BIOS

硬件自检》启动权交给相应硬件(一般都是磁盘) ;硬件自检过程,会读取硬件信息,BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等

第二步、读取MBR

硬盘第0磁道第一个扇区被称为MBR(主引导记录),大小512字节(前446为引导信息,后64为分区信息,最后两个为标志位)

第三步、grub引导菜单

通过grub菜单,加载内核

grub菜单,其实就是通过读取MBR,复制到物理内存中的Boot Loader  

第四步、加载内核(kernel)

根据grub设定的内核映像所在路径,系统读取内存映像,并进行解压缩操作;

系统将解压后的内核放置在内存之中,并调用start_kernel()函数来启动一系列的初始化函数并初始化各种设备;

加载内核后,启动init进程(系统的第一个进程,进程号为0)

第五步、设定运行等级(/etc/inittab)

 启动init进程后,读取/etc/inittab文件 ,并依据此文件来进行初始化工作,设定Linux的运行级别;

Linux系统有7个运行级别(runlevel)

 0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动

 1:单用户工作状态,root权限,用于系统维护,禁止远程登陆

 2:多用户状态(没有NFS)

 3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式

 4:系统未使用,保留

 5:X11控制台,登陆后进入图形GUI模式【需要安装了图形界面软件才可以使用】

 6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

第六步、执行rc.sysinit进行系统初始化

设定了运行等级后,Linux系统执行的第一个用户层文件就是/etc/rc.d/rc.sysinit脚本程序,它做的工作非常多,包括设定PATH、设定网络配置(/etc/sysconfig/network)、启动swap分区、设定/proc等等。

第七步、启动内核模块

具体是依据/etc/modules.conf文件或/etc/modules.d目录下的文件来装载内核模块。

第八步、执行不同运行级别的脚本程序

根据运行级别的不同,系统会运行rc0.d到rc6.d中的相应的脚本程序,来完成相应的初始化工作和启动相应的服务。

第九步、执行/etc/rc.d/rc.local

你如果打开了此文件,里面有一句话,读过之后,你就会对此命令的作用一目了然:

# This script will be executed *after* all the other init scripts.

# You can put your own initialization stuff in here if you don’t

# want to do the full Sys V style init stuff.

rc.local就是在一切初始化工作后,Linux留给用户进行个性化的地方。你可以把你想设置和启动的东西放到这里。

第十步、执行/bin/login程序,进入登录状态

此时,系统已经进入到了等待用户输入username和password的界面


举报

相关推荐

0 条评论