目录
(2)POST开机自检,如果有问题会发出蜂鸣声,没有问题就加载bios程序。
(3)bios是基本输入输出系统,通过BIOS加载引导程序。
(1)然后找到硬盘的第一个扇区,读取MBR主引导记录,MBR中有一个grub2引导程序,是用来启动Linux系统的。
(3)运行/boot里的内核文件vmlinuz、initramfs。
(4)启动systemd进程,系统的第一个进程,是所有其他进程的父进程。
(5)启动对应的运行级别的里的服务,我们一般是启动multi-user多用户模式。
(6)启动相应运行级别的的服务,比如/etc/rc.local以及/etc/fstab文件。
(7)然后进入login登录,用户输入用户名和密码以后,Linux系统会自动进入/etc/passwd文件和/etc/shadow文件里验证用户名和密码是否正确。
1.运行级别存储文件 - /usr/lib/systemd/system
(2)Linux 16 的那一行,将 ro 改为 rw init=/sysroot/bin/sh
一、启动流程
1.BIOS
(1)概述
Basic Input Output System,存储硬件信息,是一段程序,存储在主板的CMOS芯片,由主板的电池供电。
(2)进入BIOS
不同品牌的主板进入方式不一致,通常为F2或者DEL。
(3)系统引导方式
硬盘引导
网络引导
U盘引导
(4)UEFI
2.开机自检的流程
(1)power on开机
(2)POST开机自检,如果有问题会发出蜂鸣声,没有问题就加载bios程序。
(3)bios是基本输入输出系统,通过BIOS加载引导程序。
(4)boot启动顺序检查,启动第一启动顺序。
3.选择硬盘作为第一启动顺序
(1)然后找到硬盘的第一个扇区,读取MBR主引导记录,MBR中有一个grub2引导程序,是用来启动Linux系统的。
(2)加载/boot里文件系统里的驱动。
(3)运行/boot里的内核文件vmlinuz、initramfs。
(4)启动systemd进程,系统的第一个进程,是所有其他进程的父进程。
(5)启动对应的运行级别的里的服务,我们一般是启动multi-user多用户模式。
(6)启动相应运行级别的的服务,比如/etc/rc.local以及/etc/fstab文件。
(7)然后进入login登录,用户输入用户名和密码以后,Linux系统会自动进入/etc/passwd文件和/etc/shadow文件里验证用户名和密码是否正确。
(8)验证成功之后,运行/etc/profile和 /etc/bashrc 全局配置(所有验证成功的用户都会加载),再运行用户家目录下的初始化文件, /.bash_profile、/.bashrc 局部配置(只有用户本身可以加载)。
二、管理机制
1.service
(1)Linux6及之前老版本系统
(2)语法
service 服务名称 服务操作类型
(3)服务启停脚本存储目录
/etc/init.d/
2.systemd
(1)Linux7及之后的新版本系统
(2)语法
systemctl 服务操作类型 服务名称
(3)服务启停脚本存储目录
/usr/lib/systemd/system
三、运行级别
1.运行级别存储文件 - /usr/lib/systemd/system
runlevel0.target-> poweroff.target
runlevel1.target-> rescue.target
runlevel2.target-> multi-user.target
runlevel3.target-> multi-user.target
runlevel4.target-> multi-user.target
runlevel5.target-> graphical.target
runlevel6.target-> reboot.target
2.详解
(1)poweroff.target
0 系统关机级别,系统默认的运行级别不能设置为0,否则不能正常启动。init 0 进行关机
(2)rescue.target
1 单用户模式级别。root 权限,用于系统维护 (或修复系统,或重置系统密码信息),禁止远程登录。该运行级别是没有网络的。
(3)multi-user.target
2 多用户模式级别。该级别下没有NFS和网络的支持。
(4)multi-user.target
3 完整的多用户文本模式级别。登录后进入到控制台命令行模式。
(5)multi-user.target
4 预留级别,该级别系统未使用。
(6)graphical.target
5 图形化模式级别。登录后进入图形GUI模式。
(7)reboot.target
6 系统重启级别。默认运行级别不能设置为6,否则系统不能正常启动。
3.操作命令
(1)runlevel
查看当前运行级别 及上一级
数字1 数字2
数字1位N表示没有上一级别,直接登录该运行级别
(2)init
切换运行级别,上一级别将登出。
(3)systemctl
systemctl get-default 查看默认运行级别
systemctl set-default 运行级别名称 修改默认运行级别
四、root密码修复
1.使用修改grub参数方法
(1)启动系统后,在grup界面按e进入编辑模式
(2)Linux 16 的那一行,将 ro 改为 rw init=/sysroot/bin/sh
(3)Ctrl + x
(4)chroot /sysroot
(5)修改root用户密码
passwd或者echo "密码" |passwd --stdin root
(6)touch /.autorelabel
自动识别label标签,不创建密码修改不生效。
(7)exit
(8)reboot
完成