当前位置:首页>编程日记>正文

Centos运行级别和开机过程

一、Linux运行级别

1)0:关机

2)1:单用户

3)2:多用户状态没有网络服务

4)3:多用户状态有网络服务

5)4:系统未使用保留给用户

6)5:图形界面

7)6:系统重启

注:常用运行级别是3和5,要修改运行级别可改文件/etc/inittab的id:5:initdefault中的数字。

二、忘记root密码解决方法

当机器启动,进入grub引导程序时,按e,然后选中有label=的那一行(一般是第二行),然后再点击一个e,输入一个1、s或single都可以,(即将运行级别改为1)然后回车,即可进入单机模式,可直接修改root密码,完成后重启系统,就可以修改原来的配置文件。

三、Linux开机过程详解

    1)加载BIOS,当你打开计算机电源,计算机会首先加载BIOS信息,BIOS中包含了CPU等硬件相关信息,设备启动顺序是硬盘信息,内存信息,PnP特性等等。这样计算机就知道去读取哪个硬件设备了。

    2)读取MBR,众所周知,磁盘第0磁道第一个扇区被称为MBRMaster Boot Record),即主引导记录,它的大小是512字节,存有预启动信息,分区表信息。系统找到BIOS所指定的硬盘MBR后,就会将其复制到0X7c00地址所在的物理内存中。内存的内容就是Boot Loader,而具体到你的电脑,那就是lilo或者grub了。

    3)Boot Loader:就是在操作系统内核运行之前的一段小程序。通常这段小程序,我们可以初始化硬件设备,建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核做好一切准备。Boot Loader有若干种,其中最常用有GrubLilospfdisk。比如grub,系统同会读取内存中的grub配置信息(一般是menu.lst,或grub.lst),并按照此配置信息来启动不同的操作系统。

    4) 加载内核:根据grub设定的内核映像所在路径,系统读取内存映像,并进行解压缩操作。此时,屏幕一般会输出“Uncompressing Linux”的提示。当解压缩内核完成后,屏幕输出“OKbooting the kernel”。系统将解压后的内核放置在内存中,并调用star_kernel()函数来启动一系列的初始化函数,并初始化各种设备,完成linux核心环境的建立。至此,linux内核已经建立起来了,基于linux的程序应该可以正常运行了。

    5) 用户层init依据inittab文件来设定运行级别:内核被加载后,第一个运行的程序便是/sbin/init,该文件会读取/etc/inittab文件,并依据此文件进行初始化工作。其实/init/inittab文件最主要的作用就是设定Linux运行等级,其设定形式是“:id:5:initdefault:”,这就表明Linux需要运行在等级5上。运行等级见1

    6) init进程执行rc.sysinit:在设定了运行等级后,linux系统执行的第一个用户层文件就是/etc/rc.d/rc.sysinit脚本程序它做的工作非常多,包括设定Path,设定网络配置(/etc/sysconfig/network)、启动swap分区,设定/proc等等。

    7)启动内核模块:具体是依据/etc/modules.conf文件或/etc/modules.d目录下的文件来装载内核模块。

    8) 执行不同运行级别的脚本程序:根据运行界别的不同,系统运行rc0.drc6.d中的相应的脚本程序,来完成相应的初始化工作和启动相应的服务。

    9) 执行/etc/rc.d/rc.localrc.local就是在一切初始化工作后,linux留给用户进行个性化的地方。你可以把你想要设置和启动的东西放到这里。

    10)执行/bin/login程序,进入登录状态:此时,系统已经进入到等待用户输入usernamepassword的时候了,你已经可以用自己的账号登入系统了。



http://www.coolblog.cn/news/7443df616a07b0fc.html

相关文章:

  • asp多表查询并显示_SpringBoot系列(五):SpringBoot整合Mybatis实现多表关联查询
  • s7day2学习记录
  • 【求锤得锤的故事】Redis锁从面试连环炮聊到神仙打架。
  • 矿Spring入门Demo
  • 拼音怎么写_老师:不会写的字用圈代替,看到孩子试卷,网友:人才
  • Linux 实时流量监测(iptraf中文图解)
  • Win10 + Python + GPU版MXNet + VS2015 + RTools + R配置
  • 美颜
  • shell访问php文件夹,Shell获取某目录下所有文件夹的名称
  • 如何优雅的实现 Spring Boot 接口参数加密解密?
  • LeCun亲授的深度学习入门课:从飞行器的发明到卷积神经网络
  • Mac原生Terminal快速登录ssh
  • java受保护的数据与_Javascript类定义语法,私有成员、受保护成员、静态成员等介绍...
  • mysql commit 机制_1024MySQL事物提交机制
  • 支撑微博千亿调用的轻量级RPC框架:Motan
  • jquery 使用小技巧
  • 2019-9
  • 法拉利虚拟学院2010 服务器,法拉利虚拟学院2010
  • vscode pylint 错误_将实际未错误的py库添加到pylint白名单
  • 科学计算工具NumPy(3):ndarray的元素处理
  • 工程师在工作电脑存 64G 不雅文件,被公司开除后索赔 41 万,结果…
  • linux批量创建用户和密码
  • newinsets用法java_Java XYPlot.setInsets方法代碼示例
  • js常用阻止冒泡事件
  • 气泡图在开源监控工具中的应用效果
  • 各类型土地利用图例_划重点!国土空间总体规划——土地利用
  • php 启动服务器监听
  • dubbo简单示例
  • 【设计模式】 模式PK:策略模式VS状态模式
  • [iptables]Redhat 7.2下使用iptables实现NAT
  • Ubuntu13.10:[3]如何开启SSH SERVER服务
  • CSS小技巧——CSS滚动条美化
  • JS实现-页面数据无限加载
  • 阿里巴巴分布式服务框架 Dubbo
  • 最新DOS大全
  • Django View(视图系统)
  • 阿里大鱼.net core 发送短信
  • 程序员入错行怎么办?
  • 两张超级大表join优化
  • 第九天函数
  • Linux软件安装-----apache安装
  • HDU 5988 最小费用流
  • Sorenson Capital:值得投资的 5 种 AI 技术
  • 《看透springmvc源码分析与实践》读书笔记一
  • 正式开课!如何学习相机模型与标定?(单目+双目+鱼眼+深度相机)
  • Arm芯片的新革命在缓缓上演
  • nagios自写插件—check_file
  • python3 错误 Max retries exceeded with url 解决方法
  • 行为模式之Template Method模式
  • 通过Spark进行ALS离线和Stream实时推荐