unit11.系统恢复技术.
系统引导过程概述 通电-bios初始化-grub2磁盘引导阶段-grub2文件引导阶段-指定boot所在分区-启动内核,只读挂在 / 设备-启动init程序进入初始化阶段-启动systemd初始化进程-读取/etc/systemd/中的文件-启动程序-启动登陆环境 (1)bios初始化 基本输入 / 输出系统 ( BIOS ) 是内置于标准 x86/x86-64硬件的固件接口 , 将硬件置于已知状态并准备好系统以加载操作系统 • 出现什么情况 ? – 检测并初始化硬件 – 确定从中引导的设备 • 可能出现了什么错误 ? – 错误或异常BIOS 设置 – 错误引导设备顺序 • 可以如何中断或影响 ? – 按特定于供应商的键 – 使用特定于供应商的配置实用程序 – 通常 ,<F12> 可以执行一次引导顺序覆盖 (2)grub 磁盘引导阶段 • MBR – mbr 的作用是为了记录 /boot 目录所在分区位置 – 磁盘的 0 磁道 1 扇区的前 446 字节 – dd if=/dev/zero of=/dev/xdabs=446 count=1 - 用镜像引导系统进入排错模式,先chroot /mnt/sysimage/ – grub2-install /dev/vda (3)grub 文件引导阶段 • /boot/grub2/grub.cfg – 指定/boot 分区位置 – 加载内核 – 启动系统初始化进程 – grub2-mkconfig [root@localhost ~]# cd /boot/grub2/ [root@localhost grub2]# ls device.map fonts grub.cfg grubenv i386-pc locale themes [root@localhost grub2]# rm -rf grub.cfg [root@localhost grub2]# ls device.map fonts grubenv i386-pc locale themes [root@localhost grub2]# grub2-mkconfig > /boot/grub2/grub.cfg Generating grub configuration file ... Found linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img Found linux image:/boot/vmlinuz-0-rescue-4360b9e5bcf24cc98c41c3460887444a Found initrd image:/boot/initramfs-0-rescue-4360b9e5bcf24cc98c41c3460887444a.img done [root@localhost grub2]# ls device.map fonts grub.cfg grubenv i386-pc locale themes (4)内核引导阶段 检测硬件设备 设备驱动初始化 将 / 只读挂载 载入初始进程systemd 内核文件丢失请重新安装内核 [root@localhost grub2]# cd [root@localhost ~]# cd /boot [root@localhost boot]# ls config-3.10.0-327.el7.x86_64 grub2 initramfs-0-rescue-4360b9e5bcf24cc98c41c3460887444a.img initramfs-3.10.0-327.el7.x86_64.img initramfs-3.10.0-327.el7.x86_64kdump.img initrd-plymouth.img symvers-3.10.0-327.el7.x86_64.gz System.map-3.10.0-327.el7.x86_64 vmlinuz-0-rescue-4360b9e5bcf24cc98c41c3460887444a vmlinuz-3.10.0-327.el7.x86_64 其中initramfs-3.10.0-327.el7.x86_64.img和vmlinuz-3.10.0-327.el7.x86_64为内核引导文件 以上文件丢失,可以先进入排错模式,找到相应的文件cp到原位置。 (vmlinuz-3.10.0-327.el7.x86_64)排错模式-df查看镜像是否挂载在/dev/sr0-chroot /mnt/sysimage-mount /dev/sr0 /mnt-cd /mnt/Packages-建一个目录mkdir /westos-cp /mnt/Packages/kernel-3.10.0-327.el7.x86_64.rpm/westos-cd /westos-rpm2cpio kernel-3.10.0-327.el7.x86_64.rpm | cpio -id - cdboot/ ls -cp vmlinuz-3.10.0-327.el7.x86_64 /boot/ (initramfs-3.10.0-327.el7.x86_64.img)排错模式-df查看镜像是否挂载在/dev/sr0-chroot /mnt/sysimage-mkinitrd /boot/initramfs-$(uname-r).img $(uname -r) (5)systemd 初始化 开启selinux 和 systemd-tools 加载内核参数 加载系统时钟,键盘,主机名称 读写挂载 / 文件系统 激活 raid, lvm 设备 激活系统配额 启动multi-user.target.wants 中的所有服务脚本 启用虚拟控台 启动图形 [root@localhost boot]# cd /etc/systemd/system [root@localhost system]# ls basic.target.wants dbus-org.freedesktop.NetworkManager.service dbus-org.freedesktop.nm-dispatcher.service default.target default.target.wants getty.target.wants multi-user.target.wants remote-fs.target.wants sockets.target.wants system-update.target.wants [root@localhost system]# cd multi-user.target.wants/ [root@localhost multi-user.target.wants]# ls auditd.service NetworkManager.service rsyslog.service crond.service nfs-client.target sshd.service httpd.service postfix.service tuned.service irqbalance.service remote-fs.target kdump.service rhsmcertd.service [root@localhost system]# rm -fr /etc/systemd/system/default.target [root@localhost system]# ln -s /lib/systemd/system/poweroff.target/etc/systemd/system/default.target 会出现开机又关机的情况 在开机初始选项阶段按e将ro####改为rw rd.break-chroot /sysroot/-rm -rf /etc/systemd/system/default.target-ln -s/lib/systemd/system/multi-user.target /etc/systemd/system/default.target (6)启动级别 runlever0.target -> poweroff.target runlever1.target -> rescue.target runlever2.target -> multi-user.target runlever3.target -> multi-user.target runlever4.target -> multi-user.target runlever5.target -> grapical.target runlever6.target -> reboot.target (7)设定启动级别 • systemctl set-default + 启动级别 • /etc/systemd/system/default.target (8)忘记root用户密码,修改root用户密码 在开机初始选项阶段按e将ro####改为rw rd.break->chroot /sysroot/->passwd->输入并且确认密码->touch /.autorelabel 退出重启