1 系统启动的流程

BIOS -> MBR+boot code -> 执行引导程序: GRUB -> 加载内核 -> 执行init -> 运行runlevel

2 启动详解

1 BIOS

1 BIOS 指的是基本的输入输出系统(basic input output system),一般保存在主板上的BIOS芯片中

2 计算机启动的第一步一般都是先启动BIOS,然后BIOS去检查硬件以及查找可启动的设备

3 可启动的设备可以在BIOS中进行设置,包括USB , CDROM , HD等

2 MBR

1 MBR是512字节的,前446字节为引导代码

2 BIOS“通过第一个扇区的512字节中最后两个字节为55aa来判断“设备为启动设备

3 MBR只是去加载引导程序GURB

3 GRUB

1 GRUB是现在Linux使用的主流的引导程序

2 GRUB可以引导几乎所有的操作系统

3 GRUB的相关文件保存在/boot/grub中

4 KERNEL

1 MBR的引导代码将负责找到并加载Linux的内核

2 Linux内核保存在 /boot/vmlinuz......

3 一般还会加载内核模块的打包文件 /boot/init.....

4 Linux为了保持内核的精简会将一些不常用的驱动,功能编译为模块,然后在要用的时候动态的加载,而这些模块被保存为initrmfs文件

5 早期的Linux是使用initrd文件,但是现在的绝大多数的Linux版本都是使用initrmfs,这样能够更节省空间,更加灵活

6 命令dmesg可以用来查看被次启动内核的输出信息

5 INIT

1 init 是Linux运行的第一个进程,init是所有进程的父进程,编号为1

2 调用/etc/rc.d/rc.sysinit来对系统进行初始化,挂载文件系统,并且根据运行级别启动相应的程序

3 Linux的运行级别

0 关机

1 单用户模式

2 不带网络的多用户模式

3 命令行的多用户模式

4 未使用

5 图形界面多用户模式

6 重启

4 我们可以通过runlevel查看之前和当前的运行级别

5 命令init可以用来查看改变当前的运行级别

6 单用户修改root密码

1 为内核传递参数“1”或者是“single”可使系统进入单用户模式

2 单用户模式不启动任何的服务

3 单用户模式直接以root登录,不需要密码

4 我们可以通过passwd来修改root的密码

5 由于任何接近我们这个物理机的人都有可能修改我们的root密码,因此我们可以通过GRUB加密来防止密码被修改

6 我们在grub.conf中的启动设置里面添加一行password --md5 加密后的串

密码我们可以通过grub-md5-crypt 生成

Linux基本配置和管理 4 ---- Linux系统启动详解的更多相关文章

  1. Linux网络配置:Nat和桥接模式详解

    Linux网络配置:Nat和桥接模式详解 一.我们首先说一下VMware的几个虚拟设备: Centos虚拟网络编辑器中的虚拟交换机: VMnet0:用于虚拟桥接网络下的虚拟交换机: VMnet1:用于 ...

  2. Linux下配置Node环境变量及问题详解

    这是之前在Linux下配置Node环境变量时踩过的坑,今天又有小伙伴询问这个问题,因此记录下来,不仅是给新童鞋们一些参考,也方便日后查阅 在这之前,相信都已经安装好了,没安装的可以查看博主另一篇文章 ...

  3. Linux基本配置和管理 3 ---- Linux命令行文本处理工具

    1 文件浏览(简单回顾) 1 cat 查看文件的内容 2 more 以翻页的形式查看,但是只能向下翻页 3 less 以翻页的形式查看,但是能够支持向上和向下翻页 4 head 默认是查看前10行,但 ...

  4. Linux基本配置和管理 2 ---- Linux多命令协作----管道及重定向

    1 管道和重定向 1 在Linux中大多数命令都很简单,很少出现复杂的命令,每个命令只是实现一个简单的功能,我们可以通过组合不同的命令来实现复杂的功能 2 在Linux中几乎所有的命令返回的数据都是纯 ...

  5. linux驱动程序之电源管理之Run-time PM 详解(4)

    Run-time PM. 每个device或者bus都会向run-time PM core注册3个callback   struct dev_pm_ops { ... int (*runtime_su ...

  6. linux基础之LSB定义的常用目录详解

    Linux基础之LSB定义的基本目录详解 1.LSB中FHS(Filesystem Hierarchy Standard)定义的一些文件 /boot:主要是存放引导文件的目录,比如内核文件(vmlin ...

  7. Linux下nginx编译安装教程和编译参数详解

    这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...

  8. linux ssh使用深度解析(key登录详解)

    linux ssh使用深度解析(key登录详解) SSH全称Secure SHell,顾名思义就是非常安全的shell的意思,SSH协议是IETF(Internet Engineering Task ...

  9. 【转载】Linux命令-自动挂载文件/etc/fstab功能详解[转]

    博客园 首页 新随笔 联系 订阅 管理 随笔 - 322  文章 - 0  评论 - 19 Linux命令-自动挂载文件/etc/fstab功能详解[转]     一./etc/fstab文件的作用 ...

随机推荐

  1. poj 1753 Flip Game(bfs状态压缩 或 dfs枚举)

    Description Flip game squares. One side of each piece is white and the other one is black and each p ...

  2. Unity 人物跟谁手指的移动(第一种方式)

    长夜漫漫无心睡眠,敲敲代码,越敲越来劲! 我发现好多小朋友都在玩熊出没之xxxx这个游戏,居然打了一下午都没玩通第2关,我把测试也叫来陪我一起玩! 结果他也打不通,我再去叫策划,他也没打过,我去叫主管 ...

  3. SHDP--Working With HBase(一)之基本介绍

    最近在做web项目使用到了Hadoop,HBase,在这里对Spring For Hadoop(SHDP)的使用做个总结,主要使用了SHDP中提供的一些封装好的HBase模块. Spring For ...

  4. Alexandra and Prime Numbers(思维)

    Alexandra and Prime Numbers Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (J ...

  5. scrollTo和scrollTo.js

    最近做一个项目前端要用到scrollTo和滚动视觉差.顺便把两个东西拿出来温习一下. HTML DOM里面定义了scrollTo方法,用法:scrollTo(xpos,ypos),把内容滚动到当前的指 ...

  6. Linux转发性能评估与优化-转发瓶颈分析与解决方式(补遗)

    补遗 关于网络接收的软中断负载均衡,已经有了成熟的方案,可是该方案并不特别适合数据包转发,它对server的小包处理非常好.这就是RPS.我针对RPS做了一个patch.提升了其转发效率. 下面是我转 ...

  7. python学习笔记:python字符串

    二.python字符串操作符 1. 对象标准类型操作符 Python对象的标准类型操作符一共就三种:对象值的比较.对象身份的比较.布尔类型.其中对象值的比较主要是大于.小于.不等于等的数学比较符:对象 ...

  8. JavaScript中setTimeout和setInterval的使用

    相同点:这两个方法都可以用来实现在一个固定的时间之后去实现JavaScript代码,两个方法都包含有两个参数,第一个是将要执行的代码字符串,第二是以毫秒为单位的时间间隔,当过了这个时间间隔之后就会执行 ...

  9. 浅谈AngularJS启动引导过程

    我们都知道AngularJS默认会执行app.js来启动整个angular项目,但你知道angular具体执行过程吗? 一.自动引导启动框架 例如我们有如下代码,我们想要完成一个指令功能: <h ...

  10. oracle 集合定义

    集合:是具有相同定义的元素的聚合.Oracle有两种类型的集合: 可变长数组(VARRAY):可以有任意数量的元素,但必须预先定义限制值. 嵌套表:视为表中之表,可以有任意数量的元素,不需要预先定义限 ...