1. 程式人生 > >win10 基礎之上安裝 Linux-Manjaro-Deepin 連夜採坑,快速整理下

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雙系統安裝及使用的一些問題
相關資料一搜一大堆,基本是結合各家言論走到最後的... 所以這裡不再羅列贅述。