2-11. 系统恢复技术
##系统恢复技术##
##学习目标
引导过程
恢复 Shell
##系统引导过程概述
通电——>进入初始化阶段——>bios 初始化——>grub2 磁盘引导阶段——>grub2 文件引导阶段——> 指定 boot 所在分区——>启动内核,只读挂载 / 设备启动——>init 程序进入初始化阶段——> 启动 systemd 初始化进程——>读取 /etc/systemd/中的文件——>启动程序——>启动登陆环境
##bios初始化
基本输入 / 输出系统 ( BIOS )是内置于标准 x86/x86-64硬件的固件接口,将硬件置于已知状态并准备好系统以加载操作系统
出现什么情况?
– 检测并初始化硬件
– 确定从中引导的设备
可能出现了什么错误?
– 错误或异常 BIOS 设置
– 错误引导设备顺序
可以如何中断或影响?
– 按特定于供应商的键
– 使用特定于供应商的配置实用程序
– 通常, <F12> 可以执行一次引导顺序覆盖
##grub磁盘引导阶段
MBR
– mbr的作用是为了记录/boot目录所在分区位置
–磁盘的0磁道1扇区的前446字节
– dd if=/dev/zero of=/dev/xda bs=446 count=1 – grub2-install /dev/xda
##grub文件引导阶段
/boot/grub2/grub.cfg
–指定/boot分区位置
–加载内核
–启动系统初始化进程
– grub2-mkconfig
##内核引导阶段
检测硬件设备
设备驱动初始化
将/只读挂载
载入初始进程systemd
内核文件丢失请重新安装内核
##systemd初始化
开启selinux和systemd-tools
加载内核参数
加载系统时钟,键盘,主机名称
读写挂载/文件系统
**raid, lvm设备
**系统配额
启动multi-user.target.wants中的所有服务脚本
启用虚拟控台
启动图形
##启动级别
runlever0.target -> poweroff.target ##关机
runlever1.target -> rescue.target ##单用户模式
runlever2.target -> multi-user.target ##多用户模式,不支持NFS
runlever3.target -> multi-user.target ##完整多元化模式
runlever4.target -> multi-user.target ##未定义使用
runlever5.target -> grapical.target ##带有图形界面的多用户使用
runlever6.target -> reboot.target ##重启
##设定启动级别
systemctl set-default +启动级别
/etc/systemd/system/default.target
##runlevel ##查看启动级别
##init 数字 ##切换运行级别
##系统恢复过程
1.##密码忘记,修改root用户密码
##重启,到grub选项菜单,按’e’进入编辑模式。
2、进入后,找到linux16开头的地方,按“end”键到最后,输入rd.break,按ctrl+x进入;(如上图)
3、进去后输入命令mount,发现根为/sysroot/,没有w权限,只有ro=readonly权限;
4、mount -o remount,rw /sysroot/,重新挂载,之后mount,就有了r,w权限;
5、chroot /sysroot/ 改变根;
(1)先cp一份,然后修改/etc/shadow文件
(2)echo RedHat|passwd –-stdin root 修改root密码为redhat,或者输入passwd,交互修改;
6、touch /.autorelabel 这句是为了使得selinux生效,否则将无法正常启动系统
chroot /sysroot/ passwd root touch /.autorelabel
按两下ctlr+d或输入两次exit退出重启就可以正常登陆了。
7、ctrl+d 退出
8、重启reboot
至此,密码修改完成
2.##grub磁盘引导损坏
##启动失败
##用rhel-server-7.0-x86_64-dvd.iso镜像引导修复
##建立一个cdrom镜像
##镜像放在第一个启动
##选择第三个
##选择第二个
##选择continue
##chroot /mnt/sysimage ##设备数据在/mnt/sysimage
##grub2-install /dev/vda ##安装fgrub2
3.##损坏grub文件引导
##重启
##执行命令:set root='hd0,msdos1'
linux16 /boot/vmlinuz-3.10.0-123.el7.x86_64 ro root=/dev/vda1
initrd16 /boot/initramfs-3.10.0-123.el7.x86_64.img
##进入系统后,在shell输入命令生成缺失的引导文件,系统就修复成功!
grub2-mkconfig > /boot/grub2/grub.cfg
4.内核引导修复
##rm -fr vmlinuz-3.10.0-123.el7.x86_64 ##损坏内核引导
##重启不成功
##用镜像修复
5.内核修复
##rm -fr initramfs-3.10.0-123.el7.x86_64.img ##内核引导损坏
##重启不成功
##用镜像修复
7.系统启动级别文件链接错误
##rm -fr default.target
##ln -s /usr/lib/systemd/system/poweroff.target /etc/systemd/system/default.target ##开机后立刻关机
##启动不成功
##开机按“e”进入编辑模式,完成后按ctrl+x
##重新配置default.target
转载于:https://blog.51cto.com/cuijb/1920966