如何修复Grub引导管理程序

如何修复Grub引导管理程序

1.前言

在新用户使用Linux操作系统时候,容易出现误删除grub.cfg文件或者格式化EFI分区,导致Linux系统无法成功引导操作系统。本文就以实际的一个例子来说明Grub修复的问题。

2. 常见的情况以及修复的方法

错误图进入Linux会出现上面这种情况,这种情形一般可能是在进入Grub时候,多按了一个键。还有一种情况是,系统grub.cfg文件未找到,第二种情况则需要下面进一步处理。

首先进入任何一个Linux发行版的ISO,所以可以通过U盘刻录或者是Ventoy进入到对应的Linux发行版桌面环境。

第一步,将操作系统和EFI分区挂载上。对于没有EFI分区的,可以使用fdisk或者是cfdisk重新创建一个EFI分区。对于已有的EFI分区和操作系统分区,使用mount命令将其挂载上:

sudo mount /dev/sda2 /mnt
sudo mount /dev/sda1 /mnt/boot/efi

这里/dev/sda2是Linux操作系统的位置,/dev/sda1是EFI分区的位置。注意,操作系统启动的时候有其他设备也会挂载上去,例如一些Linux固件等等,在修复Linux系统时候也是必须的,所以使用以下的命令将其挂载上去:

sudo mount -t proc /proc /mnt/proc
sudo mount --rbind /dev /mnt/dev
sudo mount --rbind /sys /mnt/sys

第二步,将对应的网络IP等配置复制到对应的环境当中。

sudo cp /etc/resolv.conf /mnt/etc/resolv.conf

这一步为的是能够在切换环境之后,修复操作系统的时候可以进行网络连接,如果不需要可以跳过。
第三步,在做好其中的工作之后,将环境切换到硬盘当中的系统。使用以下的命令进行切换:

sudo chroot /mnt /bin/bash

这样就会切换到对应的硬盘操作系统环境。

第四步,更新EFI分区的grubx64.efi文件。使用grub-install可以生成对应的efi

grub-install --target=x86_64-efi --efi-directory=/boot/efi --recheck

第五步,更新对应的grub.cfg配置文件

sudo grub-mkconfig -o /boot/grub/grub.cfg

当然,对于debian系操作系统可以直接使用以下的命令进行更新

sudo update-grub2

这样就更新了对应的操作系统GRUB启动文件。
第六步,退出

exit
sudo umount /mnt/proc
sudo umount /mnt/dev
sudo umount /mnt/sys
sudo umount /mnt
sudo umount /mnt/boot/efi

当然,对于那些发生kernel panic的问题,或者是其他操作系统内部的问题,也可以通过以上切换的环境进行修复处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值