Linux引导过程及引导修复(误删/boot/的文件修复方法)

1.如何调整启动设备

在windows的VM如何从光盘启动

方法一

在这里插入图片描述

  • 在启动列表中选择从光盘启动
    在这里插入图片描述

方法二

  • 打开电源时进入固件
  • 左右键选择Boot
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 此方式每次启动都是从光盘启动
  • 如果需要从硬盘启动仍然需要进入bios重新调整

在Linux中如何从光盘启动

在这里插入图片描述

  • 添加光驱
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 添加光驱完成之后
  • 如何从光驱启动
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2.通电

3.bios初始化

对硬件检测
初始化硬件时钟

4.磁盘引导

mbr=主引导记录=0磁道1扇区446
作用:
记录grub2引导文件的位置
当mbr数据丢失系统会因为找不到启动分区而停止启动

fdisk -l ##查看设备   

启动分区:启动文件所在的分区,分区所在的设备叫做启动设备
*所有在的启动设备上是有引导记录(mbr)的,引导记录安装在哪一个磁盘。
在这里插入图片描述

问题模拟

问题情景模拟方式:
系统磁盘
/dev/sda

dd if=/dev/zero of=/dev/sda bs=446 count=1
##截取零字节数据放到sda硬盘中(相当于用空白板覆盖住)
##清空系统/dev/sda上的mbr数据

of后面的内容是*所有在设备
当系统引导程序被破坏之后系统无法识别从什么位置读取信息
影响:重启之后无法读取磁盘引导
在这里插入图片描述

在这里插入图片描述

恢复方式

恢复方式:
用光盘进入系统挽救模式
chroot  /mnt/sysimage
grub2-install  /dev/sda
##重新安装grub2到系统硬盘上
exit

解决方式;
1.关机;2.从光盘启动:把真实系统(在硬盘中)挂载到/mnt/sysimage中

fdisk -l看*所在的设备是/dev/vda1,在写grub-install时不需要加1
/dev/vda1是启动分区,/dev/vda是启动分区的设备
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
看到这no error表示成功
在这里插入图片描述

5.grub2文件引导

引导文件:开启系统的两行标题
主引导文件:/boot/grub2目录下
子引导文件:/boot/loader/entries/目录下(将主引导文件标题分散开,减少负载)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如果引导文件丢失,如何引导系统找回引导文件

问题模拟

模拟场景模拟:
在子目录中删除引导文件,引导文件丢失
手动引导时必须要知道:启动分区所有的系统设备
1.根分区所在的系统设备
2.boot分区所在的系统设备

根分区所在系统设备:
/dev/sda3
启动分区所在系统设备
/dev/sda1
在这里插入图片描述

子引导文件丢失

模拟问题一:子引导文件丢失
无法完成自动引导,需要手动添写引导信息

rm -fr /boot/loader/entries/xxxxxxx.conf

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

解决方式

指定引导分区

  • 1.指定引导分区的位置为第一块硬盘、第一个硬盘第一个分区中(根下boot分区所在位置)
Set root=’hd0,msdos1’

在这里插入图片描述

  • 2.linux16启动内核镜像,ro表示只读,挂载根分区
Linux16 /vmlinuz-4.18.0-193.el8.x86_64 ro root=/dev/sda3

在这里插入图片描述

  • 3.指定系统初始化镜像
Initrd16 /initramfs-4.18.0-193.el8.x86_64.img

在这里插入图片描述

  • 4.引导完成,启动系统boot+回车
boot

在这里插入图片描述

恢复

uname  -r ##查看内核版本

在这里插入图片描述

恢复时解决报错问题:
解决/bls.conf文件缺失

cp /usr/lib/modules/4.18.0-193.el8.x86_64/bls.conf  /boot/
Kernel-install add 内核版本号 内核镜像
Kernel-install add $(uname -r) /boot/vmlinuz-4.18.0-193.el8.x86_64

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

主引导文件丢失

模拟问题二:主引导文件丢失

rm -fr grub.cfg

解决方式

grub2-mkconfig > /boot/grub2/grub.cfg
在这里插入图片描述

6.加载内核

加载内核作用:
/boot/vmlinuz-$(uname -r)
系统初始化硬件设备
只读挂载在/设备

cd /boot/
ls   ##查看内核文件

在这里插入图片描述

误删内核文件

问题模拟:内核文件删除

rm vmlinuz-4.18.0-193.el8.x86_64
##内核文件删除,系统无法启动

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

解决方式

  • 1.进入挽救模式,选择1,出现命令行
    在这里插入图片描述
    在这里插入图片描述
chroot /mnt/sysimage/

在这里插入图片描述

  • 2.挂载光驱到/media上
mount /dev/cdrom /media/

在这里插入图片描述

  • 3.复制内核安装包到/mnt上
cd /media/BaseOS/Packages/
cp kernel-core-4.18.0-193.el8.x86_64.rpm /mnt/

在这里插入图片描述

  • 4.解压内核安装包
cd /mnt/
ls
rpm2cpio kernel-core-4.18.0-193.el8.x86_64.rpm | cpio -id 
ls

在这里插入图片描述

  • 5.寻找记录内核文件名称的文件,cat查看
cd lib/
ls
cd modules/
ls
cd 4.18.0-193.el8.x86_64/
ls    ##查看到内核名称
cd /boot/loader/entries/
ls
cat /boot/loader/entries/3ad367eb6079476f9f4c1af30bf06390-4.18.0-193.el8.x86_64.conf

在这里插入图片描述

  • 6.将内核复制到/boot的目录中
cp /mnt/lib/modules/4.18.0-193.el8.x86_64/vmlinuz /boot/vmlinuz-4.18.0-193.el8.x86_64 

在这里插入图片描述

  • 7.系统重启
- exit
exit   ##系统重启

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

  • 8.调整系统
    在这里插入图片描述

  • 9.系统恢复
    在这里插入图片描述

7.系统内核初始化镜像

/boot/initramfs-4.18.0-193.el8.x86_64.img
加载系统时钟
加载selinux
加载系统主机信息
加载/etc/fstab文件中磁盘挂载策略
加载磁盘配额
初始化系统程序开启开机启动服务
开启虚拟化控制台
开启图形

加载内核完毕后,会加载内核初始化镜像文件
在这里插入图片描述

问题模拟

rm -fr /boot/initramfs-4.18.0-193.el8.x86_64.img
##删除系统内核初始化镜像文件

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

恢复方式

  • 1.进入挽救模式,输入1,得到一个shell
chroot /mnt/sysimage/

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

  • 2.使用指令生成系统初始化镜像文件
mkinitrd --help ##查看帮助
mkinitrd /boot/initramfs-4.18.0-193.el8.x86_64.img 4.18.0-193.el8.x86_64
##生成内核初始化镜像文件

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

文件生成完毕

  • 3.重启系统
    在这里插入图片描述
    在这里插入图片描述

8.系统启动级别

0   关机
1   单用户
2   无图形网络模式
3   无图形网络模式
4   无图形网络模式
5   有图形网络模式
6   重启
cd  /etc/systemd/system/    ##系统启动脚本都在此目录中
ls   ##查看系统启动级别的脚本连接

在这里插入图片描述

systemctl disable sshd
systemctl enable sshd
##服务开机启动原理:
##当设定服务开机启动或不启动时,系统会在/etc/systemd/system/目录建立或删除连接

在这里插入图片描述

系统启动级别出现问题

systemctl set-default reboot.target   ##会在开机时进入无限开机重启模式

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

恢复方式

  • 1.在此按[e]进入编辑模式
    在这里插入图片描述
    在这里插入图片描述

  • 2.在第四行更改启动级别,手动指定启动级别为5
    在这里插入图片描述

  Ctrl+x

在这里插入图片描述

  • 3.使用命令恢复
systemctl set -default graphical.target

在这里插入图片描述

9.超级用户密码忘记

恢复方式

  • 1.在开机选择界面按进入到引导文件编辑模式
    在这里插入图片描述
  • 2.ro 从只读挂载根设备变为读写挂载根设备 rw
ro ------>rw rd.break
##在系统内核加载完成后,终止系统启动

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

  • 3.重启系统
crtl+x ##启动系统

在这里插入图片描述

  • 4.进入系统单用户模式
  • 当前模式下,默认使用root用户
  • 5.转换为真实系统
chroot /sysroot/

在这里插入图片描述

  • 6.改密码,建立新文件(让系统中内核级加强型火墙selinux重新初始化)
echo lee | passwd --stdin root
touch /.authorelabel
##若更改密码后selinux未被重新初始化,会阻止新密码生效

在这里插入图片描述

  • 7.重启系统
- exit
exit

在这里插入图片描述

  • 8.成功登录系统后便可以重新设定密码
echo westos | passwd --stdin root

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

Logo

更多推荐