Linux入门基础19
Linux系统启动详解
系统启动流程 |
---|
BIOS |
MBR:BOOT Code |
执行引导程序-GRUB |
加载内核 |
执行init(进程ID 1) |
runlevel |
BIOS
BIOS(Basic Input Output System) 一般保存在主板上的BIOS芯片上
- 计算机启动的时候第一个运行的就是BIOS,BIOS负责检查硬件并且查找可启动设备(设备上具有引导信息)
- 可启动设备在BIOS中进行定义,如USB,CDROM,HD
MBR
- BIOS找到可启动设备后执行其引导代码
- 引导代码为MBR的前446字节
GRUB
Grub是现在Linux使用的主流引导程序
可以用来引导现在几乎所有的操作系统
Grub相关文件保存在/boot/grub目录中
Grub配置文件为/boot/grub/grub.conf
配置格式
KERNEL
- MBR引导代码将负责找到并加载Linux内核
- Linux内核保存在/boot/vmlinuz-4.4.0-93-generic
- 一般还会加载内核模块打包文件:/boot/initrd.img-4.4.0-93-generic
- Linux为保持kernel的精简将一些不常用的驱动,功能编译成模块,在需要的时候动态加载,而这些模块被打包保存为一个initrd文件
- 早期版本Linux使用initrd文件,initramfs是initrd的替代优化版本,更加节省空间,更加灵活
dmesg
可以查看本次启动时内核的输出信息 /var/log/dmesg
INIT
- init Linux系统的第一个进程 PID进程ID(所有进程的父进程)
- 调用/etc/rc.d/rc.sysinit负责对系统进行初始化,挂载文件系统,并且根据运行级别启动相应服务
- Linux运行级别
- -0 关机
- -1 单用户模式
- -2 不带网络的多用户模式
- -3 多用户模式
- -4 未使用
- -5 x11图形化模式
- -6 重启
- 可以通过/etc/inittab配置文件修改默认的运行级别
- 每个级别对应的启动服务保存在/etc/rc.d/rc[0123456].d中
runlevel
可显示当前及上一个运行级别- 命令
init
可用以改变当前的运行级别
单用户修改root密码
- 为内核传递参数“1”或”single”系统可进入单用户模式
- 单用户模式下不启动任何服务
- 单用户模式直接以root用户登录,并且需要密码
- 可以使用
passwd
修改root密码
GRUB加密
Any question please contact 1-riverfish