解决关于在安装Linux后Grub中没有原先Windows引导的问题
关于:
- 本人是双系统,先安装了Winodws 10后安装Arch Linux
- 在按照Wiki上安装Arch后发现Grub中没有Windows的引导
- 虽然可以在BIOS中选择启动项(我有两个盘,win在一个,Linux在一个),但是强迫症不喜欢这样
- 以下是本人的解决方法
开始:
- 进入Linux后,获取Windows的UUID,执行以下命令:
grub-probe --target=fs_uuid /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
如果报ERROR看一看是不是哪个包没有安装所导致的或者后面的路径应该为你Windows的那个路径
- 之后编辑grub.cfg文件,执行以下命令:
vim /etc/grub.d/40_custom
- 添加以下文本:
menuentry 'Windows 10' {
set root='hd1,gpt1'
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
boot
}
在这里解释一下 set root='hd1,gpt1',hd1是代表我的Windows在第二个硬盘(/dev/sdb)中安装的,gpt1是代表Windows的EFI是以gpt格式并在/dev/sdb1中。大家根据自身情况设置数字...
- 保存后退出,为了更新grub.cfg文件,执行以下命令:
grub-mkconfig -o /boot/grub/grub.cfg
然后reboot就好了,可以在Grub中看到你的Windows引导了...
题外话:
将Grub设置为EFI第一引导项,有时开机后并不想干什么,此时在Grub中只有Linux和Windows俩个选项
那么
可不可以在里面增添两个选项,立刻重启电脑或者是关闭电脑呢?
在Linux中,打开 /boot/grub/grub.cfg 文件,在最下面(...反正我在最下面)添加以下文本:
### BEGIN PERSONAL OPTION ###
menuentry 'System Poweroff' {
echo "System shutting down..."
halt
}
menuentry 'System Restart' {
echo "System rebooting..."
reboot
}
### END PERSONAL OPTION ###
然后reboot重启看看,Grub菜单中是不是多了两个选项呢?
menuentry 引号后面是你的菜单中该选项的名称(可以自己DIY了)
还有我觉得上面没有必要echo...关机重启一瞬间根本连你echo出来啥都看不清楚就没了..2333