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密码
操作步骤:
重启CentOS系统:init 6
在开机界面时,按【↓】方向键,目的是为了停留在开机界面;选择第一项,同时按下e键,进入GRUB界面
在GRUB界面,移动光标,找到linux16开头的行,光标移动到ro,然后把ro修改成rw init=/sysroot/bin/bash; 最后按Ctrl+x,进入原始系统界面
进入了原始系统界面后,切换系统,输入chroot /sysroot/; 输入修改密码命令passwd,这是会出现乱码
设置一下语言LANG=en,然后在修改root密码,输入passwd;输入两次新密码
关键的一步,输入命令touch /.autorelabel(要执行这一步设置才会生效)
最后Ctrl+D 退出终端,输入reroot重启即可!
救援模式:
救援模式和Emergency模式差不多,但是救援模式必须用安装盘进入的;如果系统的GRUB是加密的并且不知道GRUB密码的,这是就不能使用Emergency模式了;使用救援模式也能修改root密码!
操作步骤:
关机:init 0;检查是否启动光盘,如下图,设备状态选择“启动时连接”,确保加载镜像文件;
右键虚拟机名称,选择“电源”下的“启动时进入固件BIOS”,为了设置CD光盘为第一启动项
进入安装前界面,选择Troubleshooting
接下来训选择“Rescue a CentOS Linux system”
两次回车后,进入交互界面
输入数字1,两次回车进入shell
按提示切换系统,然后输入passwd修改root密码
最后重启系统:init 6 (注意需要取消CD为Boot第一启动项)
以上是关于CentOS 开机 GRUB 报错,进入救援模式修复根文件系统的主要内容,如果未能解决你的问题,请参考以下文章