CentOS 开机 GRUB 报错,进入救援模式修复根文件系统

Posted Imagine Miracle

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 开机 GRUB 报错,进入救援模式修复根文件系统相关的知识,希望对你有一定的参考价值。

1. CentOS 开机报错

从弹出的错误信息中可以看出是与 grub 相关的错误,导致系统引导异常,无法正常的进入操作系统。这类情况经常会遇到但很多时候都不知道是什么原因导致的,不过解决办法倒是有,具体见下文。

2. 使用启动盘做为引导系统

物理机可采用 U 盘利用与原系统相同的镜像制作系统启动盘,若是虚拟机的形式,则可以在虚拟机设置里设置 CD/DVD 项为使用与原系统相同的 ISO 格式镜像文件。

3. 设置并进入救援模式

  • (1) 随后开启机器进入 Bios 设置,或者选择 UEFI Firmware Setting 进入设置。

  • (2) 设置 Boot 启动项为镜像文件;


BIOS 使用 F10 保存并退出设置,与笔者相同的则可直接使用回车即可。

  • (3) 选择 Troubleshooting

  • (4) 接着选择 Rescue a CentOS Stream system,回车并稍等片刻;

  • (5) 进入以下界面提示 rescue 环境会找到已安装的 Linux 系统,并将其挂载到光盘 Linux 环境的 /mnt/sysroot 目录下,"continue" 表示挂载权限为读写,“Read_only" 为只读。因为要对系统进行修复,所以需要读写权限。一般选择第一项 "continue”,输入 1,并回车,即可进入救援模式。

4. 在救援模式中修复 Grub

  • (1) 输入 chroot /mnt/sysroot,切换到原系统的根目录

  • (2) 恢复 grub
    可以选择拷贝一份启动菜单到原系统目录中,或者重新生成一份。
# Option 1 拷贝
cp -rf /etc/grub.d /mnt/sysroot/etc/grub.d

# Optoin 2 生成
# 进入到grub2目录安装grub.cfg
cd /boot/grub2
grub2-mkconfig -o grub.cfg
  • (3) 重启
reboot

5. 若还有其它文件问题则继续处理即可

已经进入到了原系统的目录,根据启动的报错,将其它文件恢复即可。

#到此系统即可正常启动

单用户模式和救援模式

Emergency模式(centos6叫单用户模式):

  • 当忘记了root用户密码的时候,可以进入此模式进行修改root密码

操作步骤:

  1. 重启CentOS系统:init 6

  2. 在开机界面时,按【↓】方向键,目的是为了停留在开机界面;选择第一项,同时按下e键,进入GRUB界面

    技术分享图片

  3. 在GRUB界面,移动光标,找到linux16开头的行,光标移动到ro,然后把ro修改成rw init=/sysroot/bin/bash; 最后按Ctrl+x,进入原始系统界面

    技术分享图片

  4. 进入了原始系统界面后,切换系统,输入chroot /sysroot/; 输入修改密码命令passwd,这是会出现乱码

    技术分享图片技术分享图片


  5. 设置一下语言LANG=en,然后在修改root密码,输入passwd;输入两次新密码

    技术分享图片

  6. 关键的一步,输入命令touch /.autorelabel(要执行这一步设置才会生效)

    技术分享图片

  7. 最后Ctrl+D 退出终端,输入reroot重启即可!


救援模式:

  • 救援模式和Emergency模式差不多,但是救援模式必须用安装盘进入的;如果系统的GRUB是加密的并且不知道GRUB密码的,这是就不能使用Emergency模式了;使用救援模式也能修改root密码!

操作步骤:

  1. 关机:init 0;检查是否启动光盘,如下图,设备状态选择“启动时连接”,确保加载镜像文件;

    技术分享图片

  2. 右键虚拟机名称,选择“电源”下的“启动时进入固件BIOS”,为了设置CD光盘为第一启动项

    技术分享图片

  3. 进入安装前界面,选择Troubleshooting

    技术分享图片

  4. 接下来训选择“Rescue a CentOS Linux system”

    技术分享图片

  5. 两次回车后,进入交互界面

    技术分享图片

  6. 输入数字1,两次回车进入shell

    技术分享图片

  7. 按提示切换系统,然后输入passwd修改root密码

    技术分享图片

  8. 最后重启系统:init 6  (注意需要取消CD为Boot第一启动项)

以上是关于CentOS 开机 GRUB 报错,进入救援模式修复根文件系统的主要内容,如果未能解决你的问题,请参考以下文章

光盘救援模式四大功能

centos8内核文件和grub文件丢失或者损坏恢复

LINUX救援模式使用

绕过 grub 密码

Mac安装ubuntu系统无法启动,进入grub的拯救方法

centos7内核文件和grub文件丢失或者损坏恢复