Windows、Ubuntu双系统 + 固态硬盘、机械硬盘通过Grub引导

主要是Windows安装再固态硬盘,Ubuntu(deepin)安装再机械硬盘,在安装deepin的时都是默认走,导致Ubuntu Grub建立引导时找不到在固态硬盘中的Windows引导。

一、找到启动分区所在的硬盘编号(笨办法)

既然找不到Windows的分区引导,这里再deepin启动界面直接按“C”或者“Ctrl + C”进度grub命令行。(可以参考:
https://www.cnblogs.com/peach-blossoms/p/15228957.html)
输入ls命令,就会出现

grub> ls

(hd0),(hd0,gpt3),(hd0,gpt2),(hd0,gpt1),(hd1),(hd1,gpt3),(hd1,gpt2),(hd1,gpt1)等一系列分区。
再输入命令:

grub> insmod ntfs
grub> set root=(hd1, gpt1)
grub> chainloader /EFI/Microsoft/Boot/bootmgfw.efi
grub> boot
通过设置 root = (hd0, gpt1)找到Windows系统所在分区(我这是本办法,有好的方式的请留言,如果不是,则无法启动系统)。
记下 set root=(hd1, gpt1)

二、修改grub配置文件

网上很多都不建议去改/boot/grub/grub.cfg文件,因为它是通过命令:sudo grub-mkconfig -o /boot/grub/grub.cfg 生成的文件。

建议直接去修改生成模板 /etc/grub.d/40_custom

sudo vim /etc/grub.d/40_custom

再文末加上:


menuentry 'Windows Boot Manager' {
		**set root='hd1,gpt1'**   ## 前面记下的启动分区编号
		chainloader /EFI/Microsoft/Boot/bootmgfw.efi
		boot
}

然后重新生成gurb.cfg文件

sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo update-grub

我的通过update-grub之后,同样不显示找到'Windows Boot Manager'。

但是,启动的时候,启动界面已经可以启动Windows了

至于要设置windows优先启动的话,参考以下两篇文章:

    https://www.cnblogs.com/finalstar/p/5683235.html

    https://www.cnblogs.com/clintqi/p/7190625.html
posted @ 2022-03-02 16:41  无关风和月  阅读(947)  评论(0编辑  收藏  举报