Linux 开机运维流程

  • BIOS(Basic Input Output System)是 PC
    机运转时加载的第二个软件。其实,它是一组固化到电脑主板上3个芯片上的次第,它保存着电脑最重点的输入输出程序、开机后自检程序和体系自运营程序,它能够从
    CMOS 中读写系统装置的切切实实音讯

Linux 开机运行流程

  • BIOS(Basic Input Output System)是 PC
    机运行时加载的首先个软件。其实,它是1组固化到总括机主板上一个芯片上的程序,它保存着电脑最要紧的输入输出程序、开机后自检程序和系统自运行程序,它能够从
    CMOS 中读写系统设置的切实音讯

一、系统运维流程

诚如的话,Linux 系统的开发银行流程是那样的:

  1. 开机之后,位于总结机主板 ROM 芯片上的 BIOS
    被第贰读取,在开始展览硬件和内部存储器的校验以及 CPU 的自检未有丰硕后, BIOS
    将被加载到内部存款和储蓄器中。

  2. BIOS 依照其设置的装备运营顺序,依次尝试加载含有 MBPAJERO音信的可开行设备(一般是硬盘,可设置),然后将控制权交给 MBLX570 中的
    Bootloader(辅导程序)。

  3. Linux 中应用 GRUB(多操作系统教导程序)作为 Bootloader。GRUB
    可以辨认(根)文件系统并加载 Kernel(内核),同时将系统的控制权交给
    Kernel。

  4. Kernel 极其简单,加载进度中也也许会加载一些至关重要的模块打包文件。

  5. 开机指导流程,单用户修改。会同 Kernel 壹起加载的还有 init(/sbin/init)进度,是 Linux
    运转的首先个进程,它承受加载文件系统并依照运维级别运转(重启)和关闭相应服务,最后开始化字符终端和/或运维图形终端,等待用户登录。

由来,系统运行完结。

 

1、系统运营流程

诚如的话,Linux 系统的启航流程是这般的:

  1. 开机之后,位于总计机主板 ROM 芯片上的 BIOS
    被第贰读取,在进展硬件和内存的校验以及 CPU 的自检未有非常后, BIOS
    将被加载到内部存款和储蓄器中。

  2. BIOS 按照其安装的配备运行顺序,依次尝试加载含有 MB奇骏新闻的可运营设备(一般是硬盘,可安装),然后将控制权交给 MB君越 中的
    Bootloader(指点程序)。

  3. Linux 中应用 GRUB(多操作系统指导程序)作为 Bootloader。GRUB
    能够识别(根)文件系统并加载 Kernel(内核),同时将系统的控制权交给
    Kernel。

  4. Kernel 极其简洁,加载进度中也可能会加载一些必需的模块打包文件。

  5. 会同 Kernel 1起加载的还有 init(/sbin/init)进度,是 Linux
    运营的首先个经过,它承担加载文件系统并依照运营级别运营(重启)和倒闭相应服务,最终早先化字符终端和/或运转图形终端,等待用户登录。

现今,系统运行实现。

 

硬件运转

  • 1)Power On –》BIOS 举办硬件检查(CPU、内部存款和储蓄器、主板、硬盘等)
  • 二)BIOS
    遵照总括机设置的运营顺序(是从光驱照旧从硬盘运行等),查找运维介质
  • 三)若是是从硬盘运维,BIOS 读取硬盘的
    MB索罗德(硬盘的0柱面、0磁头、壹扇区称为主指点扇区)

MBR 大小512字节,分为三个部分
   主引导程序:446字节    这个主引导程序可能是 grub,也可能是 lilo(过老,基本不使用)
   硬盘分区表 DPT:64字节,每个分区要占用16个字节
   分区结束标记也叫硬盘有效标志:2字节,固定为 55AA

硬件运营

  • 一)Power On –》BIOS 举行硬件检查(CPU、内部存款和储蓄器、主板、硬盘等)
  • 2)BIOS
    依照计算机设置的启航顺序(是从光驱还是从硬盘运行等),查找运维介质
  • 三)如若是从硬盘运转,BIOS 读取硬盘的
    MB本田CR-V(硬盘的0柱面、0磁头、一扇区称为主教导扇区)

    MBR 大小512字节,分为三个部分
       主引导程序:446字节    这个主引导程序可能是 grub,也可能是 lilo(过老,基本不使用)
       硬盘分区表 DPT:64字节,每个分区要占用16个字节
       分区结束标记也叫硬盘有效标志:2字节,固定为 55AA
    

贰、流程详解

2、流程详解

GRUB 引导

  • 四)读取 stage一,然后读取 stage一_5 加载
    /boot相应的文件驱动,就能够读取 /boot/grub/stage2
  • GRUB 指点程序由叁块组成

stage1:MBR 区前 446 字节
stage1_5:加载驱动    /boot 分区所对应的系统驱动被写到 2~63 扇区,MBR 当中会有地址指向这些扇区
stage2:在文件系统里面    /boot/grub/stage2

GRUB 引导

  • 四)读取 stage一,然后读取 stage一_5 加载
    /boot相应的公文驱动,就足以读取 /boot/grub/stage2
  • GRUB 辅导程序由三块组成

    stage1:MBR 区前 446 字节
    stage1_5:加载驱动    /boot 分区所对应的系统驱动被写到 2~63 扇区,MBR 当中会有地址指向这些扇区
    stage2:在文件系统里面    /boot/grub/stage2
    

1. BIOS(Basic Input Or Output,基本输入输出系统)

BIOS 是总结机运行后首先被读取的连串,在硬件和内部存款和储蓄器的校验以及 CPU
的自检通过、没有丰富后,BIOS 将被加载到内部存款和储蓄器里。BIOS
主要囤积了设备(一般是硬盘,可在 BIOS 界面设置)的起步顺序,BIOS
依次尝试加载含有 MBLAND 音讯的可开发银行设备,找到后将控制权交给 MB瑞鹰 中的
Bootloader。

 

一. BIOS(Basic Input Or Output,基本输入输出系统)

BIOS 是电脑运营后首先被读取的种类,在硬件和内部存款和储蓄器的校验以及 CPU
的自检通过、未有极度后,BIOS 将被加载到内部存储器里。BIOS
主要囤积了装备(1般是硬盘,可在 BIOS 界面设置)的启航顺序,BIOS
依次尝试加载含有 MB猎豹CS陆 新闻的可开发银行设备,找到后将控制权交给 MB福特Explorer 中的
Bootloader。

 

根本指点

  • 5)stage2 通过 /boot/grub/grub.conf配置文件来加载 Linux 内核和
    Linux 印象
  • 水源和印象在 /boot

[root@tina grub]# cat 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/sda3
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0    // 使用第一个 title
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz   
hiddenmenu    // 隐藏菜单,按任意键显示菜单
title Red Hat Enterprise Linux (2.6.32-431.el6.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=UUID=e35bcb79-1fce-49cf-913f-b902006ae751 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
    initrd /initramfs-2.6.32-431.el6.x86_64.img

基本指点

  • 5)stage2 通过 /boot/grub/grub.conf陈设文件来加载 Linux 内核和
    Linux 印象
  • 基本和影象在 /boot

    [root@tina grub]# cat 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/sda3
    #          initrd /initrd-[generic-]version.img
    #boot=/dev/sda
    default=0    // 使用第一个 title
    timeout=5
    splashimage=(hd0,0)/grub/splash.xpm.gz   
    hiddenmenu    // 隐藏菜单,按任意键显示菜单
    title Red Hat Enterprise Linux (2.6.32-431.el6.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=UUID=e35bcb79-1fce-49cf-913f-b902006ae751 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
    initrd /initramfs-2.6.32-431.el6.x86_64.img
    

2. MBLAND(Master Boot Record,主辅导记录)

MBWrangler 在磁盘上的第3个扇区(一 扇区占 51贰 字节),它的前 4四陆 字节是
Bootloader(引导程序),后 肆 个 1六 字节是最多 四 个主分区新闻,最后 二字节 5伍 AA 是开发银行标识。

Linux 中使用 GRUB 作为 Bootloader。

 

二. MB途锐(Master Boot Record,主引导记录)

MBTiggo 在磁盘上的首先个扇区(一 扇区占 51二 字节),它的前 4肆6 字节是
Bootloader(指引程序),后 四 个 1陆 字节是最多 四 个主分区音信,最终 贰字节 5伍 AA 是运转标识。

Linux 中使用 GRUB 作为 Bootloader。

 

init 引导

  • 陆)系统开端化阶段
  • 系统的首先个进度:init 进度,该进程是系统有着进程的父进程
  • init 进度读取配置文件 /etc/inittab,该公文最重大的效用就是设定
    Linux 的运行级别
  • init 进度执行 /etc/rc.d/rc.sysinit剧本对系统进行初步化
  • /etc/rc.d/rcX.d:X
    表示运营级别,依照不相同的启航级别实施不一样目录内的以 S 开端的剧本
  • /etc/rc.d/rc.local 是在全路伊始化学工业作做到后,Linux
    留给用户自定义的地点


  • /etc/rc.d/rc3.d目录为例,该目录下存放一多重的链接文件,链接到/etc/rc.d/init.d/目录下的脚本文件,开机时举办以
    S 初始的本子,关机时执行以 K 起头的剧本

  • 在字母S或K 前边会随着两位数字,数值小的在数值大的眼下执行

[root@localhost rc3.d]# ll
total 0
lrwxrwxrwx. 1 root root 16 Jul  4  2016 K01smartd -> ../init.d/smartd
lrwxrwxrwx. 1 root root 17 Jul  4  2016 K02oddjobd -> ../init.d/oddjobd
lrwxrwxrwx. 1 root root 17 Jul  4  2016 K05wdaemon -> ../init.d/wdaemon
......
lrwxrwxrwx. 1 root root 17 Jul  4  2016 S01sysstat -> ../init.d/sysstat
lrwxrwxrwx. 1 root root 22 Jul  4  2016 S02lvm2-monitor -> ../init.d/lvm2-monitor
lrwxrwxrwx. 1 root root 19 Jul  4  2016 S08ip6tables -> ../init.d/ip6tables
  • 澳门金沙国际 ,7)执行 /sbin/mingetty本子开启 TTY
  • 八)字符界面登录:
  • 用户登录时索要用户名和密码,供给拜访/etc/passwd
    /etc/shadow文件
  • 要是用户名和密码错误,则拒绝登录
  • 假若用户名和密码正确能够登录成功,会实施 肆 个剧本

/etc/profile
~/.bash_profile
~/.bashrc
/etc/bashrc
  • 玖)图形界面登录:执行
    /etc/X11/prefdm本子运转图形界面,其余的和字符界面登录一样

gdm:进入 Gnome 桌面
kdm:进入 KDE 桌面
xdm:启动 X Window

init 引导

  • 6)系统初步化阶段
  • 系统的第三个进程:init 进度,该进度是系统具有进度的父进度
  • init 进度读取配置文件 /etc/inittab,该公文最根本的功能正是设定
    Linux 的周转级别
  • init 进度执行 /etc/rc.d/rc.sysinit剧本对系统进行初叶化
  • /etc/rc.d/rcX.d:X
    表示运维级别,依据差异的运维级别实施不相同目录内的以 S 开头的本子
  • /etc/rc.d/rc.local 是在全部开头化学工业作成功后,Linux
    留给用户自定义的地方


  • /etc/rc.d/rc3.d目录为例,该目录下存放一多重的链接文件,链接到/etc/rc.d/init.d/目录下的剧本文件,开机时实施以
    S 起头的台本,关机时执行以 K 早先的脚本

  • 在字母S或K 后边会随着两位数字,数值小的在数值大的前方执行

    [root@localhost rc3.d]# ll
    total 0
    lrwxrwxrwx. 1 root root 16 Jul  4  2016 K01smartd -> ../init.d/smartd
    lrwxrwxrwx. 1 root root 17 Jul  4  2016 K02oddjobd -> ../init.d/oddjobd
    lrwxrwxrwx. 1 root root 17 Jul  4  2016 K05wdaemon -> ../init.d/wdaemon
    ......
    lrwxrwxrwx. 1 root root 17 Jul  4  2016 S01sysstat -> ../init.d/sysstat
    lrwxrwxrwx. 1 root root 22 Jul  4  2016 S02lvm2-monitor -> ../init.d/lvm2-monitor
    lrwxrwxrwx. 1 root root 19 Jul  4  2016 S08ip6tables -> ../init.d/ip6tables
    
  • 7)执行 /sbin/mingetty本子开启 TTY

  • 八)字符界面登录:
  • 用户登录时索要用户名和密码,要求拜访/etc/passwd
    /etc/shadow文件
  • 假如用户名和密码错误,则拒绝登录
  • 假使用户名和密码正确能够登录成功,会履行 四 个剧本

    /etc/profile
    ~/.bash_profile
    ~/.bashrc
    /etc/bashrc
    
  • 玖)图形界面登录:执行
    /etc/X11/prefdm本子运行图形界面,别的的和字符界面登录一样

    gdm:进入 Gnome 桌面
    kdm:进入 KDE 桌面
    xdm:启动 X Window
    

三. GRUB(GRand Unified Bootloader,多操作系统指引程序)

GRUB 是将来 Linux
使用的主流指引程序,能够用来引导未来大约拥有的操作系统。

GRUB 是模块化的,运维时会经历如下阶段:

澳门金沙国际 1

(1)stage一:stage 1 大小 51二 字节(和 MBPRADO 一样大),是 MBR 的备份,MB奔驰G级损坏时能够从那里收获一个备份。

(2)*_stage1_5:用于识别几体系型文件系统的文件。CentOS 6现在的本子默许文件系统是 ext四,会相应地辨识 e2fs_stage1_伍文件。识别后,加载文件系统。

(叁)stage二:依据 GRUB 配置文件 /boot/grub/grub.conf
的剧情来控制怎么样加载 Kernel。该文件内容相似如下:

澳门金沙国际 2

参数详解:

default:默认启动的内核编号,从0开始(每个内核信息由title标识)
timeout:等待用户选择要启动的内核的超时时间,单位为秒
splashimage:使用的背景图片
hiddenmenu:隐藏菜单
title:操作系统或内核的标题
    root:内核所在的分区,(hd0,1)表示第1块磁盘的第1个分区
    (在grub中,设备统统以hd开头,并紧跟一个数字作为各磁盘设备的标记,从0开始编号;分区也是从0开始编号,而我的(hd0,1)是因为我的第0个分区是swap交换分区)
    kernel:要加载的内核文件,后面附带启动参数
    initrd:额外驱动或模块的打包文件,ram disk 或 ram fs 文件(通常是归档压缩文件,以.img为文件名后缀)

 

三. GRUB(GRand Unified Bootloader,多操作系统带领程序)

GRUB 是明天 Linux
使用的主流指点程序,能够用来指点现在差不多全体的操作系统。

GRUB 是模块化的,运行时会经历如下阶段:

澳门金沙国际 3

(一)stage一:stage 1 大小 512 字节(和 MB瑞鹰 一样大),是 MBLX570 的备份,MBCRUISER损坏时能够从那里获得一个备份。

(2)*_stage1_五:用于识别多样类型文件系统的文件。CentOS 六未来的本子暗中认可文件系统是 ext4,会相应地辨认 e二fs_stage1_伍文件。识别后,加载文件系统。

(3)stage二:根据 GRUB 配置文件 /boot/grub/grub.conf
的内容来支配怎么样加载 Kernel。该公文内容1般如下:

澳门金沙国际 4

参数详解:

default:默认启动的内核编号,从0开始(每个内核信息由title标识)
timeout:等待用户选择要启动的内核的超时时间,单位为秒
splashimage:使用的背景图片
hiddenmenu:隐藏菜单
title:操作系统或内核的标题
    root:内核所在的分区,(hd0,1)表示第1块磁盘的第1个分区
    (在grub中,设备统统以hd开头,并紧跟一个数字作为各磁盘设备的标记,从0开始编号;分区也是从0开始编号,而我的(hd0,1)是因为我的第0个分区是swap交换分区)
    kernel:要加载的内核文件,后面附带启动参数
    initrd:额外驱动或模块的打包文件,ram disk 或 ram fs 文件(通常是归档压缩文件,以.img为文件名后缀)

 

4. Kernel(内核)

GRUB 的末梢阶段 stage二 会遵照 GRUB 配置文件 /boot/grub/grub.conf
的情节来加载 Kernel,并将系统控制权交给 Kernel。

指令 dmesg 能够用来查阅这次运营时内核的出口信息。

 

4. Kernel(内核)

GRUB 的末梢阶段 stage2 会依照 GRUB 配置文件 /boot/grub/grub.conf
的始末来加载 Kernel,并将系统控制权交给 Kernel。

命令 dmesg 能够用来查阅这一次运维时内核的出口音讯。

 

5. init(Linux 运转的首先个经过)

init 进度是 Linux 运行的首先个进度,PID 为 一,别的具有进程是它的子进度。

Linux 的 init 进度是由守旧的 sysvinit 演化而来的,init
进程读取的安排文件 /etc/inittab 仅保留了 sysvinit 的 inittab
文件定义的暗许运转级别 runlevel,其余的布局则分散到了 /etc/init/*.conf
七个文本中。

init 进度会遵照 /etc/inittab 文件定义的 runlevel
去执行相应目录下的脚本。

澳门金沙国际 5

澳门金沙国际 6

 

伍. init(Linux 运行的率先个过程)

init 进程是 Linux 运维的率先个经过,PID 为 一,别的全部进度是它的子进程。

Linux 的 init 进程是由古板的 sysvinit 演变而来的,init
进度读取的布局文件 /etc/inittab 仅保留了 sysvinit 的 inittab
文件定义的暗中认可运转级别 runlevel,别的的安插则分散到了 /etc/init/*.conf
四个公文中。

init 进度会依据 /etc/inittab 文件定义的 runlevel
去履行相应目录下的台本。

澳门金沙国际 7

澳门金沙国际 8

 

陆. runlevel(运营级别)

指令 runlevel 可体现上多少个及当前
runlevel。命令 init 可用来改变近期的
runlevel。

Linux 的 runlevel 有 7 个:

0:系统停机,默认运行级别不能设为0,否则不能正常启动
1:单用户模式,root权限,用于系统维护,禁止远程登陆
2:多用户模式(无网络)
3:多用户状态(命令行界面)
4:保留未使用
5:多用户模式(X11图形化界面)
6:系统重启,默认运行级别不能设为6,否则不能正常启动

那 7 个 runlevel 分别对应了 /etc/rc.d/rc[0-6].d/ 四个目录:

澳门金沙国际 9

各样目录存款和储蓄了富有以 K* 和 S* 初叶的文件,K 起先的文件表示从别的runlevel 切换过来供给敞开(重启)的劳务,S 伊始的文本表示从任何 runlevel
切换过来必要关闭的服务。

 

陆. runlevel(运营级别)

一声令下 runlevel 可兆示上1个及当前
runlevel。命令 init 可用来改变近年来的
runlevel。

Linux 的 runlevel 有 7 个:

0:系统停机,默认运行级别不能设为0,否则不能正常启动
1:单用户模式,root权限,用于系统维护,禁止远程登陆
2:多用户模式(无网络)
3:多用户状态(命令行界面)
4:保留未使用
5:多用户模式(X11图形化界面)
6:系统重启,默认运行级别不能设为6,否则不能正常启动

那 7 个 runlevel 分别对应了 /etc/rc.d/rc[0-6].d/ 多个目录:

澳门金沙国际 10

各样目录存款和储蓄了具备以 K* 和 S* 开头的公文,K 开首的文件表示从其他runlevel 切换过来供给打开(重启)的劳动,S 开头的文本表示从其它 runlevel
切换过来必要关闭的劳务。

 

三、单用户修改root密码

在开机运转时,为根本传递参数 “一” 或 “single”
,可让系统进入单用户格局(runlevel
一)。单用户方式下不运营任何劳动,直接以 root
用户登录,并且不需求密码,能够行使 passwd 修改 root 密码。

 

操作步骤如下:

开机后,在 GRUB
教导等待用户选择要加载内核的超时时间内,随意按下三个键,进入基础的精选界面。

澳门金沙国际 11

上海体育场地中,选中指标版本内核,按下 “e” 键进入编辑。

澳门金沙国际 12

上海教室中,选中 kernel,按下 “e” 键进入编辑。

澳门金沙国际 13

上海教室中,在行末尾为内核传递参数 “一” 或 “single” ,回车明确,按 “b” 运维。

澳门金沙国际 14

上海体育地方中,成功进去单用户格局,并且是 root 用户登录。使用 passwd 修改 root 密码,然后 exit 退出,符合规律重启即可。

澳门金沙国际 15

 

3、单用户修改root密码

在开机运维时,为内核传递参数 “一” 或 “single”
,可让系统进入单用户形式(runlevel
一)。单用户方式下不运维任何劳动,直接以 root
用户登录,并且不必要密码,能够选取 passwd 修改 root 密码。

 

操作步骤如下:

开机后,在 GRUB
教导等待用户选取要加载内核的逾期时间内,随意按下八个键,进入基础的选料界面。

澳门金沙国际 16

上海体育地方中,选中指标版本内核,按下 “e” 键进入编辑。

澳门金沙国际 17

上海体育地方中,选中 kernel,按下 “e” 键进入编辑。

澳门金沙国际 18

上图中,在行末尾为内核传递参数 “1” 或 “single” ,回车鲜明,按 “b” 运转。

澳门金沙国际 19

上海教室中,成功跻身单用户形式,并且是 root 用户登录。使用 passwd 修改 root 密码,然后 exit 退出,平时重启即可。

澳门金沙国际 20

 

四、GRUB加密

协会者能够透过单用户格局修改 root
密码,不过那也招致任哪个人都或许通过那种措施侵袭系统。为了防备那种高危,能够开展GRUB 加密。

  1. 在 root 用户下输入 grub-md五-crypt 命令,然后输入为 GRUB
    设置的密码,产生1组 MD5 加密后的密文。

澳门金沙国际 21

  1. 将赢得的密文添加到 GRUB 配置文件 /boot/grub/grub.conf 中。

澳门金沙国际 22

那样在用户在开机后要编写制定内核时就会强制要求输入 GRUB 密码,剔除了地下修改
root 密码的大概。

扶助,也足以在 title 段添加三个passward,它是用于基础(系统)运营时要求输入的密码。

 

参考链接:

Linux系统运维流程

图解Linux系统运维流程

Linux系统运转进程

linux中inittab文件详解

Linux系统有八个运转级别(runlevel)

CentOS 6.4
Grub加密码

四、GRUB加密

管理员能够通过单用户方式修改 root
密码,可是那也导致任何人都恐怕由此那种办法侵袭系统。为了防止这种高危,可以拓展
GRUB 加密。

  1. 在 root 用户下输入 grub-md五-crypt 命令,然后输入为 GRUB
    设置的密码,产生1组 MD五 加密后的密文。

澳门金沙国际 23

  1. 将取得的密文添加到 GRUB 配置文件 /boot/grub/grub.conf 中。

澳门金沙国际 24

诸如此类在用户在开机后要编写内核时就会强制须要输入 GRUB 密码,剔除了非法修改
root 密码的可能。

说不上,也能够在 title 段添加一个passward,它是用来基础(系统)运营时需求输入的密码。

 

参照链接:

Linux系统运营流程

图解Linux系统运营流程

Linux系统运维进度

linux中inittab文件详解

Linux系统有7个运维级别(runlevel)

CentOS 6.4
Grub加密码

相关文章