linux 系统启动过程分析
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 系统启动过程分析相关的知识,希望对你有一定的参考价值。
linux启动顺序
主板Bios加电自检 检查硬件
--> 读取硬盘引导扇区(MBR)
--> 启动引导程序(grub)
--> 选择系统
--> 加载系统内核(kernel shell)
--> 启动系统读取相应的默认设置(环境变量,运行级别)
--> 启动相应的服务和进程
--> 登陆系统界面
引导程序的配置文件
/etc/grub2.cfg
查看所有的启动级别
#cd /usr/lib/systemd/system --> ls
1.(1)查看当前开机的默认启动级别
#systemctl get-default
修改默认启动级别
例:3级别--》5级别
ln -sf /usr/lib/systemd/system/graphical.target /etc/systemd/system/default.target
例:5级别--》3级别
systemctl set-default multi-user.target(要修改的级别)
[注] runlevel 只能通过软连接的方式修改
模拟事故
将修改级别启动的0级别,系统将不能启动
修复:
重启进入grub开机界面
-->上下箭头结束倒计时
-->按e键进入启动参数设置
-->找到Linux16在行尾UTF-8后加入systemd.unit = rescue.target(指定进入系统的模式)
-->ctrl x (启动参数设置)
破解root密码
重启进入grub开机界面
-->上下箭头结束倒计时
-->按e键进入启动参数设置
-->方法①:找到Linux16将ro修改为rw init = /systemctl/bin/sh(进root入系统默认使用的shell),躲避硬盘加载
-->方法②xd:UTF-8后加入关键字rd.break
-->ctrl x
:/#mount 查看挂载表,检查根分区的挂载权限是否是rw;如果是ro,需要重新挂载,加载权限
:/#mount -o remount,rw /sysroot 重新挂载,加载权限
:/#chroot /sysroot /bin/bash 切换正常启动的bash
:/#unset LANG 清除语言环境变量
:/#passwd 修改密码
:/#getenforce 查看selinux状态
如果selinux没有关闭,需要使selinux接受新密码
:/#touch /.autorelabel 在/下创建一个关联标签文件
:/#exit 退回到sh
:/#reboot 重启验证新密码
以上是关于linux 系统启动过程分析的主要内容,如果未能解决你的问题,请参考以下文章