一 、Centos7启动流程

CentOS7的启动流程

  1. uefi或BIOS初始化,开始开机自检
    这个过程是开机后,BIOS或UEFI进行硬件检查的阶段。

  2. 加载mbr到内存
    自检硬件没有问题时候,这里以BIOS为例,BIOS将会直接找硬盘的第一个扇区,找到前446字节,将MBR加载到内存中,MBR将告诉程序下一阶段去哪里找系统的grub引导。此阶段属于grub第一阶段。grub还有1.5阶段和2阶段。

  3. GRUB的阶段
    grub第1.5和第2阶段,信息默认存放在扇区中,如果使用grub-install生成的第2阶段的文件是存放在/boot分区中的。

    • 为了加载内核系统,不得不加载/boot分区,而加载/boot分区,要有/boot分区的驱动
    • /boot分区驱动是放在/boot分区中的啊,我们好像进入死循环了,Linux是怎么解决的呢?
    • 就是靠放在1.5阶段中的数据,放在第一个扇区后的后续扇区中,第1.5阶段和2阶段总共27个扇区。
    • 第1.5阶段:mbr之后的扇区,识别stage2所在的分区上的文件系统。
    • 第2阶段:开机启动的时候看到Grub选项、信息,还有修改GRUB背景等功能都是stage2提供的,stage2会去读入/boot/grub/grub.conf或者menu.lst等配置文件。
  4. 加载内核和inintamfs模块
    加载内核,核心开始解压,启动一些最核心的程序。
    为了让内核足够的轻小,硬件驱动并没放在内核文件里面。

  5. kernel内核开始初始化,用systemd来代替centos6以前的init程序

    • 先执行initrd.target,包括挂载/etc/fstab (开机自启动挂载)文件中系统,挂载之后,就可以切换到根目录了。
    • 从initramfs根文件系统切换到磁盘的根目录
    • systemd执行默认target配置
      centos7表面有“运行级别”这个概念,实际是为了兼容以前的系统,每个所谓“运行级别”都有对应的软连接指向,默认的启动级别/etc/systemd/system/default.target,根据它的指向可以找到系统要进入到哪个模式。
      模式:
      0 ==> runlevel0.target, poweroff.target
      1 ==> runlevel1.target, rescue.target
      2 ==> runlevel2.target, multi-user.target
      3 ==> runlevel3.target, multi-user.target
      4 ==> runlevel4.target, multi-user.target
      5 ==> runlevel5.target, graphical.target
      6 ==> runlevel6.target, reboot.target
    • systemd执行sysinit.target
    • systemd启动multi-user.target下的本机与服务器服务
    • systemd执行multi-user.target下面的/etc/rc.d/rc.local (开机自启动挂载)
  6. Systemd执行multi-user.target下的getty.target及登录服务
    getty.target我们也眼熟,它是启动终端的systemd对象。如果到此步骤,系统没有指定启动图形桌面,到此就可以结束了,如果需要启动图形界面,要在此基础上启动桌面程序。

  7. systemd执行graphical图形化需要的服务
    至此系统启动完成,可以正常使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS 7 的启动过程可以简述为以下几个步骤: 1. BIOS 自检:计算机上电后,BIOS 开始自检硬件,检查硬件是否正常。 2. 引导加载程序(Boot Loader):BIOS 自检完成后,会加载引导程序(Boot Loader),如 GRUB(Grand Unified Bootloader)。 3. 内核加载:引导加载程序会加载内核文件(kernel),并将其解压到内存中。同时,还会加载 initramfs(Initial RAM File System)。 4. initramfs 启动:initramfs 是一个初始的 RAM 文件系统,其中包含操作系统启动所需的一些基本文件,如驱动程序、文件系统、网络协议等。系统会使用 initramfs 启动并加载一些必需的驱动程序和文件系统。 5. 根文件系统加载:initramfs 挂载根文件系统,根据 /etc/fstab 文件指定的挂载点挂载其它文件系统。 6. 系统初始化:当根文件系统挂载成功后,系统会读取 /etc/rc.d/rc.sysinit 脚本文件进行系统初始化,如加载一些模块、启动服务、设置环境变量等。 7. 运行级别切换:系统初始化完成后,会进入到指定的运行级别(Runlevel),Runlevel 包括 0 到 6 共 7 个级别,每个级别对应不同的系统状态。CentOS 7 默认的运行级别为 3,即字符界面模式。 8. 启动服务:根据运行级别的不同,系统会启动相应的服务和程序。 9. 登录界面:最后,系统会显示登录界面,用户可以输入用户名和密码登录系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值