unit11:系统恢复: 系统引导过程概述: 图11.0 启动第一步--加载bois 打开电源之后,计算机首先会加载bios信息。bios中包含CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、pnp特性等。在读取完bios中的信息之后,计算机就会知道应该去读取哪个硬件设备了 启动第二步--读取MBR 磁盘上第0磁道第一个扇区被称为MBR,也就是MASTER Boot Record,即主引导记录,他的大小是446个字节,里面存放了预启动信息、分区表信息等 1)当主引导记录被破坏时: dd if=/dev/zero of=/dev/vda bs=446count=1 ##破坏磁盘引导文件 reboot ##重启虚拟机 virt-manager
设置AddHardware 选择BootOptions 将光驱调到第一个 Apply
chroot /mnt/sysimage ##将磁盘上的根文件系统以只读的方式挂载到sysimage上 gurb2-install /dev/vda vim /etc/sysconfig/selinux ##设置selinux=disabled,重启时速度会快,不用加载安全上下文 exit exit
设置硬盘进入系统,重新打开desktop,打开成功
2)当开机引导系统分区文件被破坏时: rm -fr /boot/grub2/grub.cfg ##删除开机引导系统分区文件 reboot ##重启 grub>set root='hd0,msdos1' linux16/vmlinuz-3.10.0-327.el7.x86_64 root=/dev/vda1 initrd16 /initramfs-3.10.0-327.el7.x86_64.img boot
grub2-mkconfig >/boot/grub2/grub.cfg ##重新找回文件 reboot ##重启恢复正常 设置硬盘进入系统,重新打开desktop,打开成功 启动第三步--BootLoader Boot Loader就是在操作系统内核运行之前运行的一小段程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核做好一切准备。 系统读取内存中的grub配置信息,并依照此配置信息来启动不同的操作系统。 启动第四步--加载内核文件(/boot目录下) 根据grub设定的内核映像所在路径,系统读取内存映像,并进行解压操作。 系统将解压后的内核放置在内存之中,并且调用初始化函数初始化各种设备,完成linux核心环境的建立。此时,linux内核已经建立起来了,基于linux的程序应该可以正常运行了。 3)当内核文件被删除时: rm -fr/boot/vmlinuz-3.10.0-327.el7.x86_64 ##删除内核文件 reboot ##无法重启
virt-manager ##设置内核文件为7.0,用cdrom进入系统
chroot /mnt/sysimage mount /dev/cdrom /mnt/ cp/mnt/Packages/kernel-3.10.0-123.e17.x86_64.rpm /root/(任意目录) ##复制kernel安装包到/root下 cd /root/ ls rpm2cpiokernel-3.10.0-123.e17.x86_64.rpm |cpio -id ##将安装包解压成目录 ls cd boot/ ##切换到解压后/root下的boot里 ls cp vmlinuz-3.10.0-327.el7.x86_64/boot/ ##将内核文件重新复制到/boot/中 exit exit
设置硬盘进入系统,重新打开desktop,打开成功
4)删除启动初始化程序文件: rm -fr/boot/initramfs-3.10.0-123.el7.x86_64 ##删除启动初始化程序文件 reboot
virt-manager ##设置内核文件为7.0版用cdrom进入系统
chroot /mnt/sysimage mkinitrd /boot/initramfs-$(uname -r).img$(uname -r) exit exit 设置硬盘进入系统,重新打开desktop,打开成功
启动第五步--运行init进程 ,永远是第一个进程 init进程(/sbin/init程序)是所有进程的起点,没有这个进程系统中任何进程都不会启动。 5)删除systemd初始化进程中的某个服务 cd default.target ls -l default.target rm -fr default.target ##删除systemd初始化进程中的某个服务 ln -s/usr/lib/systemd/system/poweroff.target /etc/systemd/system/default.target ##建立软链接 reboot virt-manager ##打开虚拟机单击e进入编辑模式
chroot /sysroot ls -l /etc/systemd/system/default.target rm -fr/etc/systemd/system/default.target ##删除初始化进程 ln -s /usr/lib/systemd/system/graphical.target/etc/systemd/system/default.target ##重新建立正确的软链接 exit exit ##退出后自动登陆
6) 忘记密码 开启虚拟机进入编辑模式 chroot /sysroot ##改变根目录 passwd ##更改新密码 touch /.autorelabel ##为了selinux生效 exit exit