Linux学习笔记006-启动流程

linux 启动流程

centos6

1.post 加电质检-->2.启动bios-->3.加载MBR-->4GRUB引导-->5.加载kernel-->6.设定启动级别-->7.加载rc.sysinit-->8.加载内核模块-->9.启动运行级别程序-->10.读取rc.local-->11.加载/bin/login

1.bios自检

2.读取bios记录的MBR扇区

3.加载MBR

4.加载GRUB引导

5.加载内核,初始化硬件

6.设定启动级别启动第一个守护进程init(init1-5)grub中默认指定init=/sbin/init程序,可以在grub.conf中kernel行自定义执行程序init=/bin/bash,此时可以绕过下面步骤直接进入bash界面。 内核源代码文件中显示996行左右,规定了init启动的顺序,/sbin/init->/etc/init->/bin/init->/bin/sh,/bin/bash没有写,应该是和/bin/sh一样吧

7.加载rc.sysinit(/etc/rc.d/rc.sysinit),设定PATH变量,设定网络配置,设定swap,设定/proc,配置selinux

8.加载内核模块(加载/etc/modules.conf和/etc/modules.d目录下的文件来加载系统内核模块,后期课修改)

9.启动运行级别目录内的程序(窜性的方式)。

10.读取开机自启动需要启动的命令或者服务。

11.加载用户登录界面

centos7

1.UEFI或bios自检,post质检

2.加载MBR

3.GRUP加载

4.加载内核和inintamfs模块

5.内核开始执行,使用systemd来代替以前centos6以前的init程序

(1)执行initrd.target

包括挂载/etc/fstab文件中的系统,此时挂载后,就可以切换到根目录了

(2)从initramfs根文件系统切换到磁盘根目录

(3)systemd执行默认target配置

 

centos7表面是有“运行级别”这个概念,实际上是为了兼容以前的系统,每个所谓的“运行级别”都有对应的软连接指向,默认的启动级别时/etc/systemd/system/default.target,根据它的指向可以找到系统要进入哪个模式 
模式:

 

    • 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

 

(4)systemd执行sysinit.target

有没有很眼熟?是的,在CentOS6上是被叫做rc.sysint程序,初始化系统及basic.target准备操作系统

(5)systemd启动multi-user.target下的本机与服务器服务

(6)systemd执行multi-user.target下的/etc/rc.d/rc.local

6.Systemd执行multi-user.target下的getty.target及登录服务

getty.target我们也眼熟,它是启动终端的systemd对象。如果到此步骤,系统没有被指定启动图形桌面,到此就可以结束了,如果要启动图形界面,需要在此基础上启动桌面程序

7.systemd执行graphical需要的服务

转载于:https://www.cnblogs.com/juanNote/p/9286585.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/368223.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

谈谈常用清除浮动的方法

我们在做页面布局的时候,经常需要利用浮动来实现一些布局效果,这样带来的后果就会导致父元素丢失宽度。今天我们就来说说‘找回‘宽度的方法。 而清除浮动后的效果应该是这样的请看: 下面就说说方法,方法其实有非常的多&#xf…

并行运行单元测试

大约是时候单元测试的开发人员能够使用批注在Parallel中运行测试。 在今天的博客文章中,我们将介绍如何使用Easytest提供的注释使传统的Junit测试并行运行。 易测 是在JUnit之上构建的测试框架,可让您轻松编写和维护测试。 它专注于为您的应用程序编写…

java 插件开发 互相依赖_java – Eclipse插件开发:有没有办法控制有关我的插件缺少依赖项的安装程序消息?...

我正在开发一个依赖于Eclipse平台4.2(Juno)的eclipse插件,并且不能安装在旧版本的eclipse上.当用户尝试在旧eclipse上安装我的插件(通过更新站点)时,Eclipse安装程序会阻止他并显示以下消息:Cannot complete the install because one or more required items could …

巧用CSS实现分隔线

下面是几种简单实现分隔线的方法,个人比较喜欢第二种,我也给出了最后第五种比较2的写法,请大家拍砖,或者提供其他好的方法。 单个标签实现分隔线: 点此查看实例展示 .demo_line_01{padding: 0 20px 0;margin: 20px 0;…

ArcGIS API For JS之网络分析(临近设施分析)

ArcGIS 提供两种网络分析,即基于Geometric Network的有向网络或者设施网络和基于Network Dataset的无向网络,在这里网络的分析指后者,ArcGIS api支持网络分析中的最短路径分析、服务区分析、临近设施分析。本文主要讲的是临近设施分析&#x…

UWP DEP0700: 应用程序注册失败。[0x80073CF9] 另一个用户已安装此应用的未打包版本。当前用户无法将该版本替换为打包版本。...

最近电脑抽风,我在【应用程序和功能】中重置了以下我的App自然灾害,居然,搞出大新闻了。 它居然从列表中消失了。。。 vs再次编译代码的时候,提示 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 DEP…

泽西岛的RESTful Web服务

我已经讨论了有关体系结构注意事项<< link >>的早期文章&#xff0c;以成为可在我的系统/机器上使用的分布式环境上的RESTful系统。 本文我们将讨论如何基于REST体系结构考虑来构建Web服务。 本教程说明了如何使用Tomcat 6&#xff0c;Eclipse和Jersey JAX-RS&…

java swing是什么意思英语_swing是什么意思_swing翻译_读音_用法_翻译

vipkid提供swing是什么意思、swing英语单词推荐、swing英语解释、swing相关词、swing英语短语英音 [swɪŋ] 美音 [swɪŋ]【中文释义】vt.& vi. (使)摇摆;(使)摇荡;n. 摇摆&#xff0c;摆动;摆程&#xff0c;振幅;秋千;音律;vt. 使旋转;使做曲线运动;挥舞;悬吊;vi. 悬摆;迅…

css水平垂直居中(绝对定位居中)

使用绝对定位有个限制就是父集必须设置一个固定的高度。 首先HTML 1 <div id"box"> 2 <div class"child"></div> 3 </div> CSS 1 #box {2 position: relative;3 height: 500px;4 background: red;5 }6 .chil…

Servlet3.0的文件上传功能

在Servlet3.0之前&#xff0c;文件上传需要借助于第三方插件&#xff0c;在Servlet3.0之后&#xff0c;Servlet本身开始支持文件上传功能。 获取上传的文件可以通过HTTPServletRequest的getPart和getParts两个方法实现&#xff0c;前者接受一个表单名为参数&#xff0c;返回对应…

洛谷 2719 搞笑世界杯

洛谷 2719 搞笑世界杯 洛谷原题链接 这道难度只有普及-的题目却花了我一个多小时才搞出来。但做出来之后就会发现&#xff1a;其实这题确实挺水。。。 解题思路&#xff1a; 首先开二维数组 dp [ i ] [ j ] . 代表已售 i 张 A , j 张 B 时后两人买到的票相同的概率。 很显然&am…

Java FutureTask示例程序

有时我写了一篇有关Java Callable Future接口的文章&#xff0c;我们可以使用它来获得线程的并发处理优势&#xff0c;以及它们能够将值返回给调用程序。 FutureTask是Future接口的基础具体实现&#xff0c;并提供异步处理。 它包含启动和取消任务的方法&#xff0c;以及可以返…

java 日期类代码_java 日期时间处理类

import java.util.Calendar;import java.sql.Date;import java.text.SimpleDateFormat;import java.text.ParseException;/*** Utility to date time* version 0.1* author Super Zhao*/public class DateTimeUtil{/*** 由java.util.Date到java.sql.Date的类型转换* param date…

搭建SSH框架–使用篇

创建如下包&#xff1a; action用于响应请求 service则是提供请求的操作 dao用于操作数据库 entity用于映射数据库表 打开DB Browser –> personalCD&#xff08;创建篇的数据库连接&#xff09;–> SCOTT –> TABLE –> t_USER –> 右键Hibernate Reverse……

Hadoop HA集群的搭建

HA 集群搭建的难度主要在于配置文件的编写&#xff0c; 心细&#xff0c;心细&#xff0c;心细&#xff01; ha模式下&#xff0c;secondary namenode节点不存在... 集群部署节点角色的规划&#xff08;7节点&#xff09;------------------server01   namenode   zkfcserv…

3个简单步骤即可测试Java 8

即将发布的Java 8版本为Java开发人员带来了许多新功能&#xff0c;但是升级时始终存在代码破裂的风险。 我们都记得Java 7发行时有一系列非常严重的错误 。 当然&#xff0c;我们所有人都可以帮助避免在Java 8中出现相同的问题。我今天要介绍的方法是使用现有的Continuous Int…

php接收get参数false是字符串,php解析url (parse_url) 参数成数组 (parse_str)

php解析url (parse_url) 参数成数组 (parse_str)(1)parse_url (PHP 4, PHP 5) — 解析 URL&#xff0c;返回其组成部分&#xff0c;函数原型如下&#xff1a;mixed parse_url ( string $url [, int $component -1 ] )本函数解析一个 URL 并返回一个关联数组&#xff0c;包含在…

父类div高度适应子类div

父类div高度适应子类div 通常有许多div的高度由子类的高度决定父类的高度&#xff0c;所以需要父类div要适应子类div的高度&#xff0c;一般情况父类的高度可以直接设置成“auto”即可。 在有的情况下&#xff0c;子类div会撑破父类div. 所以需要走一些调整。通常有3种方法对…

Android - RecyclerView

0.添加引用 compile com.android.support:recyclerview-v7:23.4.0 命名空间&#xff1a; android.support.v7.widget.RecyclerView android.support.v7.widget.LinearLayoutManager 1.首先添加控件 <android.support.v7.widget.RecyclerViewandroid:id"id/activity_re…

jenkins jar包上传maven仓库

1 Jenkins 编译后部署至 Maven 仓库jenkins编译后构件&#xff08;如&#xff1a;jar包&#xff09;部署至maven仓库需修改以下内容&#xff1a;maven 仓库配置&#xff1b;项目 pom 文件&#xff1b;本地仓库的 settings.xml 内容&#xff1b;jenkins goals 修改1&#x…