centos 7 服务 umask centos7服务启动顺序_鸟哥


1.加载BIOS的硬件信息与进行自我测试(MBR/GPT),并依据设定取得第一个可开机的装置;

  • 计算机加电后,系统加载BIOS(Basic Input Output System),并透过BIOS程序去加载CMOS的信息
  • 通过CMOS内的设定值可取得主机的各项硬件配置(1、cpu与接口设备的沟通频率,2、开机设备的搜寻顺序,3、硬盘的大小与类型,4、系统时间,5、各周边总线是否启动PnP(Plus And Play 即插即用装置),6、各接口设备的 I/O 地址,7与CPU沟通的IRQ中断,等信息)
  • 取得CMOS内的信息后,BIOS还会进行进行开机自我测试(Power-on Self Test,POST)。
  • 然后开始执行硬件侦测的初始化,设定PnP装置,之后定义出可开机的设备顺序,接下来进行开机设备数据的读取

2.BIOS通过硬件的 INT13 中断功能读取并执行第一个开机设备内MBR的 开机管理程序,即 Boot Loader(grup2,spfdisk等程序);

开机管理程序(Boot Loader):安装在开机设备的第一个扇区(sector)内,即MBR(Master Boot Record,主要启动记录区),每个操作系统的 boot loader 都不相同(windows的loader不具备控制权转交的功能),boot loader 的主要功能如下:

  • 提供选单:用户可以选择不同的开机项目,这也是多重引导的重要功能!
  • 载入核心文件:直接执行可开机的程序区段来开始操作系统;
  • 转交其它loader:将开机管理功能转交给其它loader负责。

3.依据boot loder的设定加载Kernel,Kernel开始侦测硬件与加载驱动程序

boot loader 加载 kernel 与 initramfs,然后在内存中让initramfs解压缩成为根目录,kernel 借此加载适当的驱动程序,最终释放虚拟文件系统,并挂载实际的根目录文件系统,再开始后续的正常开机流程。

boot loader读取到核心文件后,linux将核心解压缩到主存储器中,并利用核心的功能开始测试与驱动各个周边装置,包括存储装置、CPU、网卡、声卡等。此时的Linux会以自己的功能重新侦测一次硬件,而不一定会使用BIOS侦测到的硬件信息。此时核心卡是接管BIOS的工作。一般来说,核心文件会被放置在 /boot 里面,并取名为 /boot/vmlinuz (下图来自于鸟哥的Linux私房菜-基础学习篇-第四版)。

centos 7 服务 umask centos7服务启动顺序_加载_02

 

4.在硬件驱动成功后,Kernel会调用systemd程序,并以default.target流程开机:

(1)systemd 执行 sysinit.target 初始化系统及 basic.target准备操作系统;

 

  • systemd 启动 multi-user-target 下的本机与服务器服务;
  • systemd 执行 multi-user-target 下的 /etc/rc.local 文件;
  • systemd 执行 multi-user-target 下的 getty.target 及登入服务;
  • systemd 执行 graphical需要的服务;