Ubuntu系统现在越来越受欢迎了,很多人多是采用的windows和ubuntu双系统。windows是不能识别ubuntu系统的,重装windows系统,很可能导致启动菜单丢失,网上流传的很多是legacy模式下的恢复,在UEFI启动模式下,还需要对EFI专门的设置,下面以root分区在/dev/sda2举例(fdisk-l、blkid或GParted工具来确定):
1,从livecd或liveusb启动,进入“Try Ubuntu”模式。
2,装载分区:
sudo mount /dev/sda2 /mnt
假如有 /boot, /var等单独分区,根据具体分区名要单独挂载
sudo mount /dev/sdXA /mnt/boot
sudo mount /dev/sdXB /mnt/var
3,因为linux运行时有一些分区包括实时信息,必须挂载以便grub识别
for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
4,对EFI模式,还必须单独挂载EFI分区(windows 是ESP分区)
使用sudo fdisk -l | grep -i efi or GParted 来找寻 EFI 分区,label带有 EFI的就是. 然后进行挂载
sudo mount /dev/sdXY /mnt/boot/efi
5,chroot到/mnt目录下进行菜单恢复
sudo chroot /mnt
grub-install /dev/sda
update-grub
如果EFI分区的UUID发生更改,还需要blkid找出新的UUID,在fstab文件中进行修改。