Linux操作系统引导、排除启动类故障、服务控制及切换运行级别、优化启动过程

目录

一、Linux操作系统引导过程

 1.开机自检

2.MBR引导

3.GRUB设置

4.加载Linux内核

 5.init 进程初始化

二、systemd 单元类型

 三、运行级别对应的systemd目标

 四、排除启动类故障

1.故障原因

 2.故障现象

 3.解决思路

 4.对应的实验

4.1模拟修复MBR扇区故障

 4.2grub引导故障

 4.3遗忘root用户密码

 五、系统控制服务

六、优化启动过程

 1.ntsysv工具

2.systemctl/chkconfig 工具

3.查看系统服务的启动状态

 4.设置系统服务的启动状态


一、Linux操作系统引导过程

 1.开机自检

服务器主机开机以后,根据主板设置对其他设备进行初步检测,检测成果后根据预设的启动顺序移交系统控制权,大多时候会移交给本机硬盘。

总结:检测出第一个能够引导系统的设备,比如硬盘或者光驱

2.MBR引导

当从本机硬盘中启动系统时,首先根据硬盘第一个扇区中MBR(主引导记录)的设置,将系统控制权传递给包含操作系统引导文件的分区;或者直接根据MBR记录中的引导信息调用启动菜单(如GRUB)

总结:运行放在MBR扇区里的启动GRUB引导程序

3.GRUB设置

对于Linux操作系统来说,GRUB(统一启动加载器)是使用最为广泛的多系统引导器程序。系统控制权传递给GRUB以后,将会显示启动菜单给用户选择,并根据所选项(或采用默认值)加载Linux内核文件,然后将系统控制权转交给内核。CentOs 7 采用的是 GRUB2 启动引导器。

总结:GRUB引导程序通过读取GRUB配置文件/boot/grub2/grub.cfg,来获取内核和镜像文件系统的设置和路径位置

4.加载Linux内核

Linux内核是一个预先编译好的特殊二进制文件,介于各种硬件资源与系统程序之间,负责资源分配与调度。内核接过系统控制权以后,将完全掌控整个Linux操作系统的运行过程。

总结:把内核和镜像文件系统加载到内存中

 5.init 进程初始化

为了完成进一步的系统引导过程,Linux内核首先将系统中的“/sbin/init”程序加载到内存中运行(运行中的程序称为进程),init 进程负责完成整个系统的初始化,最后等待用户进行登录。

总结:加载硬件驱动程序,内核把init进程加载到内存中运行

1.开机自检——》检测设备/硬件是否正常

2.MBR引导——》硬盘一块扇区中的核心区域

  • 标识其他程序所在的位置,类似与目录和页码
  • GRUB菜单——》是给用户选择启动何种方式的Linux内核

3.GRUB菜单——》给用户显示菜单,标识选择以什么方式运行Linux内核。

4.加载Linux内核:内核是处于硬件和程序之间,用于管理调节角色(资源管理)

   目的:就是把内核程序/文件加载到内存中

5..inti进程初始化 :通常来说这是第一个启动的进程 /sbin/init
主进程》fork(派生/创建)一些子进程来运行一些开机时需要启动的程序》最后可以正常使用

二、systemd 单元类型

 

 三、运行级别对应的systemd目标

 四、排除启动类故障

修复MBR扇区故障

1.故障原因

  • 病毒、木马等造成的破坏
  • 不正确的分区操作、磁盘读写操作

 2.故障现象

  • 找不到引导程序,启动中断
  • 无法加载操作系统,开机后黑屏

 3.解决思路

  • 应提前做好备份文件
  • 以安装光盘引导进入急救模式
  • 从备份文件中恢复

 4.对应的实验

4.1模拟修复MBR扇区故障
1.备份MBR 扇区数据到其它磁盘(/dev/sdb1) #分盘
mkdir /backup  #建立目录
mkfs.xfs /dev/sdb  #格式化
mount /dev/sdb1 /backup #挂载
dd if=/dev/sda of=/backup/mbr.bak bs=512 count=1  #将备份写入

2.模拟破坏MBR引导扇区
dd if=/dev/zero of=/dev/sda bs=512 count=1   #将zero的写入进去

3.引导界面进入急救模式,从备份文件中恢复MBR 扇区数据先加载好光盘镜像,重启操作系统,
init 6 #重启  
当出现安装向导界面时,选择“Troubleshooting”选项,
再选择“Rescue a CentOS Linux system”选项,进入急救模式
选择“1”选择 Continue并按 Enter 键继续
再次按 Enter 键后将进入带“sh-4.2#”提示符的 Bash Shell 环境

sh-4.2# mkdir /backupdir                        #新建
sh-4.2# mount /dev/sdb1 /backupdir 				#挂载带有备份文件的分区
sh-4.2# dd if=/backupdir/mbr.bak of=/dev/sda	#恢复备份数据
sh-4.2# exit					#执行exit命令退出临时Shell 环境,系统将会自动重启

 4.2grub引导故障
rm -rf /boot/grub2/grub.cfg   #删除grub配置文件
重启在读进度调时按esc,
选择 3.CD-ROM Drive  改用光盘启动,引导进出急救模式

当出现安装向导界面时,选择“Troubleshooting”选项,
再选择“Rescue a CentOS Linux system”选项,进入急救模式
选择“1”选择 Continue并按 Enter 键继续
再次按 Enter 键后将进入带“sh-4.2#”提示符的 Bash Shell 环境

sh-4.2# chroot /mnt/sysimage
bash-4.2# grub2-install /dev/sda #重新将GRUB引导程序安装到第一块硬盘(/dev/sda)的MRB扇区
bash-4.2# grub2-mkconfig -o /boot/grub2/grub.cfg #重新构建GRUB菜单的配置文件
当出现done时  配置文件安装成功
bash-4.2# exit  #退出chroot环境
sh-4.2# reboot  #重启
 4.3遗忘root用户密码

重启esc CD——》Troubleshooting——》Rescue a CentOS Linux system——》1
#进入急救模式,加载系统镜像,切换到系统根环境
sh-4.2# chroot /mnt/sysimage
#重设 root 用户密码
bash-4.1# passwd root
Betype new password :      #再次确认新密码
exit
reboot
输入新密码

 五、系统控制服务

系统服务控制systemctl

systemctl 控制类型 服务名称

控制类型说明
start启动
stop停止
restart重新启动
reload重新加载
status查看服务状态

六、优化启动过程

 1.ntsysv工具

  • 提供一个交互式、可视化窗口
  • 可以在字符终端运行
  • 便于集中管理多个服务
  • 用于控制服务是否开机自启动

2.systemctl/chkconfig 工具

  • 不提供互式、可视化窗口
  • 管理单个服务xiaolv

3.查看系统服务的启动状态

systemctl is-enabled 服务名称

 4.设置系统服务的启动状态

systemctl enable 服务名称         //开启开机自启动

systemctl disable 服务名称        //关闭开机自启动

  • 22
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值