前言
以下是准备工作
- 进入Wind 设置(Deepin EFI 引导替换 Wind EFI 引导)
- 进入 PE 里设置(设置 EFI 以及 Grub)
- 进入 Deepin 设置 (启动项 添加Wind 的引导)
这边安装的是 deepin linux 20.3v ,状态描述安装成功重启后无法进入deepin系统
(这边是先安装wind后安装linux)
关闭“快速启动”
关闭 BIOS 的 “Secure Boot”的功能
在默认情况下,UEFI 固件只会加载那些被签名的引导程序。在缺少 Secure Boot 功能的传统 PC 机上,恶意的后门程序可以加载自身,进而摇身一变伪装成一个引导程序。这样的话,BIOS 就会在启动的时候加载后门程序,这样它就可以躲过操作系统,把自己隐藏得很深。
但是不得不说,这对我们安装 Linux 造成了很大的困扰,也是直接导致我们重启到 Windows 10 后进不去 Linux 的原因。
首先我们要关闭这个功能:进入 BIOS 找到 Secure Boot,选择 disabled,这样就关闭了。当然,有些人进入 BIOS 会发现 Secure Boot 这个选项是灰色的(比如我的就是),这时你需要先给你的 BIOS 设一个密码,然后就能关 Secure Boot 了。
进入Win设置
- 进入管理员命令行(cmd),运行以下代码, “Deepin Linux EFI 引导”替换掉“Windows EFI 引导”
bcdedit /set {bootmgr} path \EFI\Manjaro\grubx64.efi
开机完后你就会发现原来直接进入 Wnd 系统,现在是直接进入 Linux 系统。
进入PE设置
使用EasyBCD工具
- 在Windows系统中安装EasyBCD:从官网下载并安装。
- 添加Ubuntu引导项:打开EasyBCD,选择“添加新条目”,选择“Linux/BSD”,然后选择GRUB作为引导加载器。
- 保存设置并重启。
进入 Linux 设置
这一点是我安装 Arch Llinux 的时候发现的,Arch Linux 安装过程是手动安装的,在编写 GRUB 的时候会扫描不到 Windows Manager 所在的分区(当然可能不是所有人都会遇到),所以在 GRUB 界面可能会看不到 Windows Manager 选项,导致进不去 Windows 10,这里就需要手动编辑 GRUB 信息,我们打开 /boot/grub/grub.cfg
文件,发现里面确实没有 Windows 10 的启动信息,在后面加上:
menuentry "Microsoft Windows 10" {
insmod part_get
insmod fat
insmod search_fs_uuid
insmod chain
search --fs-uuid --set=root $hints_string $fs_uuid
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
注意:
这里的 $hints_string
,代表的是终端执行命令:
1sudo grub-probe --target=hints_string /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
后的输出;
而 $fs_uuid
代表的是:
1sudo grub-probe --target=fs_uuid /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
的输出。
然后保存。在终端执行命令:sudo grub-mkconfig -o /boot/grub/grub.cfg
,就 OK 了。
到此,Arch Linux 和 Windows 10 双系统也配置完毕了。