zoukankan      html  css  js  c++  java
  • Linux 系统启动流程

    • 1.系统启动

    (1)开启开机按钮,系统自动加载主板上的bios(基本输入输出系统)进行自检。

      ①检测系统硬件链接,显卡,内存,磁盘。"检测目的是将设备信息提供给操作系统"
      ②寻找启动磁盘,(光盘启动)(硬盘启动)(软驱启动)采取优先级最高的启动向进行启动。
      ③找到启动磁盘后,会找第一个启动扇区“主引导记录”(MBR)。

    (2)MBR有512字节,由三个部分组成。

      ①引导程序(446字节)加载bootloader(启动载入器,启动内核的小程序)bootloader有两种。
       ⑴lilo:被1024柱面限制,如果lilo改动后必须重启系统后成效。
       ⑵grub:修改后立即生效,已经取代了lilo。
      ②分区表(64字节)每16做一个分区表,所以主分区加扩展分区最多只能做4个
      ③校验码(2字节)

    (3)内核启动,它会接管查看bios电脑上的硬件信息,提供给linux使用。它会将包含在内核的驱动,将它启动。

    (4)内核启动成功后,系统会开始初始化,它会initt执行/etc/ab这个文件并执行n个初始化文件。

      ①0关机,1单用户模式,2多用户模式不包括nfs,3完全多用户模式,4预留,5图形化,6重启。
      ②/etc/rc.d/rc.sysinit      #定义所有启动文件的初始化文件。
      ③/etc/rc.d/* #下面会找到指定默认数字的所有文件。S开机自启动,K开机不启动,数字代表启动排名
      ④/etc/init/control-alt-delete.conf    #设置了ctrl+a/t+delete重启文件
      ⑤/etc/rc.local       #初始化最后加载的文件,自动执行下面命令。

    (5)初始化后,用户登陆,会执行4个文件。

    ①/etc/bashrc                          #全局文件
    /etc/profile #全局文件
    /root/.bash_profile #环境变量文件
    /root/.bashrc #环境变量文件
    • 2.bootloader程序位置:/boot/grub/stage1   #stager1通过连接工具stager1_5加载stage2 核心。
    • 3.系统启动文件位置:/boot/grub/grub.conf 
    default=0                     #0代表第一个title
    timeout=5                     #停留5秒钟启动
    *******************          #背景画面
    hiddenmenu                    #隐藏菜单
    title **************          #title启动名字
    root (hd0,0)                #指定boot分区在哪里,hd0代表第一块硬盘第一个分区。
    kernel  **************        #告诉相对路径下的内核位置 
    initrd **************         #系统静态驱动位置,内核有两部分(动态驱动,静态驱动
    • 4.用户删除自身的环境变量后变为-bash:恢复命令cp -p(连同权限)/etc/skel/.bash* /home/aa。
  • 相关阅读:
    C++ Compress Floder
    C语言: 两个int变量相除,结果保留两位小数
    过滤Windows文件名中的非法字符
    判断两个vector是否相等
    顶级操盘手是怎样准确把握入场时机的
    短线黑马选股绝技
    短线黑马选股绝技 一
    每日一招:短线炒股实用技巧
    高抛低吸T+0操作要领(目前行情短线炒作的必备技能)
    如何买开盘即涨停的个股
  • 原文地址:https://www.cnblogs.com/xiangsikai/p/8283777.html
Copyright © 2011-2022 走看看