win10 基础之上安装 Linux-Manjaro-Deepin 连夜采坑,快速整理下

本人基于已有MBR分区的单SSD硬盘win10系统基础上,安装manjaro deepin,组成双系统。
如果有人看到这篇随笔作为操作参考,那么建议您先全部看完再操作。

一、硬盘分区表转换,U盘刻录和安装

一切操作前,你需要将硬盘提前释放出一些 free space。

然后官方网站下载所需iso镜像,然后在win10中安装 refus刻录工具,准备一个8GB以上的U盘(刻录时,原有数据会清除,记得备份),
打开 refus,插入U盘(假设你的硬盘分区表不需要转换为 gpt,或者你有多块硬盘,或者你压根不是要双系统,):

refus设置
我是优先选择 DD镜像模式写入。

参考

设置bios 关闭安全启动,保存重启,找快捷键进入启动项设置,我的dell是f2和f12,选择 uefi usb启动,然后进入manjaro安装系统,有详细安装指南,可以看看,也参考百度其他人做法即可。

关于分区的问题,我的win10是传统mbr模式,已经存在3个分区,但 manjaro 还需要多个分区,这是就需要转换硬盘的分区表了(因为我只有一个硬盘),可以先了解下 uefi+gpt 扫盲。
关于ssd硬盘转换为 gpt 分区表的形式,可以百度无损转换方法,我是最终参考以下视频实现,进入 win pe系统(我还有个U盘,其中安装了win pe)的DG磁盘分区工具,把2硬盘转换为 gpt,然后手动分出 EFI 分区。
gpt 和 mbr 无损互转

这时再去走另一个U盘的UEFI manjaro 安装系统即可,安装配置时可见已经转换为 GPT形式,然后可以分区了,分区方案自行百度。
比如这样

二、修复启动引导

装完后,可能引导是坏的,进不了windows,或者进不了manjaro,
发现我的 dell本 bios设置中,设置为 UEFI 启动方式时,可以进一步指定 manjaro 的 efi 文件, 所以很容易解决进不了 manjaro 的问题。

但是,安装 manjaro 后大概率是进不了windows,此时,我是采用的在 manjaro 的 grub 启动器中,手动添加 windows 的引导:

wiki中找到这一块:The best way to add other entries is editing /etc/grub.d/40_custom or /boot/grub/custom.cfg.

关于刚才的wiki,主要关注:

A folder Manjaro (name could be some other also) containing the file grubx64.efi should also be present in /boot/efi/EFI/ folder, which should contain the grubx64.efi file which will be used by rEFInd to boot Grub.

So it could be like-

/boot/efi/EFI/Manjaro/grubx64.efi
rEFInd would use this file for booting Manjaro.

If you do not have this file or folder, try-

sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Manjaro --recheck
to create /boot/efi/EFI/Manjaro/grubx64.efi

理论上使用U盘安装了 Manjaro 后,进入后是可以找到 /boot/efi/EFI/Manjaro/grubx64.efi 这个目录和文件的,但问题就是只看得到 manjaro 引导,缺失 windows,此时需要根据 wiki来操作。

直接sudo nano 打开这个所谓的40_custom的grub配置文件,在末尾添加:

	menuentry "win10正在启动..." {
		insmod part_gpt
		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 和 $fs_uuid 需要替换为你本机的情况,可以通过命令行运算出来。看上面的wiki链接吧。

需要注意的是,这里在干什么?这里是 启动器里只有manjaro,没有win10,所以需要把win10的启动配置手动添加启动器里,然后选择性的启动。
所以先看 manjaro 的 /boot/efi 下的 /EFI/Microsoft/Boot/bootmgfw.efi 这个windows相关的东西存在吗?
如果没有,你这里这样写,最后也是启动不了的,因为压根找不到,这时候,就需要 win pe系统,去用工具修复windows的启动,

假如以上提到的目录都能找的话,那么修改好之后保存退出,运行:

grub-mkconfig update-grub 
# 或者下面的命令,都是为了改动后更新 grub.cfg,但后者指定新路径而已,可以两个都跑一下,CLI中的操作记录是一样的
grub-mkconfig -o /boot/grub/grub.cfg 

此时应该保证 bios 是 uefi 启动模式,然后启动项设置中保证 manjaro 优先,此时应该能够选择启动 manjaro 或者 windows了。

以上的手动编辑启动win10的配置的操作,就是为了方便,把 windows 的启动和 manjaro 的启动并列到一起,‘寄宿’到 manjaro 的启动项里,然后此时只需要方向键选择启动哪个即可。
不然每次都要 F2 F12 什么后还要进一步做出选择,比较麻烦(我的情况是这样)。

三、注意事项:

  1. 假如有人看到这里,记得先粗略看完再行动,你的情况可能和我不一样,有些步骤也不一定都需要。
  2. 坑比较多,记得bios关闭 secure boot
  3. 硬盘转为GPT时(假如你是MBR的形式,具体百度了解自己的硬盘是什么分区表形式),新建的EFI,最后就用来作为 manjaro 的挂载点 /boot/efi
  4. 假如使用 win pe 修复windows启动引导的工具修复后,能正常进入windows了,但是关机时发现100%自动重启,也就是关不掉,那么去搜索 windows 控制面板 电源管理那块,怎么取消勾选快速启动。
  5. 至少我爬坑,然后大概出了坑,双系统正常跑起来了,是基于以上的尝试后对我有效的操作和自圆其说的理解而做到的,不够全面,仅供参考!

参考:
secure boot的作用是什么——为什么安装win+Manjaro需要关闭它
manjaro和win10双系统安装及使用的一些问题
相关资料一搜一大堆,基本是结合各家言论走到最后的... 所以这里不再罗列赘述。

原文地址:https://www.cnblogs.com/nicholaswang/p/10032184.html