一.计算机的启动流程
二.系统服务
三.运行级别
四.运行级别被修改
五.Root密码被遗忘
六.设置Grub密码
七.设置bios密码
一、计算机启动流程
1、bios加电自检
对计算机的硬件进行检测,正常后,按照cmos里的设置搜索处于活动状态的引导设备(一般为硬盘、U盘、光盘、软盘等)。
2、加载主引导程序MBR(位于磁盘首扇区)
MBR:boot loader(启动加载程序)
分区表信息
模数
(1)提供系统选择列表
(2)加载处在硬盘上分区上的次引导程序,并将处在活动分区的次引导程序加载到内存中。(boot loader属于次引导程序,针对双系统,linux的加载程序grub2)。
linux启动分区被三个重要文件
(1)启动加载程序:groub2
(2)系统内核:vmlinuz-3.10.0-229.e17.×86_64
(3)磁盘镜像文件:initramfs-3.10.0-229.e17.×86_64.img
磁盘镜像文件包含:硬件驱动、文件系统等信息
3、加载所选系统的内核到内存中
依据grub设置即/boot/grub2/grub2.conf里的配置信息将系统内核加载到内存中,同时把磁盘镜像文件也加载到内存中。(内核可以理解为CPU的驱动)
4、内核重新加载硬件驱动并检测,初始化与文件系统相关的硬件设备,生成硬件设备文件。
5、小系统启动首进程systemd,并加载系统服务所需要的可用单元,进入小系统根文件系统/sysroot。
6、再由/sysroot切换至真实根分区"/",系统内核会重新加载系统首进程systemd,并启动与禁用相关服务可用单元,包括登录与验证服务。
7、开始设置环境变量、网络、读取/etc/fstab挂载文件系统,并完成其他初始化工作。
8、取得运行级别,读/etc/systemd/system/default.target文件
9、加载shell(bash),启动login登录程序,进入登录界面。
10、输入用户名、密码进入系统。
二、 系统服务
1、在centOS7之前
系统首进程:init
系统服务存放位置:/etc/rc.d/init.d
系统服务启动 查看 方法:#service 服务名 stop/start/restart
字符界面的服务图形化配置:#ntsysv
在centOS7之后
系统存放服务位置:/usr/lib/systemd/system
所有以*.service文件都是系统服务
系统首进程:systemd
系统服务启动方法:# systemctl start/stop/status/restart 服务名
查看系统服务状态:# systemctl list-unit-files
字符界面服务图形化命令:# nmtui
三、运行级别
1、在centOS7之前
运行级别保存在:/etc/inittab
2、在centOS7之后
查看当前运行级别:# systemctl get-default
运行级别文件保存在:#/usr/lib/systemd/system/*.target
runlevel0.target -> poweroff.target(关机状态)
runlevel1.target -> rescue.target (单用户紧急救援模式)
runlevel2.target -> multi-user.target (多用户级别无NFS)
runlevel3.target -> multi-user.target (多用户级别)
runlevel4.target -> multi-user.target (未定义)
runlevel5.target -> graphical.target (多用户图形化模式)
runlevel6.target -> reboot.target (重启)
3、查看当前系统的运行级别 systemctl get-default
EG:1、查看指定的运行级别所需要关联服务
Systemctl list-dependencies graphical.target
4、 临时切换某个运行级别
systemctl isolate graphical.target
- 设置默认的运行级别
systemcyl set-default reboot.target
四,运行级别被修改
- 首先启动linux系统
- 看到GRUB2启动菜单
- 选择一个所需要启动的OS
- 按e编辑此启动菜单
(5)找到linux16字段,在此字段行尾输入 systemd.unit=rescue.target 按ctrl +x 启动此修改。
<1>此时此系统进入单用户紧急救援模式,在此时输入root账户密码,重新登录root用户。
<2>把运行级别修改到多用户模式
五.root密码丢失后的解决方法
1、启动虚拟, 选择一个所需要启动 OS , 按 e 编辑此 OS 启动菜单 ;
2.按方向键"↓",将光标下移到下图中所示为止;
3、将上图中的ro字段改为 rw init=/sysroot/bin/sh,然后ctrl+x启动此次更改;
4、在出现的命令行输入 cd /sysroot,切换到 /sysroot目录下( 可以不切换)
#chroot /sysroot /bin/bash
#passwd 正常修改密码;
5、如果selinux没有关闭,需要在 '/' 根分区上创 建/ .autorelabel 文件;用来使 selinux 的所有的关联标签发生改变,以 接受新的 ROOT 密码;
6、密码修改完成之后,输入exit,退出chroot模式,输入reboot重启后密码修改完成;
六.设置grub 密码
1).明文修改
cd /etc/grub.d --vim 00_header --G --输入cat << EOF
换行输入set superusers="zx"
换行输入password zx 1234
保存退出
Grub2-mkconfig >/boot/grub2/grub.cfg
重启按e需要输入用户名和密码
2)密文加密
grub2-mkpasswd-pbkdf2 -- 输入密码:1234
产生一串加密的密码
Cd /etc/grub.d --vim 00_header
--G --password _pbkdf2 zx 加密的密码复制到此处(从is 后面的空格开始复制)
保存退出
grub2-mkconfig >/boot/grub2/grub.cfg
BIOS系统设置密码
- 打开虚拟机点击F2进入BIOS系统切换到Security选项。
- 切换到Set Supervisor Psaaword,然后点击回车输入需要设置的密码,接着点击回车确认,F10键退出。
注:BIOS系统修改密码:打开虚拟机点击F2进入BIOS系统切换到Security选项,切换到Set Supervisor Psaaword,然后点击回车输入需要旧的密码和新的密码(新密码为空表示不设置密码),接着点击回车确认,F10键退出。