Linux中开机启动流程

Linux中开机启动流程

Centos6

启动流程

1.内核引导
	加载grub菜单
	运行BIOS的加电自检
	2.运行init
		init 所有的进程都被init控制  (所有进程的起点)
		0:关机
		1:切换到单用户模式,root权限,禁止远程连接
		2:多用户状态(没有文件系统)
		3:完全多用户状态,有文件系统,登录后使用命令行控制
		4:unused 没有被使用
		5:切换到图形化界面(装图形化)
		6:重启
3.系统初始化
		首先找到,runlevel查看当前系统的运行级别
         然后找到/etc/rc.d/rcN.d N代表当前的运行级别
4.建立终端
5.用户登录系统

C6忘记root密码

1.开机进入grub菜单
2.按e,进入单用户模式
3.选择内核kernel,按e
4.进入单用户模式
	在quiet 后面输入1然后回车或者输入single然后回车
5.按b(boot),重新引导启动系统
6.修改root密码
	echo 1 |passwd --stdin root
	reboot 重启

关机指令

shutdown
	-h:指定关机的时间
halt
poweroff
init 0

Centos7

启动流程

1.BIOS(开机自检)
2.MBR ( Master Boot Record 主引导记录)
3.GRUB2 Bootloader(引导菜单)
4.Kernel(内核引导)
5.Systemd (不再使用init,改成了systemd)

运行级别

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

#运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
#运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
#运行级别2:多用户运行级别(没有文件系统)
#运行级别3:完全的多用户状态(有文件系统),登陆后进入控制台命令行模式
#运行级别4:多用户运行级别
#运行级别5:X11控制台,登陆后进入图形GUI模式
#运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

进入单用户模式

方式1:只能解决忘记root密码问题
	1.先关机
		 init 0
	2.停在grub2菜单
	3.按e进入编辑
	4.将光标下移,移动到 linux16 那一行,行末
	5.输入 enforcing=0 init=/bin/bash
	6.按Ctrl + x
	7.重新挂载/目录 , 因为该模式/目录是只读权限
		bash-2.4# mount -o rw,remount /
	8. 修改root密码
		bash-2.4# echo 123 |passwd --stdin root
	9. 重新引导系统
		bash-2.4# exec /sbin/init
方式2
	1.先重启
		init6
	2.进入grub2菜单
	3.按e进入编辑
	4..将 biosdevname=0 前面的 ro 改成 rw ,避免重新挂在 / 目录,然后还是在 linux16 的行末输入 rd.break
	5.按Ctrl + x
	6.执行命令
		1.获取到root权限
			switch_root:/# chroot /sysroot
		2. 修改运行级别
			sh-4.2# systemctl set-default multi-user.target
		3.退出
			sh-4.2# exit
		4.重启
			switch_root:/# reboot

救援模式

误删除mbr
	1.挂载镜像(通过镜像进入)
	2.bios中设置优先加载光驱
	3.进入安装界面,选择troubleshooting
	4.进入后,选择第二个rescue a centos system,按enter
	5.进入救援模式,输入1.然后回车
	6.按回车,获得shell
	7.输入命令
		获取到root权限
			bash-2.4# chroot /mnt/sysimage
		 修复mbr引导
			grub2-install /dev/sda
		退出
			exit
		重启
			reboot

systemd管理服务

优势
	1.最新系统都采用systemd管理(RedHat7,CentOS7,Ubuntu15...)
	2.CentOS7 支持开机并行启动服务,显著提高开机启动效率
	3.CentOS7关机只关闭正在运行的服务,而CentOS6,全部都关闭一次。
	4.CentOS7服务的启动与停止不在使用脚本进行管理,也就是/etc/init.d下不在有脚本
	5.CentOS7使用systemd解决原有模式缺陷,比如原有service不会关闭程序产生的子进程。
	#systemd相关的配置文件
		/usr/lib/systemd/system #类似C6系统的启动脚本目录/etc/init.d/
		/etc/systemd/system/ #类似C6系统的/etc/rc.d/rcN.d/
		 /etc/systemd/system/multi-user.target.wants/
systemctl相关命令
		#启动服务
			systemctl start 服务名
		#停止服务
			systemctl stop 服务名
		#重启服务
			systemctl restart 服务名
		#重新加载配置文件,不重启服务
			systemctl reload 服务名
		#查看服务的运行状态
			systemctl status 服务名
		#判断服务是否在运行
			systemctl is-active 服务名
		#禁止服务运行
			systemctl mask 服务名
		#取消禁止服务运行
			systemctl unmask 服务名
		#开机自启
			systemctl enable 服务名
		#禁止开机自启
			systemctl disable 服务名
		#查看系统中开机自启和禁止、静态服务
			systemctl list-unit-files
		#查看服务是否允许开机自启
			systemctl is-enabled 服务名
		#重新加载启动脚本
			systemctl daemon-reload
posted @ 2021-08-08 12:00  手可摘星辰1314  阅读(190)  评论(0)    收藏  举报