目录
了解系统的启动流程(故障修复)
开机以后按一下电源按钮加电,加电以后系统就启动了,加电以后在我们操作系统中会有一个最基本的系统会启动(BIOS)
基本输入输出系统(basic input output system---BIOS),BIOS芯片决定了整个操作系统启动的顺序
上图中,打开电源时进入固件就是进入BIOS,再开启会默认进BIOS
BIOS界面中的Boot菜单决定了操作系统开机以后它的引导顺序。
BIOS-> 硬盘 -> 分区表 -> 主引导分区/dev/sda1 找到 引导菜单( GRUB)开始工作
GRUB引导菜单 负责引导进入系统
0.97版本
按e进入编辑模式
root (hd0,0) 指定根分区为第一个硬盘的第一个分区(hd就是harddisk硬盘,0代表第一个,第二个0表示第一个分区)
kernel /vmlinuzxxxxx ro root=/dev/mapper/xxxxxx 添加数字1(kernel内核加载 /vmlinuz内核文件 ro表示只读 root=将根分区还给真正的逻辑卷)
initrd /initxxxxx.img(加载命令 /初始化镜像盘img (加载硬件驱动的))
实验1、单用户破密码
在没进入系统之前,破解root密码
光标移到第二行:
按一下e进入编辑模式,在末尾输入single进入单用户模式(或者输入1也可以),敲回车
回车后按一下b
单用户就是单独一个用户
密码不用输就可以进系统了!
拓展:kali破解系统密码
kali系统这个grub菜单已经升级到2.02版本了,刚刚的centos还是0.97版本,而且kali的内核也变了,所以破解的方法不太一样
演示:
光标移到第二行:
按下e
要改两处地方:(这两个地方都是一样的):ro改成rw,末尾加init=/bin/bash
按Ctrl+X保存退出
到下面这个界面再按ctrl+x
点击重置,不是点击重新启动客户机
总结:单用户破密码过程
centos:
1、CentOS进入GRUB引导菜单
2、选择第二行按e编辑
3、回车,按b引导进入系统
kali系统破解root密码:
1、选择高级选项按e编辑
2、修改文件内容(要改2处,两个位置)
按ctrl+x进行保存
之后再选择高级模式按ctrl+x进入单用户模式修改root密码
top命令查看后台进程状态
-> 启动进程/sbin/init 初始化进程
特点:pid(进程号)为1 是第一个启动的进程
init的主配置文件:/etc/inittab (运行级别1 2 3 4 5 6)
init 0 关机
init 1 单用户模式(只有root用户,做系统维护用的)
init 2 多用户无网络
init 3 字符模式
(全功能多用户模式,所有linux命令都能做,就是没图形功能)因为服务器去运行的时候一般都不要图形,因为图形最耗费CPU和内存资源,所以一个服务器想要稳定工作,必须工作在这个模式
init 4 未启用(忽略)
init 5 图形模式
init 6 重启
唯一一个有效行:id:5:initdefault:(5级别表示图形化,initdefault表示默认级别)每次开机进入的是图形化界面
/etc/rcX.d 目录 保存了所有进程启动脚本的链接(X表示级别目录)
K开头 kill 表示该进程在该级别启动时候默认不启动
S开头 start 表示该进程默认启动
chkconfig --list 列出所有开机以后启动的进程名称
chkconfig --level 2345 bluetooth on|off 设定该服务在2345级别默认的启动状态
如果把id:5:initdefault:改为id:9:initdefault:(不存在9),所以开机的时候会一直转圈
先加电找BIOS,BIOS找硬盘,硬盘找初始化分区表,然后开始找GRUB菜单,GRUB菜单把根还给逻辑卷之后会找第一个启动进程init进程就找inittab配置文件,配置文件没有9,就会一直卡在那里转圈
解决方法:
回车后按一下b
进去在改回来就行了
chkconfig --list 列出所有开机以后启动的进程名称
chkconfig --level 2345 服务名称 on|off 设定该服务在2345级别默认的启动状态
GRUB引导菜单加密
为grub引导菜单加密过程
vim /boot/grub/grub.conf 配置文件
在hiddenmenu和title之间写:
password --encrypt 加密的密文
加密的密文可以用 #grub-crpyt 命令生成
密码123
确认123
总结:
为grub引导菜单加密过程
vim /boot/grub/grub.conf 配置文件
title 上输入
password --encrypt 加密的密文
#grub-crpyt 命令生成密文
密码123
确认123
重启系统验证是否加密成功
练习:
1、修改/etc/inittab文件中的默认值,为6 重启系统进行修复
2、将系统中一个名为NetworkManager的服务 进行永久关闭使其开机无法启动
3、为grub引导菜单加密重启后验证。
总结系统的启动流程:
先加电找BIOS,BIOS找硬盘,硬盘找初始化分区表,然后开始找GRUB菜单,GRUB菜单把根还给逻辑卷之后会找第一个启动进程init进程就找inittab配置文件
救援模式 (相当于winpe系统)相当于光盘中的微型
进入救援模式 删除grub引导菜单密码 以及root密码
1、使用已经挂载的逻辑卷 用来备份分区表
mount /dev/mapper/vg_1901-lv_1901 /mnt/1901lvm
2、备份分区表到逻辑卷
dd if=/dev/sda of=/mnt/1901lvm/mbr.bak bs=512 count=1
3、破坏sda的分区表
dd if=/dev/zero of=/dev/sda bs=512 count=1
4、重启后进入救援模式修复,使得系统可以重新进入
查看卷组名称并激活
vgscan 查看名称
vgchange -a y vg_1901 激活卷组中所有逻辑卷
mkdir /mnt/1901lvm
mount /dev/mapper/vg_1901-lv_1901 /mnt/1901lvm
dd if=/mnt/1901lvm/mbr.bak of=/dev/sda
reboot 重启验证
解压缩openssh.tar.gz
./configure
make
make install
桥接后ip地址获取之后告诉我ip