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系统操作 打开每一个文件夹都会打开一 ...
随机推荐
- scrapy爬虫框架之Xpath选择器
问题: 本篇博文主要记录scrapy框架爬取伯乐在线文章的相关知识,在实践中学习对框架的理解.今天主要记录了xpath的相关用法以及语法规范. ----->>>点击进入爬取页面 一. ...
- 项目属性的target platform和target platform version到底是什么(vs2015开发windows驱动小记)
根据官方对属性页的介绍(General Property Page (Project))可了解: target platform是build后的结果会跑在哪个平台,例如windows,android, ...
- casperjs,phantomjs,slimerjs and spooky
1.casperjs http://casperjs.org/ CasperJS is a navigation scripting & testing utility for Phantom ...
- 【问题记录】uwsgi部署并启动俩个几乎一样的python flask web app,发现有一个app响应时间非常长
uwsgi在同一台linux上启动python flask web app(俩个), 发现第一个和第二个的简单性能测试差距非常大,差了将近一倍: 第一个结果: Concurrency Level: 1 ...
- SGU---103 最短路变形
题目链接: https://cn.vjudge.net/problem/SGU-103#author=ECUST_FZL 题目大意: Dingiville 城市的交通规则非常奇怪,城市公路通过路口相连 ...
- haproxy 启动错误
在haproxy启动时会报错 ALERT] / () : Starting proxy short_message: cannot bind socket 问题1,如果bind的是vip,则需要内核添 ...
- 20155314 2016-2017-2 《Java程序设计》第9周学习总结
20155314 2016-2017-2 <Java程序设计>第9周学习总结 教材学习内容总结 了解JDBC架构 掌握JDBC架构 掌握反射与ClassLoader 了解自定义泛型和自定义 ...
- App-IOS与Android弱网环境测试
弱网环境下App的功能是否正常使用,是否会发生Crash的等情况? 1.IOS ios系统一般自带弱网环境测试,可以通过设置各种网络环境,模拟弱网环境,如3G,wifi,very bad Networ ...
- ajax和原生ajax、文件的上传
ajax理解: ajax发送的请求是异步处理的.也就是说如下形式: function f1(){ $.ajax( { ....... success:function(){ a= return a } ...
- 404 Note Found 队- BETA 版冲刺前准备
目录 过去存在的问题 任务分工 规范 后端总结 卉卉 家灿 前端总结 绪佩 青元 恺琳 宇恒 丹丹 算法&API接口 家伟 鸿杰 一好 文档&博客撰写 政演 产品功能 我们已经坐了哪些 ...