系统启动过程
- 系统启动流程
1.BIOS是计算机的基本输入输出系统,对计算机的硬件加电自检,执行硬件初始化,并引导操作系统,按照特定顺序检测系统启动程序。
2.MBR(Master Boot Record)是硬盘的主引导记录,大小为512字节,分别由系统引导程序446字节,分区表64字节,结束表2字节组成,读取引导程序boot loader.
3.GRUB 启动管理器,引导程序,处理内核文件的加载。Windows系统和linux双系统时,要先安装windows系统。
4.内核 测试硬件设备与驱动程序,文件位于 /boot下,vmlinuz:内核文件,initramfs:虚拟文件系统。
- 主程序:内核加载完所有的硬件和驱动程序之后,启动的第一个程序
,system daemon,系统守护进程,是linux下的初始化软件,实现系统初始化,生成并启动其他环境相关的程序。
6.初始化:提供一个可交互的操作系统界面
二、system的程序管理
1.管理工具systemctl
2、基本操作
开启服务 systemctl start daemon.service
关闭服务 systemctl stop daemon.service
重启服务 systemctl restart daemon.service
查看服务状态 systemctl status daemon.service
设置服务开机自启 systemctl enable daemon.service
设置服务开机不自启 systemctl disable daemon.service
- 服务状态
active(running) 正在运行
Inactive 不运行
enabled 开机运行
Disabled 开机不运行
Static 开机不启动,但是可能会被其他服务所激活
- 运行级别
centos 6 centos 7
init 0 关机 runlevel0.target
init 1 单用户模式 runlevel1.target
init 2 无网络的多用户模式 runlevel2.target
init 3 有网络支持的多用户模式(字符) runlevel3.target
init 4 保留,未使用 runlevel4.target
init 5 有网络支持的多用户模式(图形) runlevel5.target
init 6 重启 runlevel6.target
- 程序和进程的关系
程序:一组代码的集合,静态文件。
进程:运行中的程序文件,动态文件。
服务:常住与内存中的进程
程序和进程的关系:程序加载到内存中运行,形成进程
三、启动过程中的故障
1.linux下找回密码
a、重启系统,在GRUB界面按E进行编辑
在linux16一行找到centos/swap,在其后面添加rd.break参数
(打断当前系统启动流程进入单用户模式)
b、保存,并进入switch_root模式
ctrl + x
c、重新挂载临时文件系统,添加rw参数,使接下来可以修改密码
mount -o remount,rw /sysroot
d、进入临时文件系统
chroot /sysroot
e、修改密码
passwd root 注意密码复杂性要求
f、更新系统配置,运行脚本
touch /.autorelabel
g、退出临时文件系统
exit
h、重启系统
reboot
2、MBR故障修复
a、建立备份文件
[root@localhost ~]# mkdir /backup
[root@localhost ~]# mkfs.xfs /dev/sdb1
[root@localhost ~]# mount /dev/sdb1 /backup/
b、模拟MBR损坏
先做备份
[root@localhost ~]# dd if=/dev/sda of=/backup/mbr.bak bs=512 count=1
[root@localhost ~]# dd if=/dev/zero of=/dev/sda bs=512 count=1
c、重启测试
操作系统无法正常启动
d、进入救援模式
troubleshooting 问题解决
rescue a centos system 救援模式/修复模式
1(continue) 检查分区并挂载到某个目录下,按1继续执行操作
enter 回车键获得一个可操作的shell界面
e、修复MBR
mkdir /tmpdir 创建临时挂载目录
mount /dev/sdb1 /tmpdir 将/dev/sdb1分区挂载到/tmpdir,获取分区中的文件
dd if=/tmpdir/mbr.bak of=/dev/sda bs=512 count=1
将分区中的mbr备份文件覆盖到/dev/sda中
f、退出重启
exit