RedHat Linux 8 中系统引导程序过程及系统修复

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

Red Hat Enterprise Linux 系统启动过程的运行流程:
1、通电
2、bios初始化
3、磁盘引导
4、grub2文件引导
5、内核加载
6、系统初始化镜像
7、系统启动级别
8、用户账号密码登录

如果我们在系统启动过程中这些引导程序出现问题,那我们如何去应对和修复这些问题,下面针对每一个模块来进行分析和问题演练。

通电

这个模块是最简单的,系统启动最开始,如果没有通电根本无法开机,所以如果开机都无法开启就先去检查电源是否正常。


bios初始化

  • 对硬件检测
  • 初始化硬件时钟
    这个阶段就是检测我们的主机的硬件设备,如磁盘、内存条、显卡等设备,如果有问题就会发出警报声。
    进入bios模式可以在开机一开始按 [Esc] 键进入,或者在VMware虚拟机启动选项里选择打开电源时进入固件。
    在这里插入图片描述
    在这里插入图片描述

磁盘引导

Master Boot Record
主引导记录(MBR,Master Boot Record)是位于磁盘最前边的一段引导(Loader)代码。它负责磁盘操作系统(DOS)对磁盘进行读写时分区合法性的判别、分区引导信息的定位,它由磁盘操作系统(DOS)在对硬盘进行初始化时产生的。
它所在的位置是磁盘的0磁道1扇区的446个字节,它的作用是记录grub2引导文件的位置。
当MBR数据丢失时系统会因为找不到启动分区而停止启动
命令:fdisk -l ,可以列出我们的磁盘信息
在这里插入图片描述
可以看到,我的系统磁盘是/dev/sda ,而我们的启动程序是在/dev/sda1里,磁盘每个人的主机硬件是不一样的,所以要根据具体查看的信息确认。

问题模拟:
将 /dev/sda里的446个字节信息我们抹除掉,
dd if=/dev/zero of=/dev/sda bs=446 count=1
这是数据截取方式,这里我们将sda里的446个字节数据替换掉。
在这里插入图片描述
然后重启看出现的情况是什么

在这里插入图片描述
根据我们开机时进入bios的几个启动方式
第一项Removable Devices移动设备,显然我们没有;
第二项硬盘启动,根据我们刚才的操作现在系统已经找不到启动扇区了,无法启动;
第三项光驱启动,显然我们没有接入光驱;
第四项网络加载,所以现在系统会去自动寻找网络资源,可以看到上面显示的DHCP,获取动态网络。

解决方法:

  • 用光驱接入光盘进入系统抢救模式
    首先进入光盘镜像选择Troubleshooting排错故障
    在这里插入图片描述
    然后在Troubleshooting模式里选择Rescue a Red Hat Enterprise Linux system(抢救rhel系统)
    在这里插入图片描述
    进入抢救模式后,这四个选项:继续、只读挂载、跳过到shell、退出重启,当然我们要选择continue第一个
    在这里插入图片描述
    选完后加载完,让使用 [ENTER] 键进去shell
    在这里插入图片描述
  • 修复/dev/sda 磁盘
    根据这里的提示我们看到你的系统被挂载到/mnt/sysimage,如果想要还原根目录执行命令:chroot /mnt/sysimage,后面还有完成后执行“exit” 退出shell 并重启系统
    在这里插入图片描述
    执行完后得到的信息就和之前的系统信息一样了
    在这里插入图片描述
    再执行命令:grub2-install /dev/sda ,恢复我们磁盘的引导文件,完成 exit 退出重启系统
    在这里插入图片描述
    exit需要执行两次退出,重启后系统就恢复正常了

grub2文件引导

文件路径:

  • rhel7中:/boot/grub2/grub.cfg
    在这里插入图片描述
    在这里插入图片描述
  • rhel8中:将文件的内容划分开
    /boot/grub2/grub.cfg
    /boot/loader/entries/xxxxxxxxx.conf
    在这里插入图片描述
    这两个文件里的内容分别时对两个标题的分别设定
    在这里插入图片描述

grub2文件引导的作用:指定/boot位置,指定系统启动时加载文件成名。

问题模拟:
删除grub2文件,造成无grub2文件引导的情况:
rhel7:/boot/grub2/grub.cfg
rhel8:/boot/grub2/grub.cfg
/boot/loader/entries/xxxxxxxxx.conf
在这里插入图片描述
重启后系统进入如下界面,这种情况可以用两种方式进入系统,用系统光盘进入抢救模式或手动引导加载。
在这里插入图片描述

解决方法:

  • 手动引导
    在启动系统进入的界面输入如下指令
    set root=‘hd0,msdos1’ (hd0=系统的第一块硬盘,msdos1=第一个分区,如果你的系统放置的位置不一样就要自己记住再写)
    linux16 /vmlinuz-4.18.0-80.el8.x86_64 ro root=/dev/sda2 (加载内核版本到根分区,我的根分区是在sda2里)
    initrd16 /initramfs-4.18.0-80.el8.x86_64.img (加载系统内核镜像)
    boot (执行完上面的,输入boot进入系统)
    在这里插入图片描述
    手动引导并不能永久记忆在系统中,重启还是需要再引导,
  • 系统中安装
    如果我们损坏了/boot/grub2/grub.cfg或/boot/loader/entries/xxxxxxxxx.conf文件,系统没有重启时可以执行如下命令,如果重启了可以用光盘驱动进入抢救模式,恢复挂载后再执行。

rhel7:

[root@localhost ~]# grub2-mkconifg > /boot/grub2/grub.cfg

rhel8:

[root@localhost ~]# kerne-install add 内核版本号 内核镜像
例:[root@localhost ~]# kernel-install add  $(uname -r)  /lib/modules/$(uname -r)/vmlinuz
[root@localhost ~]# grub2-mkconifg > /boot/grub2/grub.cfg

$(uname -r) = 内核版本号的指代命令,因为使用命令“uname -r”可以查看内核版本。
执行完后再查看就可以看到文件已经被恢复好了。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述


内核加载

内核路径:/boot/vmlinuz-4.18.0-80.el8.x86_64
加载内核作用:系统初始化硬件设备,只读挂载 “/” 设备

问题模拟:
删除内核文件:rm -fr /boot/vmlinuz-4.18.0-80.el8.x86_64
在这里插入图片描述
重启就会出现报错,找不到内核
在这里插入图片描述
解决方法:
重装内核
使用光驱启动进入抢救模式
在这里插入图片描述
还是先执行:chroot /mnt/sysimage
在这里插入图片描述
挂载驱动到 mount /dev/cdrom /mnt ,进入:cd /mnt/BaseOS/Packages
在这里插入图片描述
重新安装内核:rpm -ivh kernel-xxxxx.rpm --force ,因为默认是安装过的,所以用 --force 参数强制重新安装
在rhel8中内核的安装包是不一样的 “kernel-core-xxxx.rpm”
在这里插入图片描述
到这里在就完成重装了,“exit” 退出切换bios的启动顺序,重新启动。


系统初始化镜像

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

问题模拟:
删除系统初始化镜像文件:rm -fr /boot/initramfs-xxxxx.img
在这里插入图片描述
报错找不到镜像文件
在这里插入图片描述

解决方法:
使用光驱启动进入抢救模式
在shell中mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
在这里插入图片描述
到这里在就完成重装了,“exit” 退出切换bios的启动顺序,重新启动。


系统启动级别

级别说明
0关机
1单用户
2无图形网络模式
3无图形网络模式
4无图形网络模式
5有图形网络模式
6重启

问题模拟:
在/etc/systemd/system目录里的内容包括初始化系统程序开启开机启动服务,是否开启图形这些内容,而文件default.target 就是链接到 /lib/systemd/system/graphical.target 开机启动图形
在这里插入图片描述
如果这个文件链接出问题,比如链接到poweroff.target或reboot.target,那开机时就是又关机或无限重启
例: systemctl set-default reboot.target
在这里插入图片描述
删除之前的default.target链接,创建一个新的链接。
然后重启后系统就会不停的重启

解决方法:
在开机选择界面按进入到引导文件编辑模式,在内核加载选项最后加入启动级别5 ,按[ctrl]+[x]执行
在这里插入图片描述
在内核加载选项最后加入启动级别5 (有图形网络模式),按[ctrl]+[x]执行
在这里插入图片描述
然后登陆进系统例执行命令:systemctl set-default graphical.target ,修改错误的链接
在这里插入图片描述
再重启就恢复正常了。


超级用户密码忘记

如果忘记超级用户密码,无法登录超级用户。

解决方法:

  • 在开机选择界面按进入到引导文件编辑模式
    在这里插入图片描述
  • 在内核加载选项最后删除到ro选项,更改ro---->rw,ro=只读,rw=读写
    在这里插入图片描述
  • 加入rd.break参数终止系统启动进入单用户模式,ctrl+x启动
    在这里插入图片描述
  • 进入单用户模式后,执行命令:chroot /sysroot ,进入系统shell,成为超级用户身份
    在这里插入图片描述
  • 更改超级用户密码:echo hehe | passwd --stdin root
    在这里插入图片描述
  • 如果系统的selinux功能是开启的,需要建立一个文件:touch /.autorelabel ##当/.autorelabel ,文件存在会selinux会重新初始化,建立完后执行 exit 启动系统
    在这里插入图片描述
    启动后使用新密码可以登录超级用户。
[Linux操作系统-无法正常启动修复方法] 操作系统引导目前使用UEFI GPT与BIOS MBR这两种方式,GPT支持硬盘容量大于2T,而MBR主引导方式只支持小于2T的硬盘,传统的BIOS方式引导使用的是MBR方式,而UEFI方式只支持GPT分区,本次测试过程使用MBR方式的引导的操作系统。说明:这里主要指数据存储盘,在日常运维过程中,由于大量数据的存储,异常关机容易造成内存数据没有及时落盘,造成数据不一致的情况,此时可能造成操作系统无法正常启动,出现数据校验的情况,本次实验测试下该场景(xfs文件系统)备注:重启系统,检查系统是否正常启动。 阅读详情

相关推荐

红帽rhel8的启动过程

10最后systemd会执行从内核命令行传递或系统配置文件的默认目标,启动单元和其依赖项,启动一个登录界面。9.然后/sysroot内的root文件系统会替换存档,将systemd的副本进行重新执行。4.之后在/boot/grub2/grub.cfg文件系统中选择要启动的内核。8.然后存档中的systemd会执行initrd.target中的单元。5.选择完后会在磁盘中加载内核和initramfs存档,并放入内存。6.权限会转交给内核,之后会启动命令行中指定的选项和加载存档位置。

a1635392196的博客 846

RHEL8系操作系统+Windows7 设置windows引导启动

以下操作均在 root 权限下完成!在 安装 AlmaLinux8 + Windows7双系统后,因为 AlmaLinux8默认不支持NTFS硬盘分区,所以所以安装好了以后,自然也就无法找到硬盘里的 NTFS分区 的 操作系统了,因此,在硬盘已有windows系统基础上在新安装好的 AlmaLinux8,需要如下操作,才能将为 windows 操作系统添加到 AlmaLinux8 的 gurb 启动菜单中。首先,我们先安装 NTFS 文件系统的驱动:因为默认官方的软件源没有 ntfs 文件系统的驱动,所以我

无止境学的博客 886

装好的机器,这样提示显示Control-D?

装好的机器,这样提示 welcome to emergency mode!after logging in ,type “journalctl -xb” to view system logs,“systemctl reboot” to reboot ,“systemctl default” to try again to boot into default mode。 give root password for maintenance (?? Control-D???): 报这个错误多数情况下是因为/.

阡陌淡暖的博客 1万+

linux系统开机提示 Control-D 输开机密码界面修复方法

linux 重启或者开机出现welcome to emergency mode! 如下图所示,类似界面,说明/etc/fstab文件有些问题! 按照提示输入 root 密码 盲敲的,无输出显示是正常的。重点注意下报错位置。 输完root密码之后就是以下图片中的界面 我们首先要让fstab文件可编辑;输入以下命令即可 mount / -o remount,rw 需要把这个分区在/etc/fstab中注释掉或者删掉 保存的时候记得加!号哈 wq! 不然可能会报错的。 保存完之后重启即可。 这样的情

qq_1538045316的博客 4万+

linux救援模式修复系统:如何使用Linux救援模式修复系统

Linux救援模式修复系统的步骤如下:重新启动计算机,进入BIOS设置界面,将启动项设置为从光盘启动。5. 进入命令提示符界面,输入“bootrec /fixmbr”,回车执行,完成MBR的修复。2. 插入安装盘,重新启动计算机,在出现的欢迎界面中,选择“语言”,然后点击“继续”。6. 输入“bootrec /fixboot”,回车执行,完成引导扇区的修复。4. 在出现的恢复选项界面中,选择“使用命令提示符”,然后点击“下一步”。3. 在出现的安装界面中,选择“修复你的计算机”,然后点击“下一步”。

weixin_19970108018的博客 3725

redhat linux 系统修复,RedHat Linux系统修复—— grub引导、MBR损坏修复过程

一、系统故障描述:装有Red Hat Enterprise Linux 操作系统的服务器,系统无法启动,如下图所示:二、修复步骤:1、调整服务器BIOS启动项,使用系统从光驱启动,插入系统光盘,进入救援模式,如图:2、看图操作,修复系统不需要配置Networking。3、进入shell后,执行chroot /mnt/sysp_w_picpath命令,挂载到系统目录,查看/boot目录下一个文件也没...

weixin_29248653的博客 4572

U盘安装win7 +Redhat enterprise Linux8或者win10 + Redhat enterprise Linux8安装和引导修复

U盘安装win7 +Redhat8或者win10 + Redhat8安装和引导 都安装windows 系统 现在在redhat 有开发版本,所以 装了redhat8,而且 u盘刻盘 安装 直接自动,不需要自己分盘了。 步骤,此电脑-右键管理-磁盘管理,磁盘上右键压缩,把第磁盘 压缩出来50g,然后不要建设磁盘。 刻安装盘:下载系统:https://developers.redhat.com/top...

zhyl4669的博客 1319

redhat linux 系统修复,RedHat Linux 启动修复及密码恢复

许多原因可能导致用户口令的遗失,这对系统管理员而言,可能不是一个问题,只要以root账号登录,再用passwd命令更改用户口令就可以了。可是,如果丢失的是root口令,这又怎么办?难道就束手无策、重装系统?这样不仅费时费力,而且还可能造成重要数据的丢失和应用程序的破坏。显然这种做法并不可取。其实,恢复Linux口令并不是一件很难的事情。Linux口令的恢复有2个方面: 一是给用户产生一个新的口令,...

weixin_40001924的博客 968

redhat linux 系统修复,简述rhel7系统修复

情景一、 root权限下,rm -rf /boot/* 并且 dd if=/dev/zero of=/dev/sda bs=446 count=1,删除/boot下的所有内容,并且向sda的第一个扇区写入446字节数据块,目前情况下系统是无法启动了,因为grub引导和系统内核都已经没了,下面来修复修复一:1、重启,并且设置从光驱启动(确保系统盘在光驱内),在菜单选择进入救援模式(re...

weixin_36205186的博客 2886

RedHat Linux系统故障修复—— grub引导、MBR损坏修复过程

1.首先,MBR是安装在硬盘的第一个扇区上占用了512个字节,其中前446字节是bootloader用于引导操作系统(中间的64个自己用来指定分区,每个分区为16个字节,所以一个操作系统最多有四个主分区,最后两个字节是标志位,用于表示OK或者not ok),它不在分区上,而是位于分区之外,因为分区是对于操作系统而言的,而MBR是用于引导操作系统的,因此现在模拟MBR损坏只要把磁盘上第一个扇区的钱446个字节破坏掉即可。下一步,要把文件从这个RPM里面分离出来,并还原到/etc目录下.此时,内核已修复完成!

砚墨 4231

RedHat Linux 10 系统安装

Red Hat Enterprise Linux 10.0

weixin_38938285的博客 2137

grub引导项修复详解_RedHat Linux系统修复—— grub引导、MBR损坏修复过程

一、系统故障描述:装有Red Hat Enterprise Linux 操作系统的服务器,系统无法启动,如下图所示:二、修复步骤:1、调整服务器BIOS启动项,使用系统从光驱启动,插入系统光盘,进入救援模式,如图:2、看图操作,修复系统不需要配置Networking。3、进入shell后,执行chroot /mnt/sysp_w_picpath命令,挂载到系统目录,查看/boot目录下一个文件也没...

weixin_39939904的博客 787

redhat 卸载linux系统,在XP上卸载Ubuntu 安装RedHat Enterprise 5系统经历

因为以前用的Linux版本是RedHat,不过是在服务器上。最近服务器被征收啦,但是不能离开Linux,就在xp系统上装了一个Ubuntu。不过用了几天,好多不习惯的地方,特别是做开发。没办法,卸载了再装一个RedHat啦,谁让自己太较真呢。1. 装Ubuntu很傻瓜的一直下一步就行了,感觉比RedHat要简单的多。2. 卸载Ubuntu直接使用partitionmagic分区软件把ext2分区和...

weixin_39649490的博客 193

Linux红帽8.2系统中引导过程及引导修复

bosi初始化:对硬件检测,初始化硬件时钟。开机时,猛戳F12,进入,按过tab键后,选择第一个steup,可以看到bosi界面。 一、 0磁道被称为mbr=主引导记录=第一扇区(最小446字节),用于引导磁头读取硬盘,记录gurb2引导文件的位置。 磁盘的引导分区损坏时,可以通过光驱修复。 当gurb2这个部分被损坏,系统将无法启动。 这个时候关闭计算机,boot options中调整光驱启动,storage也调整为光驱模式(CDROM device),Bus type:SATA 恢复方式

weixin_45205924的博客 1583

Linux修复密码,RedHat Linux启动修复及密码恢复

许多原因可能导致用户口令的遗失,这对系统管理员而言,可能不是一个问题,只要以root账号登录,再用passwd命令更改用户口令就可以了。可是,如果丢失的是root口令,这又怎么办?难道就束手无策、重装系统?这样不仅费时费力,而且还可能造成重要数据的丢失和应用程序的破坏。显然这种做法并不可取。其实,恢复Linux口令并不是一件很难的事情。Linux口令的恢复有2个方面: 一是给用户产生一个新的口令,...

weixin_42570296的博客 275

RedHat Linux系统修复—— grub引导、MBR损坏修复过程

一、系统故障描述: 装有Red Hat Enterprise Linux 操作系统的服务器,系统无法启动,如下图所示:二、修复步骤: 1、调整服务器BIOS启动项,使用系统从光驱启动,插入系统光盘,进入救援模式,如图: 2、看图操作,修复系统不需要配置Networking。 ...

weixin_33713503的博客 1744

linux修复引导命令,LinuxGRUB引导故障的修复

一、实验环境:1.在一台RedHat 5.2虚拟机中实现grub引导故障的修复。二、实验步骤:1.GRUB时大多数Linux系统默认使用的引导程序,可以通过启动菜单的方式选择进入不同的操作系统,当配置文件/boot/grub/grub.conf文件丢失,或者关键配置出现错误,或者MBR记录中的引导程序遭到破坏时,Linux主机启动后可能只出现“grub>”的提示符,无法完成进一步的系统启动...

weixin_32073537的博客 1855

Redhat 6.5系统grub修复过程

Redhat6.5每次开机之后就出现如下界面1.将光驱作为第一启动设备,选择第三项,进入Rescue模式2.系统默认,点击OK3.系统默认,点击OK4.不开启网络界面,选择No5.系统默认,选择Continue6.选择第一个shell Start shell7.点击OK,进入shell模式8.创建文件夹,比如tempbash-4.1#mkdir /temp9.将光盘镜像挂载...

weixin_34117522的博客 2572

RedHat_Linux的安装

案例1:装机预备技能 案例2:安装一台LINUX虚拟机 案例3:使用LINUX图形桌面 案例4:Linux命令行基本操作 1 案例1:装机预备技能 1.1 问题 本例要求安装一台可用的KVM服务器: RHEL与CentOS系统有什么关联? Linux系统中第三块SCSI硬盘如何表示? 1.2 步骤 实现此案例需要按照如下步骤进行。 步骤一:RHEL系统与CentOS系统的渊源 RHEL是红帽公...

qq_40380640的博客 3411
上一篇: RedHat Linux 8 中pxe网络安装服务器的部署
下一篇: RedHat Linux 8 中的设备管理 第一部分
Howei__
博客等级 码龄7年 42粉丝 95原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Howei__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值