系统的引导过程以及引导修复

一、如何从光盘启动(windows vmware中)

  • 1)在出现vmware logo时,按esc键进入系统设备选择列表选择cd-rom从光盘启动进入
    在这里插入图片描述
    在这里插入图片描述

  • 2)在启动时点绿色开启按键,选择打开电源时输入固件,进入BIOS,选择boot,shift+继续可以选择cd-rom进入, 继续按f10进入(快捷键不可用时,直接按【esc】,进入保存即可)(此方式为永久方式,每次都从光盘启动)
    取消:在启动时点绿色开启按键,选择打开电源时输入固件,进入BIOS,选择boot,重新调整,将进入方式选为hard disk
    在这里插入图片描述
    在这里插入图片描述

  • 3)(LINUX虚拟机)
    超级用户打开虚拟机,点击小灯泡,添加光驱,add hardware,设备,选择cd-rom, type:sata 点击boot options,选择sata cdrom,apply,在启动即从光盘启动

二、磁盘引导

  • mbr=主引导记录=0磁道1扇区446
  • 作用:记录grub2引导文件的位置

三、当mbr数据丢失系统会因为找不到启动分区而停止启动

问题模拟方式:

  • fdisk -l ##查看设备

  • /dev/sda ##设备上有mbr记录
    在这里插入图片描述

  • dd if=/dev/zero of=/dev/vda bs=446 count=1
    dd ##截取命令 if=/dev/zero##汲取模板 of=/dev/vda ##存放数据位置 bs=446 ##数据块大小 count=1 ##截取块个数
    ##从无线0字节截取数据446个字节,放入/vda硬盘中,共截取一块
    在这里插入图片描述

  • 截取完成后无法进行磁盘引导

系统引导程序被破坏,系统无法识别从什么地方读取数据

  • 恢复方式解决方法
    1.关机
    2.从光盘启动
    选择troubleshoting 选择rescue系统挽救模式
    挽救系统挽救模式选项含义:
    1)继续进入挽救模式 2)只读 3)得到shell,不挂载 4)退出在这里插入图片描述
    转换系统从光驱到真实磁盘中
    chroot /mnt/sysimage ##切换到真实系统
    grub2-install /dev/sda ##有*分区所在设备
    exit
    exit
    看到no error 即为成功在这里插入图片描述
  • 重启依旧从光盘启动,更改设置,从磁盘启动,可启动即修复成功

四、grub2文件丢失

  • 文件引导阶段出现问题
  • 系统引导文件位置: /boot/loader/entries/
  • 手动引导实验:
    1)引导文件丢失:rm-fr * ##删除引导文件,引导文件丢失
    / ##根分区所在设备名称:
    /boot ##boot分区所在系统设备
    在这里插入图片描述
    reboot ##无法自动引导
    2)进入grub ##引导文件丢失,无法完成自动引导
  • 1.set root=“hd0,msdos1” ##指定引导分区位置 hd0 ##指定引导分区位置为第一块鹰派 msdos1 ##指引道分区在第一块硬盘第一个引导分区中
  • 2.linux16 /vmlinuz-4.18.0-193.el8.x86_64 ro root=/dev/sda3
    Linux16 /vmlinuz-4.【tab】##内核文件
    ro ##只读挂载 /
    dev/sda3 ##根分区设备
    ##启动内核只读挂载根分区
  • 3.initrd16 /initramfs-4.18.0-193.el8.x86_64.img
    ##启动挂载镜像
    boot(并未真正修复,每次都需此操作)
    在这里插入图片描述
    3)恢复引导文件:
    kernel-install add “内核版本” “根分区镜像”
    uname-r ##内核版本
    4)恢复引导文件报文件缺失
    dnf whatprovides /bls.conf ##查找bls文件
    直接复制 cp /usr/lib/modules/
    /bls.conf /boot/ ##直接复制内核版本
    kernel-install add “内核版本” “根分区镜像”
    在这里插入图片描述
    引导文件恢复成功
    reboot ##查看

五.内核加载

  • 内核文件:cd /boot/

  • 删除内核文件
    在这里插入图片描述

  • 键入光盘引导,挽救模式

chroot /mnt/sysimages/  ##进入真实主机
mount /dev/cdrom /media  ##挂载镜像
cd /media/BaseOS/Packages/
cp kernel-core-4* /mnt/  ##复制内核文件
cd /mnt
rpm2cpio kernel-core* -id ##解压缩
cd lib/
cd modules/
cd 4.【tab】/
cat   /boot/loaders/entries/b* ##此文件中记录了内核文件名称
cp /mnt/lib/modules/4.18.0_193.el8.x86_64 /boot/vmlinuz-4.18.0_193.el8.x86_64
exit
exit  ##两次后系统重启,调整硬盘从硬盘启动

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

六、系统初始化镜像丢失

  • 手动模拟操作
    cd /boot
    rm -rf initramfs-4.18.0-193.el8.x86_64.img ##删除镜像
  • 选择磁盘引导模式进入系统
  • 在挽救模式下,输入mkinitrd --help,根据提示输入mkinitrd /boot/intramfs-4.18.0-193.el.x86_64.img ls /boot/即可挽救成功

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七、系统进入无限重启模式

  • cd /etc/systemd/system
    default.target##系统启动级别链接
    multi-user.target.wants ##系统所有服务的启动脚本链接
    在这里插入图片描述

  • 设定服务开机启动或不启动时,系统会在/etc/systemd/system/multi-user.target.wants/sshd.server
    建立或删除链接
    在这里插入图片描述

  • systemctl set-default reboot.target ##会进入无限重启模式
    在这里插入图片描述

  • 恢复:
    e ##编辑
    第四行加5 ##指定启动级别为5
    CTRL+x 进入系统
    在这里插入图片描述

  • 手动设定启动级别 systemctl set-default graphical.target
    在这里插入图片描述

七、超级用户密码丢失

  • ro ----> rw +rd.break
    rw #从只读挂载设备变为读写设备挂载
    rd.break #在系统内核加载完成后终止系统使用
    在这里插入图片描述
  • 进入单用户模式,当前模式下默认使用root用户登入 chroot /sysroot #转换到真实设备下
  • echo westos | passwd --stbin root ##设置密码
    touch /.autorelabel ##内核级加强防火墙从新初始化,如果更改密码后sdelinux未被重新初始化,会阻止新密码生效

***此操作只在selinux开启时需要

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44632711/article/details/113388219