传统bios方式下安装的windows10没有efi引导分区,uefi模式下安装的ubuntu无法在grub中找到win10的开机引导。必须生成win10的efi引导文件,再进行相关配置。
一、windows生成EFI引导
(1)首先,进入“计算机管理--》磁盘管理”中,压缩卷生成一个新的盘 (假设为 G ) 用作EFI分区,格式化为FAT32
(2)进入bcdboot.exe所在文件夹,运行以下指令 (注意:/s 后面的字母为要生成EFI引导的盘,这里为g)
bcdboot C:\Windows /l zh-cn /s g: /f UEFI
(3)进入“计算机管理”,删除EFI盘的分配的盘名,隐藏EFI盘
二、ubuntu中添加grub的win10开机引导
(1)进入GRUB界面按ESC 进入grub命令行界面。
(2)输入ls,查看所有磁盘分区 格式为 :(hdx, *) 【x为0或1】
(3) 用ls 获取(2)中得到的所有磁盘分区的信息,确定windows的EFI引导盘的位置,记下 (hdx, *) 以及 UUID 后面的序列号
(4)退出命令行界面,进入ubuntu系统
(5)ubuntu grub引导的配置在 /boot/grub/grub.cfg 中,打开命令行,运行
sudo gedit /boot/grub/grub.cfg
(6)添加windows开机引导
menuentry 'Windows 10' {
insmod 你的efi引导盘格式part_gpt 或 ntfs等
set root='(hdx,*)' #你的引导盘
search --no-floppy --fs-uuid --set 你的UUID系列
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
(7)保存文件,重启。配置成功。
注意:运行 sudo update-grub 会重置 /boot/grub/grub.cfg 文件,运行该指令后,必须重新在该文件中添加引导信息。开机引导中多余的引导项也可以在该文件中删除,删除对应的 menuentry ‘名字’ { #### } 即可