小站

导航

【备忘录】uefi模式下,ubuntu的esp分区文件丢失处理全过程

写在前头:ubuntu+windows双系统,每个系统各占一个硬盘,启动引导是第二块ubuntu硬盘的grub2。现在重做了windows系统,在官方安装盘里操作新建分区时,因为windows只能有一个esp分区,导致windows自动把ubuntu的esp分区格式化了。windows安装完成后,ubuntu没有入口了,以下是解决办法,其他情况可以扩展(触类旁通)。

注意事项:此操作适用环境为家用台式机或笔记本,不适用于服务器。

一、制作ubuntu的live cd usb启动盘:

用虚拟机,配置实体U盘到虚拟机上,U盘为sdb,执行:

dd if=./ubuntu.iso of=/dev/sdb bs=10M

启动live cd:

忽略,进入演示系统

二、修复esp分区

演示系统下进入命令行,需要修复的ubuntu的硬盘为sdb、根分区/为sdb3、esp分区为sdb1,执行:

lsblk
sudo mount /dev/sdb3 /mnt
sudo mount /dev/sdb1 /mnt/boot/efi
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
grub-install /dev/sdb
update-grub
exit

三、可选,增加并激活efi启动项

此功能适用于经过以上修复,启动后还是只有一个光标闪烁并且进不了ubuntu系统的情况,内容为手动指定efi启动项、启动硬盘、启动文件。执行的环境为live cd下,secure boot关闭状态,其中需要修复的ubuntu硬盘为sdb。

efibootmgr -v
efibootmgr -c -d /dev/sdb -p 1 -L ubuntu -l '\EFI\ubuntu\grubx64.efi'
efibootmgr -b 新增的序号(如0002) -a
efibootmgr -v

四、进入ubuntu,在grub2中添加windows启动项

已经可以进入系统,没有windows启动项,可以选择执行此项。

sudo vi /etc/default/grub
sudo update-grub
reboot

五、完成,修改主板的uefi启动顺序,ubuntu为第一项。

posted on 2023-03-18 18:28  刘增帅  阅读(966)  评论(0)    收藏  举报

联系邮箱
liuzengshuai@aliyun.com