双系统下grub引导windows系统
我在一台本来有windows的电脑上安装了arch linux,在grub里是没有windows系统的,于是搜索各种文章,花费好长时间才成功。在这里分享一下我的解决方法,希望能帮到有需要的人。
我先是参考了这篇文章
https://blog.csdn.net/weixin_43669969/article/details/110820419
在grub界面里可以看到windows系统,但是进入时会显示找不到路径。
这篇文章里在/boot/grub/grub.cfg
里添加了这段代码
menuentry 'Microsoft Windows 10' {
insmod part_gpt ## -> 现在一般是gpt格式的硬盘
insmod fat ## -> 实际上是fat格式,可以自己试一下是vfat还是fat
insmod chain
search --fs-uuid --no-floopy --set=root XXXX-XXXX ## <- your windows EFI partion UUID
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi ## 注意大写
}
在经过各种搜索后,终于摸索出了一个解决方法。由于对linux的学习还比较有限,所以具体原理还不太清楚
menuentry 'Microsoft Windows 10' {
insmod part_gpt
insmod fat
insmod chain
set root='hd0,gpt1' ##修改这一行,hd0表示磁盘,对应着sda,gpt*表示磁盘的某一分区,对应着sda1
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}