day23——系统的启动过程、运行级别、单用户模式、救援模式

一、系统的启动过程

Centos6:过程可以分为5个阶段(串行加载):

  • 1.内核的引导。

当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘或光盘)来启动。

操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。

图1.1.1
  • 2.运行 init。

  • 运行 init

init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的父进程(相当于7系统中的systemd),没有这个进程,系统中任何进程都不会启动。

init 程序首先是需要读取配置文件 /etc/inittab。

图1.2.1
运行级别

许多程序需要开机启动。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。

init进程的一大任务,就是去运行这些开机启动的程序。

但是,不同的场合需要启动不同的程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。

Linux允许为不同的场合,分配不同的开机启动程序,这就叫做"运行级别"(runlevel)。也就是说,启动时根据"运行级别",确定要运行哪些程序。

图1.2.2
  • 3.系统初始化。

启动相应的程序,如:设置主机名、配置网络、装载服务等......因此,初始化就要启动或执行/etc/rc.d/rc5.d/目录下的所有的rc启动脚本,/etc/rc.d/rc5.d/目录中的这些启动脚本实际上都是一些连接文件,而不是真正的rc启动脚本,真正的rc启动脚本实际上都是放在/etc/rc.d/init.d/目录下。

图1.3.1
  • 4.建立终端 。

这时基本系统环境已经设置好了,各种守护进程也已经启动了。

init接下来会打开6个终端,以便用户登录系统。在inittab中的以下6行就是定义了6个终端:

1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

但对我们来说都用的远程终端,因此,这六个可以忽略。

图1.4.1
  • 5.用户登录系统。

接下来加载用户的登陆程序,然后到了我们登陆系统的时候了,之后加载shell界面。

图1.5.1

6.Centos7的启动流程(并行加载):

图1.6.1

二、运行级别

1.Centos6有7个运行级别(runlevel):

  • 运行级别0:系统停机或关机状态(系统默认运行级别不能设为0,否则不能正常启动)
  • 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
  • 运行级别2:多用户状态(没有NFS),不使用。
  • 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
  • 运行级别4:系统未使用,保留
  • 运行级别5:图形化界面
  • 运行级别6:系统正常关闭并重启(默认运行级别不能设为6,否则不能正常启动)
[root@oldzts16:19:02 ~]# runlevel 
N 3
  #N表示上一次运行的级别
  #3表示现在的运行级别
  
切换运行级别:
[root@oldzts16:19:19 ~]# init 5
[root@oldzts16:20:06 ~]# runlevel 
3 5

永久操作   修改/etc/inittab

2.Centos7运行级别(名称变成target):

Cento7里0-6运行级别的名称:

system V init运行级别 systemd目标名称 作用
运行级别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 重启

os7系统下运行级别的查看和切换:

为了os6的用户方便使用,os6系统的查看级别和切换级别的方式os7里面也可以使用

查看当前的运行级别:
[root@oldboyedu ~]# systemctl get-default 
multi-user.target

修改系统下次启动时的运行级别的运行级别:
[root@oldboyedu ~]# systemctl set-default graphical.target 
[root@oldboyedu ~]# systemctl get-default 
graphical.target

systemd

#启动服务   systemctl start
[root@oldboyedu ~]# systemctl start nginx.service 

#停止服务   systemctl stop
[root@oldboyedu ~]# systemctl stop nginx.service

#重启服务   systemctl restart
[root@oldboyedu ~]# systemctl restart nginx.service 

#重载服务   systemctl reload
[root@oldboyedu ~]# systemctl reload nginx.service 

#查看服务   systemctl status
[root@oldboyedu ~]# systemctl status nginx.service

#开机启动服务 systemctl enable
[root@oldboyedu ~]# systemctl enable nginx.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

#取消开机启动服务    systemctl disable
[root@oldboyedu ~]# systemctl disable nginx.service 
Removed symlink /etc/systemd/system/multi-user.target.wants/nginx.service.

#查看下次启动是开启还是关闭  systemctl is-enabled
[root@oldboyedu ~]# systemctl is-enabled nginx.service 
disabled

3.单用户模式

1.确保系统正常,能正常通过引导进入系统

  • 配置文件错误导致无法启动
  • 忘记ROOT密码(我们可以通过快照或者单用户系统恢复)
1、重新启动或开启CentOS7.6系统,在选择进入系统的Grub菜单界面如下图3.1
根据提示按“e”小写字母进入编辑界面,如下图所示:
图3.1
2.然后,要按方向键向下键(否则可能看不到想要找的行),找到以字符串“Linux16”开头的行,将光标移动到该行的结尾,然后输入“enforcing=0 init=/bin/bash”,如下图3.2所示:

注:如果不确定系统是否开启了Selinux或者刚装完没有修改过的系统,则最好加上enforcing=0,此命令是为了关闭Selinux。

图3.2

3.图中的“mount-o rw,remount/”命令是重新挂载根目录为可写状态(rw表示可写,remount是重新挂载),在单用户模式下默认根文件系统是处于只读状态。

图3.3
4.配置完成后,根据界面下面的英文提示按“Ctrl-x”组合键以单用户模式启动Linux如下图3.3所示:
图4.1
5.成功后进入正常登录系统时输入密码的界面,此时再输入刚才修改的密码就可以成功登录了
图3.5
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,904评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,581评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,527评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,463评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,546评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,572评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,582评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,330评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,776评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,087评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,257评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,923评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,571评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,192评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,436评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,145评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,738评论 0 10
  • 系统启动流程6 开机BIOS自检 读取MBR引导(读硬盘的引导程序) 硬盘上的空间,位于0柱面0磁道1扇区(数据在...
    闫梦超阅读 204评论 0 0
  • init的进程号是1,从这一点就能看出,init进程是系统所有进程的起点,Linux在完成核内引导以后,就开始运行...
    BensonLiang阅读 1,211评论 0 0
  • Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任...
    Joyner2018阅读 189评论 0 0
  • cenos6启动流程 加载BIOS的硬件信息,获取第一个启动设备 读取第一个启动设备MBR的引导加载程序(grub...
    毛利卷卷发阅读 1,053评论 0 1