一.系统启动流程简介
BIOS
BIOS是英文"Basic Input Output System"的缩略词,直译过来后中文名称就是"基本输入输出系统"。它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。
MBR
MBR(Master Boot Record),主引导记录,MBR存储于磁盘的头部,大小为512bytes,其中,446bytes用于存储BootLoader程序,64bytes用于存储分区表信息,最后2bytes用于MBR的有效性检查。
Kernel
Kernel,内核,Kernel是Linux系统最主要的程序。
GRUB
GRUB(Grand Unified Bootloader),多系统启动程序。
二.MBR主导分区损坏
hostnamectl##查看系统版本
fdisk -l##boot引导程序所在分区
模拟破坏引导程序
dd if=/dev/zero of=/dev/vda bs=446 count=1
系统启动失败
根据虚拟机版本添加光驱(如7.0的系统光驱为7.0版本的镜像)
选择从光盘启动
进入挽救模式
chroot /mnt/sysimage ##进入shell
安装主导分区的程序 grub2-install /dev/vda
然后从硬盘启动,开机即可。
三.GRUB引导文件丢失
模拟grub.cfg丢失
boot分区的引导文件 /boot/grub2/grub.cfg
引导文件指定了boot分区的位置;加载内核;启动系统初始化进程
开机后出现如图画面
执行图中命令即可恢复
2.若不小心删除,开机后可通过命令恢复
grub2-mkconfig > /boot/grub2/grub.cfg
四.内核引导软件损坏 vmlinuz
模拟内核文件被误删
rm -fr vmlinuz-3.10.0-123.el7.x86_64
开机无法正常启动
利用镜像进入挽救模式
chroot /mnt/sysimage 打开shell
挂载光驱 mount /dev/sr0 /mnt
mkdir /kernel
cp /mnt/Packages/kernel-3.10.0-123.el7.x86_64.rpm /kernel
rpm2cpio kernel-3.10.0-123.el7.x86_64.rpm | cpio -id
cp ./boot/vmlinuz-3.10.0-123.el7.x86_64 /boot
从硬盘启动即可恢复完成
五.img文件损坏
损坏img文件无法正常开机
chroot /mnt/sysimage
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
即可退出完成
或虚拟机未重启时可通过命令自动创建
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) ##$(uname -r)表示内核版本,该命令在整体命令之前先执行
六.systemd初始化
systemctl set-default shutdown.target ##将关机的优先级调高,开机自动停止
开机不能自启
重启时按上下键,停止系统引导
开机时按e,在内核引导时设置图形化界面开启 ,在linux16那行最后加入 5,ctrl+x启动成功
正常开启后,修改优先级,即可修复
systemctl set-default graphical.target
六.root用户密码修改
1.重启时按上下键,停止系统引导
2.按e,在内核引导时找到指定行linux16,从最后往前删除至ro,加入rw rd.break
ctrl + x 启动进入系统引导
chroot /sysroot/
echo 2018www | passwd --stdin root ##将root用户密码设置为2018www
touch /.autorelabe1 让selinux重新初始化,让他重新识别新的root密码
即可更改root密码