故障现象:
在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文件请自行调整
命令执行完成显示新加入的启动项后重启机器,选择新加启动项启动成功进入系统!
标签:centos,grub,efi,windows,分区,dev,EFI,ubuntu From: https://www.cnblogs.com/dinmin/p/17351341.html