unit2.11系统恢复
####################unit2.11################################
系统恢复
¥¥¥¥¥¥一,系统引导过程概述
通电
启动 init 程序,进入初始化阶段
bios 初始化
grub2 磁盘引导阶段
grub2 文件引导阶段
指定 boot 所在分区
启动内核,只读挂载 / 设备
启动 systemd 初始化进程
读取 /etc/systemd/中的文件
启动程序
启动登陆环境
¥¥¥¥¥¥二,bios 初始化
1,基本输入 / 输出系统 ( BIOS ) 是内置于标准 x86/x86-64硬件的固件接口 , 将硬件置于已知状态并准备好系统以加载操作系统
2, 出现什么情况 ?
– 检测并初始化硬件
– 确定从中引导的设备
3,可能出现了什么错误 ?
– 错误或异常 BIOS 设置
– 错误引导设备顺序
4,可以如何中断或影响 ?)阶段2 grub文件引导阶段 (用硬盘)
找到/boot分区
读取/boot/grub2/grub.cfg
文件丢失,grub2-mkconfig >/boot/grub2/grub.cfg
– 按特定于供应商的键
– 使用特定于供应商的配置实用程序
– 通常 , <F12> 可以执行一次引导顺序覆盖
¥¥¥¥¥¥三,grub 磁盘引导阶段
• MBR
– mbr 的作用是为了记录 /boot 目录所在分区位置
– 磁盘的 0 磁道 1 扇区的前 446 字节
– dd if=/dev/zero of=/dev/xda bs=446 count=1
_grub2-install /dev/vda
****具体操作:
1)阶段1 mbr(主引导记录)主引导记录在硬盘上的0磁道,一扇区,446个字节
*)dd if=/dev/zero of=/dev/vda bs=446 count=1 可以清空mbr
(如图一)
*)进入到挽救模式,(如图三)
*)执行chroot /mnt/sysimage切换到真实/环境,(用光盘)
并执行grub2-install /dev/vda
并更该selinux的安全上下文的状态为disabled
(如图四,二)
¥¥¥¥¥¥四,grub 文件引导阶段
• /boot/grub2/grub.cfg
– 指定 /boot 分区位置
– 加载内核
– 启动系统初始化进程
– grub2-mkconfig
*****具体操作:(rm -fr /boot/grub2/grub.cfg)
(如图五)
)阶段2 grub文件引导阶段 (用硬盘)
找到/boot分区
读取/boot/grub2/grub.cfg
(如图六)手动编写命令进行引导
及时导入文件:grub2-mkconfig >/boot/grub2/grub.cfg
(如图七)
¥¥¥¥¥¥五,内核引导阶段
1.检测硬件设备
2,设备驱动初始化
3,将 / 只读挂在
4,载入初始进程 systemd
5,内核文件丢失请重新安装内核
rpm -ivh kernel-xxxxx.rpm --force
***具体操作:
如图八(rm -fr /boot/vmlinuz-3.10.0-123.el7.x86_64)
*)进入到恢复模式,执行如图操作,重新安装内核
先将/dev/cdrom 挂载到/mnt/;
再将/mnt/Packages/kernel-3.10.0-123.el7.x86_64.rpm复制到已有的任意目录中
然后用rpm2cpio 进行刷新,生成boot(此boot在当前的目录里,不是根下的)
最后,将当前目录中boot/vmlinuz-3.10.0-123.el7.x86——64 复制到/boot/;
再重启。
(如图九)
******补:
1)initramfs-`uname -r`.img丢失用:
mkinitrd initramfs-`uname -r`.img `uname -r`
(如图十)
恢复(用光盘):chroot /mnt/sysimage/
mkinitrd initramfs-`uname -r`.img `uname -r`
(如图十一)
重新启动(用硬盘),会自动连续启动两次。
2)改密码
忘记密码
进入修改密码:(如图十五)
执行chroot /sysroot/
然后修改密码;
并且建立/.autorelabel
(如图十六)
¥¥¥¥¥六,systemd 初始化
1,开启 selinux 和 systemd-tools
2,加载内核参数
3,加载系统时钟,键盘,主机名称
4,读写挂载 / 文件系统
5,** raid , lvm 设备
6,**系统配额
7,启动 multi-user.target.wants 中的所有服务脚本
8,启用虚拟控台
9,启动图形
(如图十二)
删除/etc/systemd/system/default.target
并将/usr/lib/systemd/system/poweroff.target 与/etc/systemd/system/default.target 进行软链接
*)进入恢复环境(如图十三)
然后执行:chroot /sysroot/
ls -l查看/etc/systemd/system/default.target
##就相当于systemctl enable poweroff
然后删除与poweroff软链接的default.target并将图形/usr/lib/systemd/system/graphical.target 与default.target进行软链接
(如图十四)
¥¥¥¥¥七,启动级别
1,runlever0.target -> poweroff.target
2,runlever1.target -> rescue.target
3,runlever2.target -> multi-user.target
4,runlever3.target -> multi-user.target
5,runlever4.target -> multi-user.target
6,runlever5.target -> grapical.target
7,runlever6.target -> reboot.target
¥¥¥¥¥八,设定启动级别
• systemctl set-default + 启动级别
• /etc/systemd/system/default.target