(十八)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。

posted @ 2022-05-25 16:54  比特边界  阅读(68)  评论(0编辑  收藏  举报