本人基於已有MBR分區的單SSD硬盤win10系統基礎上,安裝manjaro deepin,組成雙系統。
如果有人看到這篇隨筆作為操作參考,那么建議您先全部看完再操作。
一、硬盤分區表轉換,U盤刻錄和安裝
一切操作前,你需要將硬盤提前釋放出一些 free space。
然后官方網站下載所需iso鏡像,然后在win10中安裝 refus刻錄工具,准備一個8GB以上的U盤(刻錄時,原有數據會清除,記得備份),
打開 refus,插入U盤(假設你的硬盤分區表不需要轉換為 gpt,或者你有多塊硬盤,或者你壓根不是要雙系統,):
我是優先選擇 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,主要關注:
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 什么后還要進一步做出選擇,比較麻煩(我的情況是這樣)。
三、注意事項:
- 假如有人看到這里,記得先粗略看完再行動,你的情況可能和我不一樣,有些步驟也不一定都需要。
- 坑比較多,記得bios關閉 secure boot
- 硬盤轉為GPT時(假如你是MBR的形式,具體百度了解自己的硬盤是什么分區表形式),新建的EFI,最后就用來作為 manjaro 的掛載點 /boot/efi
- 假如使用 win pe 修復windows啟動引導的工具修復后,能正常進入windows了,但是關機時發現100%自動重啟,也就是關不掉,那么去搜索 windows 控制面板 電源管理那塊,怎么取消勾選快速啟動。
- 至少我爬坑,然后大概出了坑,雙系統正常跑起來了,是基於以上的嘗試后對我有效的操作和自圓其說的理解而做到的,不夠全面,僅供參考!
參考:
secure boot的作用是什么——為什么安裝win+Manjaro需要關閉它
manjaro和win10雙系統安裝及使用的一些問題
相關資料一搜一大堆,基本是結合各家言論走到最后的... 所以這里不再羅列贅述。