文章目录
引导过程
过程
1)开机自检
为了通电测试下硬件有无问题,是否就绪
2)MBR引导
加载系统启动程序列表,运行放在MBR扇区里的启动GRUB引导程序
3)GRUB菜单
可以按照用户的需求来启动自定的程序,包含默认启动的程序。GRUB引导程序通过读取GRUB配置文件/boot/grub2/grub.cfg,来获取内核和镜像文件系统的设置和路径为止
4)加载Linux内核
把内核、镜像加载到内存中准备启动使用
5)init进程初始化
加载系统默认的进程程序,例如驱动,加载到内存中准备供给用户使用
系统初始化进程
init进程
由Linux内核加载运行/sbin/init程序
init进程是系统中第一个进程
init进程的PID(进程标记)号永远为1
systemd
systemd是Linux操作系统的一种init软件
CentOS7中采用全新的systemd启动方式,取代传统的sysvinit
CentOS7中运行的第一个init进程是/lib/systemd/systemd
系统服务控制命令:
systemctl 控制类型 服务名称
start:启动
stop:停止
restart:重启
reload:重新加载
status:查看服务状态
list:查看
systemctl list-units --type=service
查看当前系统中所有已激活的系统服务
systemctl linst-unit-files | grep enabled
查看所有开机自启动的服务器
路径
/lib/systemd/systemd/.service为结尾的文件,systemd能够识别并管理这些以.service为结尾的程序
单元类型
.service 描述一个系统服务
.socket 描述一个进程间通信的套接字
.device 描述一个内核识别的设备文件
.mount 描述一个文件系统的挂载点
.automount 描述一个文件系统的自动挂载点
.swap 描述一个内存交换设备或交换文件
.path 描述一个文件系统中文件或目录
.timer 描述一个定时器
.snapshot 用于保存一个systemd的状态
.scope 使用systemd的总线接口以编程方式创建外部进程
.slice 描述居于Cgroup的一组通过层次组织的管理系统进程
.target 描述一组systemd的单元
运行级别所对应的systemd目标
0 target 关机状态 命令:init0
3 multi-user.target 字符界面的完整多用户模式,大多数服务器主机运行在此级别
命令:init3
6 reboot.target 重新启动,使用该级别时重启
命令:init 6
排除启动类故障
修复MBR扇区故障
MBR位于第一块硬盘( /dev/sda) 的第一一个物理扇区处,总共512字节
1.备份MBR扇区数据到其它磁盘( /dev/sdb1)
mkdir /backup
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
3.引导界面进入急救模式,从备份文件中恢复MBR扇区数据
先加载好光盘镜像,重启操作系统,
当出现安装向导界面时,选择"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环境,系统将会自动重启
修复GRUB
1.删除GRUB引导文件
/boot/grub/目录下的包是用于启动菜单的背景图片及样式
/boot/grub2/grub.cfg
rm -rf /boot/grub2/grub.cfg
2.进入急救模式,加载光盘镜像,切换到系统根环境
sh-4.2# chroot /mnt/sysimage
3.重新将GRUB引导程序安装到第一块硬盘(/dev/sda)的MRB扇区,如果有多个分区可省略
bash-4.2# grub2-install /dev/sda
4.重新构建GRUB菜单的配置文件
bash-4.2# grub2-mkconfig -o /boot/grub2/grub.cfg
5.退出chroot环境,并重启
bash-4.2# exit
sh-4.2# reboot
忘记root密码
1.进入急救模式,加载系统镜像,切换到系统根环境exit选择troubleshooting然后选择急救模式
sh-4.2# chroot /mnt/sysimage
2.重设root用户密码
忘记root密码
1.进入急救模式,加载系统镜像,切换到系统根环境exit选择troubleshooting然后选择急救模式
sh-4.2# chroot /mnt/sysimage
2.重设root用户密码
bash-4.2# passwd root
END