Linux基本配置和管理 4 ---- Linux系统启动详解
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系统启动详解的更多相关文章
- Linux网络配置:Nat和桥接模式详解
Linux网络配置:Nat和桥接模式详解 一.我们首先说一下VMware的几个虚拟设备: Centos虚拟网络编辑器中的虚拟交换机: VMnet0:用于虚拟桥接网络下的虚拟交换机: VMnet1:用于 ...
- Linux下配置Node环境变量及问题详解
这是之前在Linux下配置Node环境变量时踩过的坑,今天又有小伙伴询问这个问题,因此记录下来,不仅是给新童鞋们一些参考,也方便日后查阅 在这之前,相信都已经安装好了,没安装的可以查看博主另一篇文章 ...
- Linux基本配置和管理 3 ---- Linux命令行文本处理工具
1 文件浏览(简单回顾) 1 cat 查看文件的内容 2 more 以翻页的形式查看,但是只能向下翻页 3 less 以翻页的形式查看,但是能够支持向上和向下翻页 4 head 默认是查看前10行,但 ...
- Linux基本配置和管理 2 ---- Linux多命令协作----管道及重定向
1 管道和重定向 1 在Linux中大多数命令都很简单,很少出现复杂的命令,每个命令只是实现一个简单的功能,我们可以通过组合不同的命令来实现复杂的功能 2 在Linux中几乎所有的命令返回的数据都是纯 ...
- linux驱动程序之电源管理之Run-time PM 详解(4)
Run-time PM. 每个device或者bus都会向run-time PM core注册3个callback struct dev_pm_ops { ... int (*runtime_su ...
- linux基础之LSB定义的常用目录详解
Linux基础之LSB定义的基本目录详解 1.LSB中FHS(Filesystem Hierarchy Standard)定义的一些文件 /boot:主要是存放引导文件的目录,比如内核文件(vmlin ...
- Linux下nginx编译安装教程和编译参数详解
这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...
- linux ssh使用深度解析(key登录详解)
linux ssh使用深度解析(key登录详解) SSH全称Secure SHell,顾名思义就是非常安全的shell的意思,SSH协议是IETF(Internet Engineering Task ...
- 【转载】Linux命令-自动挂载文件/etc/fstab功能详解[转]
博客园 首页 新随笔 联系 订阅 管理 随笔 - 322 文章 - 0 评论 - 19 Linux命令-自动挂载文件/etc/fstab功能详解[转] 一./etc/fstab文件的作用 ...
随机推荐
- Eclipse配置Maven开发环境
前言: 现在Eclipse版本越来越高.高版本的Eclipse甚至已经集成了Maven像是SpringSource的哪个版本.用习惯了Eclipse.在开发中还是不想更换掉自己的IDE.如此一来就又了 ...
- PHP MySQL Where 子句 之Where
WHERE 子句 如需选取匹配指定条件的数据,请向 SELECT 语句添加 WHERE 子句. 语法 SELECT column FROM table WHERE column operator va ...
- MySQL数据库如何解决大数据量存储问题
利用MySQL数据库如何解决大数据量存储问题? 各位高手您们好,我最近接手公司里一个比较棘手的问题,关于如何利用MySQL存储大数据量的问题,主要是数据库中的两张历史数据表,一张模拟量历史数据和一张开 ...
- jsp用jstl标签比较枚举
日向博客最近在优化,有这一样一个小问题,我希望在下面的消息中心页面,未读的消息链接显示蓝色,已读的消息显示红色: 这就需要用jstl做一个判断. 之前的代码是这种形式: 消息中心:<br> ...
- JS~JS里的数据类型
JS里的数据类型,它虽然是个弱类型的语言,但它也有自己的规定的,它不会向其它语言那么,使用int来声明一个整形变量,而是使用 var,如果你是一个C#的开发者,你就会知道,原来C#现在也在和JS学,开 ...
- 不定义JQuery插件,不要说会JQuery[转载]
http://www.cnblogs.com/xcj26/p/3345556.html 不定义JQuery插件,不要说会JQuery 一:导言 有些WEB开发者,会引用一个JQuery类库,然后在网页 ...
- linux网络编程--跳水send和recv
要了解一个概念:所有的TCP socket在内核具有发送缓冲器和接收缓冲器.TCP除了全双工操作模式TCP滑模取决于这两个单独buffer和这个buffer填充状态. 接收缓冲器数据缓存入内核.应用进 ...
- LR实战之Discuz开源论坛——网页细分图结果分析(Web Page Diagnostics)
续LR实战之Discuz开源论坛项目,之前一直是创建虚拟用户脚本(Virtual User Generator)和场景(Controller),现在,终于到了LoadRunner性能测试结果分析(An ...
- 【模拟】【HDU1443】 Joseph
Joseph Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...
- Serializable在C#中的作用——.net中的对象序列化
序列化是指将对象实例的状态存储到存储媒体的过程,在此过程中,先将对象的公共字段和私有字段以及类的名称(包括类所在的程序集)转换为字节流,然后再把字节流写入数据流,在随后对对象进行反序列化时,将创建出与 ...