windows+centos+ubuntu多系统环境,ubuntu启动修复

故障现象:

        在windows中调整分区后,ubuntu系统无法启动,centos启动进入保护模式

解决过程

一、

双硬盘,centos硬盘EFI分区还在,ubuntu硬盘EFI分区消失,发现一个300的分区但是不是efi分区,查看分区无数据

重建EFI分区

fdisk /dev/nvme0n1p1  

d 删除原有分区

n 新建分区  并将分区调整为EFI分区

w 保存

在EFI分区中新建目录EFI

在EFI目录中新建目录BOOT和ubuntu

BOOT分区中添加efi文件

在ubuntu目录添加文件

其中grub.cfg 文件需要自行配置

search.fs_uuid 后面的uuid配置成根分区的uuid   root 后的hd0,gpt3  为根分区的名称,在grub中使用ls命令可以显示

set prefix = ($root)'/boot/grub'  设置前缀为hd0,gpt3/boot/grub  就是hd0盘的gpt3分区,也就是根分区下的/boot/grub 为启动grub

configfile $prefix/grub.cfg   grub配置文件hd0,gpt3/boot/grub/grub.cfg

efi文件可以使用其它系统的拷过来

二、

使用efibootmgr命令添加引导项

efibootmgr -c -w -L “BootOptionName” -d /dev/nvme0n1p1 -p 1 -l \\EFI\\ubuntu\\elilo.efi

其中-d 参数后面是系统所在的硬盘设备名称,例如/dev/hda、/dev/hdb
-p 参数是vfat 分区的分区编号/dev/hda1 用-p 1
/dev/sda2 用-p 2
-l 参数后面是该引导项指向的efi 启动文件在该分区上的位置。请注意使用“\\”来表示目录的分级。
例如:/EFI/asianux/elilo.efi
应写成:\\EFI\\asianux\\elilo.efi

基中分区名称和efi文件请自行调整

命令执行完成显示新加入的启动项后重启机器,选择新加启动项启动成功进入系统!

posted @ 2023-04-24 23:42  清风6661  阅读(145)  评论(0)    收藏  举报