导图

 

 

 

一.引导过程

1.开机自检BIOS

服务器主机开机以后,将根据主板 BIOS 中的设置对 CPU、内存、显卡、键盘等设备进行初步检测,检测成功后根据预设的启动顺序移 交系统控制权,大多时候会移交给本机硬盘。 

总结:检查出能引导系统的设备

tops:

硬件启动POST:Power-On-Self-Test,加电自检,是BIOS功能的一个主要部分。负责完成对CPU、主板、内存、硬盘子系统、显示子系统、串并行接口、键盘等硬件情况的检测

主板的ROM:BIOS(Basic Input and Output System),保存着有关计算机系统最重要的基本输入输出程序,系统信息设置、开机加电自检程序和系统启动自举程序等

2.MBR引导

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

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

3.GRUB菜单 

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

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

4.加载Linux内核kernel

Linux内核是一个预先编译好的特殊二进制文件,介于各自硬件资源与系统程序之间,复制资源分配与调度,内核接过系统控制权以后,将完全掌控整个Linux操作系统的运行过程。
(CentOS 7系统中,默认的内核文件位于“/boot/vmlinuz-3.10.0-514.e17.x86_64”)

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

5.init进程初始化

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

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

init进程:

由Linux内核加载运行/sbin/init程序;
init进程是系统中第一个进程是所有进程的父进程
init进程的PID=1.

SysVinit(centos 6及以前的init)  依赖于串行执行Shell 脚本启动服务,导致效率低下,系统启动速度较慢 ,需要排队;

systemd (centos 7)能够将更多的服务进程并行启动,并且具有提供按需启动服务的能力,使得启动更少进程,从而提高系统启动速度。

二.服务

1.systemd服务

systemd的作用:

负责在系统启动或运行时,激活系统资源,服务器进程和其它进程

 systemd新特性:

  • 系统引导时实现服务并行启动

  • 按需启动守护进程

  • 自动化的服务依赖关系管理

  • 同时采用socket式与D-Bus总线式激活服务

  • socket与服务程序分离

  • 向后兼容sysv init脚本

  • 使用systemctl 命令管理,systemctl命令固定不变,不可扩展,非由systemd启动的服务,

  • systemctl无法与之通信和控制

  • 系统状态快照

systemd核心概念:unit

unit表示不同类型的systemd对象,通过配置文件进行标识和配置;文件中主要包含了系统服务、监听、socket、保存的系统快照以及其它与init相关的信息

在systemd中不同类型的systemd对象被统一称为单元,是让系统知道该如何进行操作和管理资源的主要对象,所以systemd有许多单元类型。
systemd单元文件最初默认存放在/lib/systemd/system目录中,每当安装新的软件都会自动在这个目录中添加一个配置文件。
systemctl 命令用于管理各种类型的systemd单元,可以使用“systemctl -t help”命令来查询systemd支持的单元类型。

单元类型:

单元类型 扩展名 说明
Service . service 描述一个系统服务
Socket .socket 描述一个进程间通信的套接字
Device .device 描述一个内核识别的设备文件
Mount .mount 描述一个文件系统的挂载点
utomount .automount 描述一个文件系统的自动挂载点
Swap .swap 描述一个内存交换设备或交换文件
Path .path 描述一个文件系统中文件或目录
Timer .timer 描述一个定时器(用于实现类似cron的调度任务)
Snapshot .snapshot 用于保存一个systemd的状态
Scope .scope 使用systemd的总线接口以编程的方式创建外部进程
Slice .slice 描述居于Cgroup的一-组通过层次组织的管理系统进程
Target .target 描述一组systemd的单元

1.1修复mbr分区

MBR位于第一块硬盘(/dev/sda)的第一个物理扇区处,总共512字节

1.1.1故障原因:
  • 病毒、木马等造成的破坏
  • 不正确的分区操作、磁盘读写误操作
1.1.2故障现象:
  • 找不到引导程序,启动中断
  • 无法加载操作系统,开机后黑屏

1.1.3解决思路:

应提前做好备份文件

  • 准备添加另一块硬盘作为mbr备份;
  • 以安装光盘引导进入急救模式;
  • 从备份文件中恢复。
1.1.4模拟修复mbr分区

第一步:添加新硬盘

 

 

第二步:新硬盘格式化,并挂载

第三步:备份mbr,模拟破坏mbr

第四步:重启进入单用户模式(急救模式)

1.troubleshooting

 

 

2.rescue a Centos system

 

 

3. 选择序号 1 进入shell

 

 

4.创建目录并挂载—-恢复备份—-保存退出>>重启

 


 

1.2修复grub分区 

1.2.1故障原因

MBR中的GRUB引导程序(1-446字节)遭到破坏
grub.cfg文件丢失,引导配置有误,文件位置/boot/grub2/grup.cfg

1.2.2故障现象

系统引导停滞,显示grub >提示符

1.2.3解决思路
  • 尝试手动输入引导命令修复(不推荐)
  • 进入急救模式,重写或者从备份中恢复grub.cfg
  • 急救模式向MBR扇区中重建grub程序
1.2.4模拟修复GRUB引导故障

 

1.3修改密码

1.3.1故障原因

• 遗忘root用户密码

1.3.2故障现象

• 无法进行需要root权限的管理操作
• 若没有其他可以账号,将无法登录系统

1.3.3解决思路

• 进入急救模式,重设密码

#1
启动时任意键暂停启动 按e键进入编辑模式 将光标移动linux 开始的行,添加内核参数 rd.
break 按ctrl-x启动 mount –o remount,rw /sysroot chroot /sysroot passwd root #如果SELinux是启用的,才需要执行下面操作,如没有启动,不需要执行 touch /.autorelabel exit reboot


#2

启动时任意键暂停启动
按e键进入编辑模式
将光标移动linux 开始的行,改为 rw init=/sysroot/bin/sh
按ctrl-x启动
chroot /sysroot
passwd root
#如果SELinux是启用的,才需要执行下面操作,如查没有启动,不需要执行
touch /.autorelabel
exit
reboot

 

 

1.3.4模拟重设密码

 

进入急救模式

 

 

 

 进入shell

 

进入根环境—–更改密码—–保存退出—–重启

 


 

1.4设置运行级别

 运行级别:

级别 作用
0 关机
1 单用户模式(root自动登录), single, 维护模式
2

多用户模式,启动网络功能,但不会启动NFS;维护模式

3 多用户模式,正常模式;文本界面
4 预留级别;可同3级别
5 多用户模式,正常模式;图形界面
6 重启

 

1.5chkconfig

chkconfig 命令用于检查,设置系统的各种服务

chkconfig工具:

格式:

chkconfig –list [服务名称]

chkconfig –add 服务名称

chkconfig –level 级别列表服务名on/off

chkconfig –add httpd

chkconfig –level 35 httpd on

#开启服务
chkconfig telnet on   //开启 Telnet 服务
chkconfig --list      //列出 chkconfig 所知道的所有的服务的情况

#关闭服务
chkconfig telnet off  // 关闭 Telnet 服务
chkconfig --list      // 列出 chkconfig 所知道的所有的服务的情况

 

三.总结:

原文地址:http://www.cnblogs.com/suoluo212/p/16770042.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性