RH124-Linux系统中的引导过程以及引导修复文件

Linux系统中的引导过程以及引导修复文件

一.通电与bios初始化:

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

二.VMware以光盘模式开机:

[1]在开机时选择打开电源时进入固件:
在这里插入图片描述
[2]进入选择界面后使用左/右键切换目录至boot目录下:
在这里插入图片描述
[3]选择CD选项,使用+/-调整其使用优先级,将其放置至最上方:
在这里插入图片描述
[4]选择完之后切换至exit目录下,选择exit saving changes再按enter后选择yes按enter:
在这里插入图片描述
[5]选择完成之后显示的界面:
在这里插入图片描述

三.磁盘引导:

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

问题模拟:
[1]用fdisk -l 命令找到系统磁盘:
在这里插入图片描述
由实验现象可知系统磁盘为:/dev/nvme0n1
[2]使用命令dd if=/dev/zero of=系统磁盘 bs=446 count=1可以将启动引导阶段中替换为0字节:
在这里插入图片描述
修改命令中dd为截取命令,if=/dev/zero为截取模板,of=/dev/nvme0n1为存放数据的位置,bs为数据快大小,count=1为截取的块数


恢复方法:
[1]开机时选择用光盘模式进入系统,然后进入trouble shooting,再进入Rescue挽救模式:
在这里插入图片描述
在这里插入图片描述
[2]在给出的四个选择中选择1,执行命令chroot /mnt/sysimage进入shell:
在这里插入图片描述
[3]执行命令grub2-install 系统磁盘,忘记系统磁盘位置可以先用fdisk -l查看,当执行结果显示no error reported即修复成功:
在这里插入图片描述
[4]输入两次exit以退出挽救模式,切换为硬盘启动即可成功开机:
在这里插入图片描述

四.grub2文件引导:

rhel8
/boot/grub2/grub.cfg
/boot/loader/entries/xxxxxxxxx.conf

指定/boot位置
指定系统启动时加载文件名

问题模拟:
用命令cd /boot/loader/entries/前往根目录下的引导文件中用ls查看会发现有两个引导文件后删除当前目录下的所有文件:在这里插入图片描述


恢复方式:
[1]用df命令找到根分区所在的系统设备以及启动分区所在的目录,并重启:
在这里插入图片描述
[2]重启后进入修复,对引导文件的丢失进行手动引导信息:在这里插入图片描述
[3]grub > set root='hd0,msdos1’指定引导设备,指定引导分区位置为第一块硬盘,指定引导分区在第一块硬盘的第一个分区中:在这里插入图片描述
[4]grub > linux16/vmlinuz-4.18.0-193.el8.x86_64 ro root=/dev/nvme0n1p3 引导内核文件启动内核,只读挂载根分区设备:在这里插入图片描述
[5]grub > initrd 16/initramfs-4.18.0-193.el8.x86_64.img加载系统初始化镜像:
在这里插入图片描述
[6]grub > boot引导完成启动系统:
在这里插入图片描述
[7]开机后打开shell输入命令:kernel-install add 4.18.0-193.el8.x86_64 /boot/vmlinuz-4.18.0-193.el8.x86_64之后会显示报错:
在这里插入图片描述
对于报错,用命令cp /usr/lib/modules/4.18.0-193.el8.x86_64/bls.conf /boot/解决文件缺失,然后再次使用kernel-install命令进行修复即可:
在这里插入图片描述
[8]如果主引导被删除了:前往/boot/grub2中使用命令grub2-mkconfig > /boot/grub2/grub.cf:
在这里插入图片描述

五.内核加载:

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

问题模拟:
在/boot/目录下删除系统内核文件vmlinuz-4.18.0-193.el8.x86_64:


恢复方式:
[1]重启后进入挽救模式:1–>chroot /mnt/image/:在这里插入图片描述
[2]挂载镜像后在镜像中的BaseOS/Packages中内核安装包用复制至/mnt/目录:
在这里插入图片描述
[3]在/mnt/目录中用rpm命令解压内核安装包:在这里插入图片描述
[4]前往lib/moduels/4.18.0-193.el8.x86_64中ls看到vmlinuz这个内核文件:在这里插入图片描述
[5]cat /boot/loader/entries/a…x86_64.conf中可以看到记录内核文件的名称:在这里插入图片描述
[6]找到内核文件的名称lnux /vmlinuz-…后复制/mnt/lib/moduels/4.18…vmlinuz到/boot/vmlinuz-4.18.0…此文件名与上面查看的内核文件名完全一致:在这里插入图片描述
[7]按两次exit退出:
在这里插入图片描述

六.系统初始化镜像:

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

问题模拟:
删除系统镜像文件:rm -fr /boot/initramfs-4.18.0-80.el8.x86_64.img:
在这里插入图片描述


恢复方法:
重启之后选择用光盘开机,开机之后进入挽救模式,选择选项1,输入chroot /mnt/sysimage/后输入恢复命令:mkinitrd /boot/initramfs-4.18.0-193.el8.x86_64.img 4.18.0-193.el8.x86_64,当输入之后下方出现文件initramfs即说明生成完毕:
在这里插入图片描述
在这里插入图片描述

七.系统启动级别:

系统启动级别等级对应效果
0关机
1单用户
2无图形网络模式
3无图形网络模式
4无图形网络模式
5有图形网络模式
6重启

有关系统启动的脚本都在/etc/systemd/system目录中可以看到系统启动级别的脚本链接:default.target以及系统所有服务的启动脚本链接:multi-user.target.wants
在这里插入图片描述

问题模拟:
打开shell,输入命令:systemctl set-default reboot.target后reboot让虚拟机进入无限重启状态:
在这里插入图片描述


恢复方法:
[1]在开机时的选择界面中使用上/下键进行选择项目时系统暂停重启,选择选项Ootpa,并按e进入编辑:
在这里插入图片描述
[2]在编辑界面中的第四行行尾加上一个空格,输入系统启动级别(0-6),本实验为了恢复使用的是5,输入后按ctrl+x保存后开机:
在这里插入图片描述
在这里插入图片描述
[3]开机之后在shell中输入systemctl set-default graphical.target进行恢复,将虚拟机的模式改为正常的图形网络模式:
在这里插入图片描述

八.超级用户忘记密码:

解决方法:
[1]在开机时用上/下键选择选项,选择Ootpa选项,并按e进入编辑界面:
在这里插入图片描述
[2]在第四行中将ro代为rw(从只读挂载根设备改为读写挂载根设备)之后在rw后加空格加rd.break(即在系统内核加载完成之后终止系统启动):
在这里插入图片描述
[3]编辑完成之后按ctrl+x保存并开启:
在这里插入图片描述
[4]进入下一个界面后会有显示switch_root,即进入到系统单用户模式,当前模式默认root用户登录:
在这里插入图片描述
[5]chroot /sysroot/之后用命令echo 新密码 | passwd --stdin root更改root用户的新密码:
在这里插入图片描述
[6]touch /.autorelabel让系统中内核加强型防火墙selinux重新初始化:
在这里插入图片描述
注:如果更改密码后selinux未被重新初始化,则会阻止新密码的生效,注意此操作之后在selinux开启时需要关闭
[7]输入两次exit退出,重启之后root密码就会成功更改:
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值