0


双系统下解决无grub引导菜单以及grub中没有windows引导项的问题

文章目录

1. 基本情况

参照双系统安装教程安装完ubuntu

成功可以使用以后就没有管了

直到后来想切换回windows 发现重启以后没有ubuntu的grub启动引导菜单,也就没法切换回windows系统,直接就进ubuntu了

先通过bios修改了启动引导顺序,未果

2. 解决无grub引导菜单的问题

参照双系统安装 Ubuntu 没有grub启动项的解决

  1. 进入ubuntu系统后,打开终端,输入sudo gedit /etc/default/grub
  2. 把第7行的GRUB_TIMEOUT_STYLE=hidden改成GRUB_TIMEOUT_STYLE=menu
  3. 保存。终端执行 sudo update-grub
  4. 重启电脑。会发现启动菜单已经出来了。

原文链接:https://blog.csdn.net/qq_34626094/article/details/112696042

解决了没有grub引导菜单的问题

然而此时的引导菜单中只有ubuntu没有windows ???

3. 解决grub引导菜单中无windows的问题

3.1 gpt版本

最先搜索到了文章双系统 Ubuntu grub启动项中 没有Windows的解决

该方法仅适用于gpt安装的双系统,其解决方案如下(有问题,后面会说

终端依次执行下面命令

sudo grub-install /dev/sda
sudochmod -x /etc/grub.d/30_os-prober
sudo gedit /etc/grub.d/40_custom

在打开的40_custom文件中输入如下一段内容:

menuentry 'Win10'{
insmod part_gpt
insmod chain
insmod ntfs
setroot='(hd0,gpt1)'
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

终端继续执行

sudoupdate-grub

以上命令执行完以后,可以发现/boot/grub/grub.cfg文件发生了变化。

重启后,win10选项就出现在grub菜单中了。

原文链接:https://blog.csdn.net/qq_34626094/article/details/112695992

如果到此为止,选win10回车进入了,那么你的问题就解决了,恭喜,省了很多事。

如果不行,大概率问题在于,这里的efi引导区是要更改的,不然会报错:

找不到路径/EFI/Microsoft/Boot/bootmgfw.efi

那就要继续操作了

3.2 找回Microsoft/Boot

重启,在ubuntu引导菜单时不要急着进入,按E再按F10进入grub命令行(这是参考别人的方法,我的电脑命令行并不是这样进的)
如果E+F10直接重启了并没有进入命令行,那就在菜单界面按ESC(我的方法)
进入grub命令行后,通过ls命令查看磁盘分区情况,确定自己的windows EFI分区位置:
主要用到两个命令:

lsls(hdx,msdosy)

hd0表示第一块硬盘,hd1表示第二块硬盘。msdos1表示第一个分区,以此类推。你需要知道自己的window系统装在第几个硬盘的第几个分区。然后ls(hdx,msdosy)的格式,表示第x块硬盘,第y个分区,这样就可以列出windows系统所在分区的信息。就如下图所示。你需要记下你Windows硬盘分区的文件系统类型(我的文件系统类型就是ntfs)和uuid号(uuid号就是uuid后面那串大写字母和数字混合的编码)。
在这里插入图片描述
依次查看这些分区,通过label和 total size判断是否是windows EFI所在分区
我的分区就在系统盘里,也就是(hd1,msdos1)

记住或者直接拍照对应的uuid,后面要用

接着重启进入ubuntu
再次在命令行进行添加引导项的操作:

sudo grub-install /dev/nvme01np1 # 这里/dev后的路径改成windowsEFI所在的硬盘,不一定是sda 我的就是nvme01np1sudochmod -x /etc/grub.d/30_os-prober
sudo gedit /etc/grub.d/40_custom

在打开的40_custom文件中输入如下一段内容:

menuentry 'Win10'{
insmod part_gpt
insmod chain
insmod ntfs
setroot='(hdx,msdosy)'# 这里x,y 改成自己电脑windows EFI分区的位置 比如我的是hd1,msdos1
search --no-floppy --fs-uuid --set xxxxxxxx(刚才记下的uuid编号)
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

终端继续执行

sudoupdate-grub

这次,再选那个win10的选项应该就能打开了!

如果还有其他问题欢迎评论区交流!

标签: windows ubuntu linux

本文转载自: https://blog.csdn.net/fanstering/article/details/130972231
版权归原作者 fanstering 所有, 如有侵权,请联系我们删除。

“双系统下解决无grub引导菜单以及grub中没有windows引导项的问题”的评论:

还没有评论