当前位置: 首页 > Linux

Linux-Centos启动流程

时间:2023-04-06 23:53:18 Linux

1:下面简单介绍一下Linux-Centos6系统的启动流程,后面的章节将对重要节点进行详细说明1:开机自检--->2:MBR引导系统启动,相当在GRUB的第一阶段---->3:GRUB1.5阶段加载引导文件系统驱动程序-->4:grub2阶段,读取/boot/grub/grub.conf文件--->5:加载系统Kernel/boot/vmlinuz内核文件到内存-->6:加载/boot/initramfs虚拟文件系统,加载合适的驱动,以只读方式挂载根文件系统---->7:加载根A进程/sbin/init下的第一个文件-->8:加载系统的第一个配置文件/etc/inittab,确定系统的启动方式-->9加载第一个脚本系统/etc/rc.d/rc.sysinit,系统初始化脚本:-->10根据系统的启动方式,根据/etc/rc.d/rc#下的文件依次启动服务。d2:每个阶段的简要说明1POST:power-on-slef-testAddElectricalself-test:检查外部硬件是否正常工作,如cpu。内存、显卡、硬盘、键盘、光驱。该功能主要由主板上的一块内置rom芯片完成,简称bios。开机时可以进入bison进行相应的设置,比如选择电脑从哪个设备启动,硬盘、CD、U盘。2:MBR引导系统启动。MBR一共512字节,存放在硬盘的0扇区、1柱面和磁道上。它的主要作用是引导系统,相当于grub的第一阶段。/boot/grub/stage1中存放的二进制代码与MBR一致。MBR可以判断这个分区是否为主活动分区,由第一个字节决定,00为非活动分区,80为活动分区。MBR的后续字节可以检测硬盘分区表是否完好。MBR中存放着三段信息:bootloder:前446字节,bootloader,引导系统的程序。不同的系统有不同的引导程序。windows:不支持linux启动。linux:允许用户选择内核版本启动,支持windows启动64字节:分区表信息2字节:标识位3:grub阶段grub1.5:加载引导文件系统的驱动文件grub2.0:作用这个阶段是提供一个选择菜单(如果有多个内核系统),引导启动下一个内核kernel启动并加载initramfs文件(作用是提供真正根分区的文件系统驱动,以便根分区可以加载),其配置文件为/etc/grub.conf4kernel内核阶段会解压内核文件,初始化系统中的各个设备并做相关的配置工作,包括CPU、I/O、存储设备等。关于Linux设备驱动的加载,一部分驱动直接编译到内核镜像中,另一部分驱动以模块的形式放在initrd(ramdisk)中。加载根文件系统5:第一步启动系统每个进程的第一个进程:/sbin/init读取系统的第一个配置文件/etc/inittab。确定系统默认模式启动系统6:启动系统的第一个脚本系统初始化脚本:/etc/rc.d/rc.sysinit,该脚本主要内容如下(1)设置hostname(2)hang加载/etc/fstab文件中定义的文件系统(3)检测根文件系统,并以读写方式重新挂载根文件系统以只读方式挂载根文件系统在/boot/initramfs(4)SettingsWelcomemessage(5)激活udev和selinux(6)设置系统时钟(7)激活swapdevice(8)根据/etc/sysctl.conf文件设置内核参数(9)激活lvm和softwareraid设备(10)加载附加设备驱动(11)清理操作7:读取用户的服务文件/etc/rc.d/rc#.d/*读取该目录下的文件根据系统启动方式![图片.png](http://upload-images.jianshu....