Linux入门-8 Linux系统启动详解
2018-02-11 13:10
288 查看
系统启动流程
BIOS
MBR
GRUB
KERNEL
INIT
单用户修改root密码
GRUB加密
MBR: Boot Code
执行引导程序 - GRUB
加载内核
执行init
runlevel
计算机启动时首先运行BIOS,负责检查硬件并且查找可启动设备
可启动设备在BIOS设置中进行定义,如USB, CDROM, HD
BIOS找到可启动设备后执行其引导代码
引导代码为MBR的前446字节
Grub是现在Linux使用的主流引导程序
可以用来引导现在几乎所有的操作系统,pe也是grub引导的
Grub的相关文件保存在
stage1(MBR) -> xxx_stage1_5(file system driver) -> stage2
Grub配置文件为
配置格式:
Linux内核保存在
一般还会加载内核模块打包文件:
Linux为保持kernel的精简将一些不常用的驱动、功能编译成为模块,在需要的时候动态加载,而这些模块被打包保存为一个initramfs文件
早期版本Linux使用initrd文件,initramfs是initrd的替代优化版本,比initrd更加节省空间、更加灵活
命令
调用
Linux运行级别(runlevel):
可以通过
每个级别对应的启动服务保存在
单用户模式下不启动任何服务
单用户模式直接以root用户登录,并且需要密码
可以使用passwd修改root密码
加密后的密码可以通过
另外,可以参考阮一峰的博客:
计算机是如何启动的
Linux的启动流程
BIOS
MBR
GRUB
KERNEL
INIT
单用户修改root密码
GRUB加密
系统启动流程
BIOSMBR: Boot Code
执行引导程序 - GRUB
加载内核
执行init
runlevel
BIOS
Basic Input Output System,一般保存在主板的BIOS芯片中计算机启动时首先运行BIOS,负责检查硬件并且查找可启动设备
可启动设备在BIOS设置中进行定义,如USB, CDROM, HD
MBR
不同的系统有不同的MBRBIOS找到可启动设备后执行其引导代码
引导代码为MBR的前446字节
GRUB
MBR一般会作为跳转,启动一个更复杂的引导程序,比如GRUBGrub是现在Linux使用的主流引导程序
可以用来引导现在几乎所有的操作系统,pe也是grub引导的
Grub的相关文件保存在
/boot/grub目录中
stage1(MBR) -> xxx_stage1_5(file system driver) -> stage2
Grub配置文件为
/boot/grub/grub.conf
配置格式:
default=0 # 第一个引导程序 timeout=5 # 停留时间 splashimage=(hd0,1)/boot/grub/splash.xpm.gz # 引导界面背景 hiddenmenu # 默认隐藏菜单 title CentOS # 操作系统名称 root (hd0,1) # 操作系统所在分区,第一块硬盘第二个分区 # 内核以及传递给内核的参数(ro root=...),用空格分开 kernel /boot/vmlinuz-2.6.32-431.el6.x86_64 ro root=... # initial ram file system,内核模块打包文件 initrd /boot/initramfs-2.6.32-431.el6.x86_64.img
KERNEL
MBR的引导代码将负责找到并加载Linux内核Linux内核保存在
/boot/vmlinuz-2.6.32-431.el6.x86_64
一般还会加载内核模块打包文件:
/boot/initramfs-2.6.32-431.el6.x86_64.img
Linux为保持kernel的精简将一些不常用的驱动、功能编译成为模块,在需要的时候动态加载,而这些模块被打包保存为一个initramfs文件
早期版本Linux使用initrd文件,initramfs是initrd的替代优化版本,比initrd更加节省空间、更加灵活
命令
dmesg或者
/var/log/dmesg文件可以查看本次启动时内核的输出信息
INIT
init(/sbin/init)是Linux系统中运行的第一个进程,所有进程的父进程。
调用
/etc/rc.d/rc.sysinit负责对系统进行初始化,挂载文件系统,并且根据运行级别启动相应服务
Linux运行级别(runlevel):
- 0关机
- 1单用户模式
- 2不带网络的多用户模式
- 3多用户模式
- 4未使用
- 5X11图形化模式
- 6重启
可以通过
/etc/inittab配置文件修改默认的运行级别
etc/init/下的文件是其他配置信息
每个级别对应的启动服务保存在
/etc/rc.d/rc[0-6].d/中
runlevel可显示当前及上一个运行级别
init可用以改变当前运行级别
单用户修改root密码
为内核传递参数1或
single可进入单用户模式
单用户模式下不启动任何服务
单用户模式直接以root用户登录,并且需要密码
可以使用passwd修改root密码
GRUB加密
通过在grub.conf中的启动配置中加入如下参数即可password --md5 $1$aoWpTe$/MWUUYbBIF.2RUZK8nbWU0
加密后的密码可以通过
grub-md5-crypt生成
另外,可以参考阮一峰的博客:
计算机是如何启动的
Linux的启动流程
相关文章推荐
- 【Linux 入门笔记】系统启动详解
- linux入门基础——linux系统启动详解
- linux学习入门19——LINUX系统启动详解(linuxcast.net)(重要!!重要!!)
- Linux系统启动过程详解
- Linux系统开机启动详解
- linux系统开机启动过程详解
- Linux 系统启动过程详解
- Linux系统启动过程详解
- Linux学习笔记17--Linux系统启动详解
- linux获取系统启动时间示例详解
- Linux--10:Ubuntu系统启动过程详解
- Linux入门之系统启动过程及初始化----“翻滚吧,牛宝宝”
- Linux基础入门及系统管理01-Linux根文件系统详解06
- 嵌入式 linux下查看系统启动时间以及运行时间详解
- 21-Linux-系统启动详解
- Linux系统启动流程详解(BIOS—MBR—GRUB--Kernel—init—run
- Linux学习之CentOS(二十一)--Linux系统启动详解
- Linux系统启动过程详解
- Linux系统详解 第六篇:系统的启动、登录、注销与开关机
- Linux基本配置和管理 4 ---- Linux系统启动详解