Linux入门基础(六):Linux系统启动
系统启动流程
- BIOS
- MBR : Boot Code
- 执行引导程序-GRUB
- 加载内核
- 执行init
- runlevel
BIOS
- BIOS(basic input output system),我们称之为基本输入输出系统,一般保存在主板的BIOS芯片中
- 计算机启动第一个运行的就是BIOS,BIOS负责检查硬件并查找可启动设备
- 可启动设备在BIOS设置中进行定义,如USB/CDROM/HD等
MBR
- 扇区的前512字节储存MBR信息
- BIOS通过MBR的最后两个字节是否是55aa来识别该设备是否是可启动设备
- BIOS找到可启动设备后执行其引导代码
- 引导代码为MBR的前446字节
GRUB
- GRUB是现在Linux使用的主流引导程序
- 可以用来引导现在几乎所有的操作系统
- GRUB的相关文件保存在/boot/grub目录中
- GRUB配置文件尾/boot/grub/grub.conf
GRUB加载顺序 :
- stage1(MBR的镜像,大小512字节)
- 文件系统名_stage1_5(增加对各个文件系统的支持,比如e2fs_stage1_5,xfs_stage1_5等)
- stage2
- 内核
内核
- 引导代码将负责找到并加载Linux内核
- Linux为保持内核的精简,将一些不常用的驱动,功能编译成模块,在需要的时候动态加载.而这些模块被打包保存为以个initramfs文件
- 早期版本Linux使用initrd文件,initramfs是initrd的替代优化版,更加节省空间和灵活
- 命令dmesg可以查看本次启动时内核的输出信息
INIT
- init是Linux系统中运行的第一个进程
- top 命令可以查看PID,其中1为init,init是所有进程的父进程,并且一直存在
- init负责使用/etc/rc.d/rc.sysinit负责对系统进行初始化,挂载文件系统,并且根据运行级别启动相应服务
运行级别
- Linux运行级别
- 0 关机
- 1 单用户模式
- 2 不带网络的多用户模式
- 3 多用户模式(常用的命令行模式)
- 4 未使用
- 5 xll 图形化多用户(常用的图形界面模式)
- 6 重新启动
- 默认的运行级别可以通过文件/etc/inittab 下配置修改
- 命令runlevel 显示上个和当前运行级别
- 命令init 数字 可以改变当前运行级别
单用户修改root密码
- 为内核传递参数‘1’(运行级别1)或者“single”系统进入单用户
- 单用户模式下不启动任何服务
- 单用户模式直接以root用户登录,并且不需要密码
- 可以使用passwd修改root密码
Linux入门基础(六):Linux系统启动的更多相关文章
- Linux入门基础(一):Linux基本操作
命令行BASH基本操作 Shell 用户不能直接操作内核,所以用户操作通过shell传递给内核 shell分为两种 : GUI 图形界面 (linux一般是GNOME) CLI 命令行界面 (linu ...
- Linux入门基础(三):Linux用户及权限基础
用户基础 用户和组 每个用户都拥有一个userid 每个用户都属于一个主组,属于一个或多个附属组 每个组拥有一个groupid 每个进程以一个用户身份运行,受该用户可访问资源限制 每个可登陆用户拥有一 ...
- Linux入门基础(七):Linux软件管理基础
源代码形式 绝大多数开源软件都是直接以源代码形式发布 源代码一般会被打包成tar.gz的归档压缩文件 程序源代码需要编译成为二进制形式之后才能够运行 源代码基本编译流程 : ./configure 检 ...
- Linux入门基础(四):Linux网络基本配置
网络基础 ip编址 ip编址是一个双层编址方案(网络部分和主机部分),一个ip地址标识一个主机(或一个网卡接口) 现在应用最广泛的是IPv4编址,已经开始逐渐向IPv6编址切换 IPv4地址32位长, ...
- linux入门教程(六) Linux文件与目录管理
在linux中什么是一个文件的路径呢,说白了就是这个文件存在的地方,例如在上一章提到的/root/.ssh/authorized_keys 这就是一个文件的路径.如果你告诉系统这个文件的路径,那么系统 ...
- Linux入门基础(五):Linux管道,重定向,文本处理
多命令协作:管道及重定向 在Linux中,大多数命令都很简单,每个命令往往只实现一个或几个很简单功能. 我们可以通过将不同功能的命令组合起来一起使用,达到完成某个复杂功能的目的 CLI下几乎所有的命令 ...
- Linux入门基础(二):Linux磁盘及文件管理系统
磁盘管理 fdisk分区工具 只支持MBR分区 fdisk命令只有root用户能用 fdisk -l 列出所有安装磁盘及分区信息 fdisk /dev/sda (操作磁盘,按m可列出帮助界面,常用的操 ...
- Linux入门基础篇
Linux入门基础篇 Linux诞生 Linux发行版本说明 Linux官方网站 Linux内核官方网站 比较有名的Linux发行版 虚拟机(Virtual Machine),一个虚拟的系统,安装在系 ...
- Linux入门基础之一
Linux 入门基础 一.Linux 系统安装 安装方法网上很多,请自行百度 二.Linux 基本操作 2.1.GNOME图形界面基本操作 操作类似于Windows系统操作 打开每一个文件夹都会打开一 ...
随机推荐
- UserUI程序详解
重要内容放前面:https://blog.csdn.net/yizhou2010/article/details/52837944 作者可关注 1.进行初始化,会用到AfxWinmain函数:创建当前 ...
- [转]Hadoop 读写数据流
Hadoop文件读取 1)客户端通过调用FileSystem对象中的open()函数来读取它做需要的数据.FileSystem是HDFS中DistributedFileSystem的一个实例. 2)D ...
- PHP字符串——简单应用
错误的学习编码语言观点:语言语法不用记,多练习就可以了. 应该是死记住,然后加强练习以免忘记.以及在练习中加强理解.试着想“为什么是这样的语法习惯”.PHP提供了8种数据类型.4种是标量型(单值) ...
- 20165318 2017-2018-2 《Java程序设计》第七周学习总结
20165318 2017-2018-2 <Java程序设计>第七周学习总结 目录 学习过程遇到的问题及总结 教材学习内容总结 第11章 JDBC与MySQL数据库 错题总结 第五周错题总 ...
- ZOJ 3203 Light Bulb (三分+计算几何)
B - Light Bulb Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%lld & %llu Submit ...
- SharePoint自动初始化网站列表
1,由于目前的SharePoint网站需要部署到多个服务器上,每个网站的内容都不一样,所以使用备份还原是不可以的.常用的方式便是将列表导出为列表模版,然后将列表模版复制到服务器上,根据列表模版创建列表 ...
- Java 并发系列(一) ThreadPoolExecutor源码解析及理解
ThreadPoolExecutor 它是线程池最核心的类, 这里对核心的方法做简要的剖析(会持续更新),以加深对线程池运行原理的理解. 1. 核心成员变量及相关方法 // ctl非常重要,用整型表示 ...
- 使用CoreAnimation 实现相机拍摄照片之后动画效果
废话不多说,先看上效果,由于动画录制的时候帧率限制,只能将动画放慢了进行录制,更容易看到效果 这是点击开始之后代码 -(IBAction)btnStartClick:(id)sender { CABa ...
- 什么是X86和X86-64
X86的定义 X86是一个Intel或AMD通用计算机系列的标准编号缩写,也是32位微处理器架构的一种,也标识一套通用的计算机指令集. X86-64的定义 X86-64,简称X64,是一个Intel或 ...
- flex“深拷贝”
以前在<ActionScript殿堂之路>上就看到过的“深拷贝”概念一直没有好好地在实战中用到过,但是最近在开发过程中,我发现我在编写VO数据对象时的一个老习惯很浪费我的编码时间,这个习惯 ...