• 生命在于学习——Linux学习笔记(八)启动引导


    注意:本篇文章仅用于自我学习Linux系统的操作,笔记记录,不得用于其他违规用途。

    一、Linux的启动流程

    1、BIOS自检

    2、启动GRUB/LILO

    3、运行Linux kernel并检测硬件

    4、挂载根文件系统

    5、运行Linux系统的第一个进程init(其PID永远为1,是所有其他进程的父进程)

    6、init读取系统引导配置文件 /etc/inittab中的信息进行初始化

    7、执行系统初始化脚本-/etc/rc.d/rc.sysinit,执行系统初始化(包括很多内容)

    8、根据指定的运行级别来运行服务器脚本程序,再执行脚本 /etc/rc.d/rc.local

    9、运行一些其他的特别服务,一般为/sbin/mingetty和/etc/X11/prefdm

    10、Linux控制台(console)提示用户输入用户名、密码进行登录。

    总结:BIOS初始化→检查外围设备→检查启动设备→读取MBR
    在这里插入图片描述

    二、在Linux中常用的启动引导工具:grub和lilo

    在LInux和Windows两系统并存时就需要安装GRUB,GRUB被广泛的用于替代lilo,GRUB支持在启动时使用命令行模式,支持md5加密保护,还可以从ext2/ext3,ReiseFS、JFS、FAT、Minix以及FFS文件系统上启动其配置文件为/boot/grub/grun.conf,更改grub.conf即可立时生效如果硬盘上的MBR被更动过,可以用/sbin/grub-install/dev/hda来重装grub现在打开/boot/grub/grub.conf查看一下:
    命令: vim /boot/grub/grub.conf

    内容如下:

    # grub.conf generated by anaconda
    #
    # Note that you do not have to rerun grub after making changes to this file
    # NOTICE: You have a /boot partition. This means that
    # all kernel and initrd paths are relative to /boot/, eg.
    # root (hd0,0)
    # kernel /vmlinuz-version ro root=/dev/sda2
    # initrd /initrd-version.img
    #boot=/dev/sda
    default=0
    #default=0 表示默认启动第一个系统,如果系统有两个系统是用什么做为分隔符的呢?title 就是系统的分
    隔符,第一个 title 后面就是第一个系统,用 0 表示。
    timeout=5
    #timout=5,就是默认在启动选择界面停留的时间,单位是秒。等待 5 秒自动进入默认操作系统
    splashimage=(hd0,0)/grub/splash.xpm.gz
    #splashimage 是 grub 启动背景画面,如果是自己写 grub.conf 文件,这个可以不用写。
    hiddenmenu
    title Red Hat Enterprise Linux Server (2.6.18-53.el5)
    #title 后面就是系统在启动时候显示的名字
    root (hd0,0)
    #root 启动文件所在位置
    kernel /vmlinuz-2.6.18-53.el5 ro root=LABEL=/ rhgb quiet
    #kernel 内核所在位置和名字
    initrd /initrd-2.6.18-53.el5.img
    #initrd 内核镜象的名字
    grub.conf 的范例:
    timeout=10 #等待 10 秒自动进入默认操作系统
    splashimage=(hd0,0)/grub/splash.xpm.gz #grub 启动背景画面
    default=0 #默认进入第一个标题
    title Red Hat Linux (2.4.20-18) #Red Hat Linux 标题
    root (hd0,0) #根文件系统位置
    kernel /vmlinuz-2.4.20-18 ro root=LABEL=/ #核心位置与核心加载参数
    initrd /initrd-2.4.20-18.img #启动 initrd ram 盘
    title windows #另一个操作系统的标题
    rootnoverify (hd0,1) #操作系统存放在 hd0,1 上,不要在 grub 里 mount
    chainloader +1 #从 hd0,1 的第一个扇面启动
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
  • 相关阅读:
    华为OD机试 - 计算最大乘积(2022Q4 100分)
    Xilinx ISE系列教程(5):查看模块级资源占用率和综合报告
    excel文件双击 该文件没有与之关联的应用来执行操作
    详谈ENS域名所有权,基于需求的经常性费用应该存在吗?
    冒烟测试和健全性测试差异点,如何区分冒烟测试和健全性测试
    给博客园的寄语
    解决ios向mac复制文字不成功的一种方法
    基于全志H3的QT5.12.9移植教程
    [vue3.x]实战问题--vue2.x升级vue3.x遇到的问题
    Discuz论坛网站首页窄屏自定义宽度修改教程
  • 原文地址:https://blog.csdn.net/qq_15131581/article/details/126936055