Linux系统下grub.cfg文件损坏修复步骤

目录
  • 一、grub.cfg文件介绍
    • 1.grub.cfg文件位置
    • 2.grub.cfg文件作用
    • 3.系统启动流程介绍
  • 二、grub.cfg文件损坏,系统开机启动界面
  • 三、修复步骤
    • 1.指定/boot目录所在分区
    • 2.加载内核文件,并以只读方式挂载根分区
    • 3.指定initramfs文件
    • 4.启动
    • 5.进入系统,重新生成grub.cfg文件

一、grub.cfg文件介绍

1.grub.cfg文件位置

/boot/grub2/grub.cfg

[root@node1 grub2]# ls
device.map  fonts  grub.cfg  grubenv  i386-pc
[root@node1 grub2]# pwd
/boot/grub2
[root@node1 grub2]#

2.grub.cfg文件作用

grub是引导操作系统的程序,它会根据自己的配置文件,去引导内核,当内核被加载到内存以后,
内核会根据grub配置文件中的配置,找到根分区所使用的文件系统对应的驱动,通过根分区文件系统
对应的驱动,挂载根分区,从而达到启动操作系统的目的。

3.系统启动流程介绍

1.把MBR加载到内存, MBR=512字节=引导程序(446字节)+64字节(分区表)+2字节
2.BIOS加载grub引导程序,系统控制交给引导程序。
3.引导程序加载配置文件/boot/grub2/grub.cfg,告诉/boot目录所在分区和内核文件在哪,并加载内核和initramfs,并放入内存中。
initramfs包含启动时硬件必要的内核模块和初始化脚本。
4.Kernel自身初始化,且内核在initramfs中找到所有硬件的驱动程序,初始化这些硬件。
5.initramfs中的/sbin/init以pid为1的进程启动,并链接到systemd。
6.内核将根从initramfs切换到真正的根。
7.启动第一个程序systemd

二、grub.cfg文件损坏,系统开机启动界面

三、修复步骤

1.指定/boot目录所在分区

2.加载内核文件,并以只读方式挂载根分区

3.指定initramfs文件

4.启动

5.进入系统,重新生成grub.cfg文件

备注:挂载根分区时,根据实际情况填写,一般系统默认安装时,系统盘为nvme格式时,根分区为/dev/nvme0n1p3,

系统盘为sata硬盘,根分区一般为/dev/mapper/rhel-root,或者是自己安装系统时自定义的系统分区。

到此这篇关于Linux系统下grub.cfg文件损坏修复步骤的文章就介绍到这了,更多相关Linux系统grub.cfg文件损坏修复内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 使用‘fsck’修复Linux中文件系统错误的方法

    前言 文件系统负责组织数据的存储和恢复方式. 无论如何,随着时间的推移,文件系统可能会被破坏,并且可能无法访问它的某些部分. 如果您的文件系统出现这种不一致,建议验证其完整性. 这可以通过名为fsck的系统实用程序( 文件系统一致性检查)完成. 此检查可在引导期间自动完成或手动运行. 在本文中,我们将回顾fsck实用程序及其用法,以帮助您修复磁盘错误. 何时在Linux中使用fsck 当您想要运行fsck时,有不同的场景. 以下是一些例子: 系统无法启动. 系统上的文件已损坏(通常您可能会看到输

  • 浅谈Linux磁盘修复e2fsck命令

    周末竟然去加班,原因是客户那里有一台服务器不能提供服务,经过排查是突然断电后可能产生了磁盘坏道导致,所以使用e2fsck命令进行了磁盘修复. linux下磁盘检查修复命令e2fsck -a: 检查 partition,如发现问题会自动修复. -b: 设定 superblock 位置. -B size: 指定 size 作为区块大小. -c: 检查 partition 是否有坏轨. -C file: 将检查结果储存到 file. -d: 输出 e2fsck debug 结果. -f: e2fsck

  • 历史Linux镜像处理及修复方案

    历史Linux镜像创建的ECS云服务器,可能存在NTP没有配置,YUM没有配置,还可能存在最近暴漏较高的安全漏洞,请按照以下步骤进行修复,可以让您的云服务器更加安全,还可以使用阿里云提供的YUM服务进行安装软件,可以使用免费的阿里云提供的NTP进行时间同步. 1. 配置NTP 不区分发行版,先备份 /etc/ntp.conf,然后将其内容替换为如下: # ntp.conf # # ntpd config for aliyun ecs. # # 6LAN+6LAN+3WAN # shijun.ca

  • Linux系统下grub.cfg文件损坏修复步骤

    目录 一.grub.cfg文件介绍 1.grub.cfg文件位置 2.grub.cfg文件作用 3.系统启动流程介绍 二.grub.cfg文件损坏,系统开机启动界面 三.修复步骤 1.指定/boot目录所在分区 2.加载内核文件,并以只读方式挂载根分区 3.指定initramfs文件 4.启动 5.进入系统,重新生成grub.cfg文件 一.grub.cfg文件介绍 1.grub.cfg文件位置 /boot/grub2/grub.cfg [root@node1 grub2]# ls device

  • linux系统下用.sh文件执行python命令的方法

    目录 标准版 进阶版 1 for循环 2 嵌套for循环 3 定义变量名 4 写if函数 总结 标准版 假设,在终端要执行的命令是: python main.py 首先在执行目录下创建test.sh(文件名自定义)文件 并在test.sh文件中写入: python main.py 保存. ======================== 经实践 下面这一步可省 ================================= 在终端执行: chmod a+x test.sh 以上命令使test

  • Linux系统下修改mysql字符集为UTF8步骤

    目录 1.数据库中查看MySQL状态: 2.修改配置文件: 3.若是还没成功,可能是创建mysql时的配置或者刚上一步MySQL没有停止服务编辑 my.cnf 配置文件. Linux上修改MySQL字符编码为UTF8 开始在linux上装好了MySQL服务,在后期的使用过程中,突然发现在插入记录时,部分字段不能为中文,报错信息如下: mysql> insert into syudent values(1,'陶盼',21); ERROR 1366 (HY000): Incorrect string

  • Linux系统下MySQL配置主从分离的步骤

    目录 主数据库操作(ip:192.168.176.110) 主数据库操作(ip:192.168.176.120) 总结 主服务器 192.168.176.110 从服务器 192.168.176.120 主数据库操作(ip:192.168.176.110) 配置MySQL主服务器的配置文件 [root@localhost ~]# vi /etc/my.cnf 在my.cnf内加上如下配置 server-id = 1 #保证唯一性 log-bin = mysql-bin #主从服务的核心 定义bi

  • Linux系统下安装android sdk的方法步骤

    本文阐述的是如何在Linux系统中安装Android SDK 环境,下面话不多说,来看看详细的介绍吧. 直接下载解压: wget http://dl.google.com/android/android-sdk_r22.0.5-linux.tgz 修改对应的版本号即可. 关于后续的sdk更新,可以使用命令行版本的sdkmanager 直接更新到最新的sdk: tools/android update sdk --no-ui 显示所有的sdk版本 android list sdk --all 会得

  • Linux系统下快速配置HugePages的完整步骤

    前言 关于Linux系统的HugePages与Oracle数据库优化,可以参考熊爷之前的文章,相关概念介绍的非常清晰: Linux大内存页Oracle数据库优化 本文旨在Linux系统上快速配置HugePages 测试环境:RHEL6.8 + 512G物理内存:Oracle 11.2.0.4 SGA=400G. 1.设置memlock无限制 在/etc/security/limits.conf配置文件中,设置oracle用户memlock无限制: vi /etc/security/limits.

  • Linux系统下如何运行.sh文件的实现

    在Linux系统下运行.sh文件有两种方法,比如我在root目录下有个datelog.sh文件 第一种(这种办法需要用chmod使得文件具备执行条件(x): chmod u+x datelog.sh): 1.在任何路径下,输入该文件的绝对路径/root/datelog.sh就可执行该文件(当然要在权限允许情况下) 2.cd到datelog.sh文件的目录下,然后执行./datelog.sh 第二种(这种办法不需要文件具备可执行的权限也可运行): 1.在该文件路径下sh加上文件名字即可,sh da

  • Linux系统下mysqlcheck修复数据库命令(详解)

    mysqlcheck客户端工具可以检查和修复MyISAM表,还可以优化和分析表. 实际上,它集成了mysql工具中check.repair.analyze.optimize的功能. 有3种方式来调用mysqlcheck: shell> mysqlcheck[options] db_name [tables] shell> mysqlcheck[options] ---database DB1 [DB2 DB3...] shell> mysqlcheck[options] --all--d

  • linux系统下hosts文件详解及配置

    hosts文件 hosts -- the static table lookup for host name(主机名查询静态表). hosts文件是Linux系统上一个负责ip地址与域名快速解析的文件,以ascii格式保存在/etc/目录下.hosts文件包含了ip地址与主机名之间的映射,还包括主机的别名.在没有域名解析服务器的情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的ip地址,否则就需要使用dns服务程序来解决.通过可以将常用的域名和ip地址映射加入到hosts文件中

  • Linux系统下如何使用C++解析json文件详解

    1. 背景 工作需要,下班回来自己造轮子,记录以后查阅. JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,和xml类似,本文主要Linux下使用Jsoncpp解析json的方法做一下记录. 2. 关于jsoncpp库的使用简介 使用jsoncpp有两种方法 方法一:使用Jsoncpp生成的lib文件 解压上面下载的Jsoncpp文件,在jsoncpp默认生成静态链接库. 在工程中引用,只需要包含include/json下的头文件及生成的.lib文件即

随机推荐