前言#
之前給筆記本換了 SSD 硬碟,分了 60G 裝了深度系統,果然仍然不夠能用(這句話語法很別扭,然後深度系統給人的感覺就是這樣);
然後分了 C 盤把舊硬碟裡的 Windows 系統複製進來,一通操作後深度系統的引導沒了,一直想著怎麼恢復回來;
以及,「ESP」和「EFI」這兩個詞各自是啥含義呢?
一些前置鏈接#
rEFInd 官方倉庫:https://sourceforge.net/p/refind/code/ci/master/tree/
rEFInd-theme:https://github.com/topics/refind-theme
rEFInd 引導使用教程 - 知乎:https://zhuanlan.zhihu.com/p/67114559
獲取二進行文件#
The rEFInd Boot Manager: Getting rEFInd:
https://www.rodsbooks.com/refind/getting.html
↑ 在上邊頁面中「A binary zip file
」指向鏈接下載到編譯後的文件,解壓後備用;
Windows 下掛載 ESP 分區並設置訪問權限#
管理員權限打開 cmd 或 PowerShell 執行,select disk 0
及select par 3
為我當前的硬碟或分區序號;
# 進入工具
diskpart
# —— 進入後不再支持註釋,所以後續請按行複製命令自身
# 列出磁碟
list disk
# 選擇 efi 分區所在磁碟
select disk 0
# 列出分區
list par
# 選擇 esp/efi 分區
select par 3
# 自動分配磁碟符
ass
# 獲取權限(在 select par <serid> 選擇分區後,需重啟系統)
set id=EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
# 恢復權限(在 select par <serid> 選擇分區後)
set id=C12A7328-F81F-11D2-BA4B-00A0C93EC93B
放置 rEFInd 文件到 EFI 分區#
複製下載文件中的「refind
」文件夾到 EFI 分區內,E
是前邊ass
命令分配到的磁碟符:
refind-bin-0.13.3.1\refind
→E:\EFI\refind
;
複製或改名:
refind\refind.conf-sample
→refind\refind.conf
;
添加至 UEFI 啟動項#
EasyUEFI 並不好用,然後發現DiskGenius
也可以實現;
「- 前邊取消隱藏的操作是不是也可以用這軟件來 -」
1、「工具」→「設置 UEFI/BIOS 啟動項」;
2、「添加」→「選擇分區:EFI 所在分區)」→「啟動文件:\EFI\refind\refind_x64.efi」;
3、左側列表選中新添加的項→「啟動項名稱:rEFInd
」→點擊「保存當前啟動項設置」→「上移」該啟動項到第一位;
4、(可選)將「Windows Boot Manager」的屬性勾選「隱藏」屬性→「保存當前啟動項設置」;
自定義配置及主題#
# /e/EFI/deepin$
ls *.efi
fbx64.efi* grub.efi* grubx64.efi* mmx64.efi* shimx64.efi*
僅深度的引導目錄內就有如上眾多的 efi 文件,每一項都會被 rEFInd 識別會一個引導項;
別外還會直接掃描 Linux 內核來識別可引導項;
總之默認情況下會有各種重複的圖標,需要自定義進行排除;
# 等待時間
timeout 0
# 不知道是啥
use_nvram false
# 關閉內核發現
scan_all_linux_kernels false
# 排除文件,對於 deepin 只保留 grubx64.efi
dont_scan_files grub.efi, fbx64.efi, mmx64.efi, shimx64.efi
# 上邊的 dont_scan_files 並沒有排除全部 efi 文件,會與下邊的 menuentry 重複;
# 所以一般不需要使用 menuentry 指令定義項目,icon 也會自動匹配識別;
# menuentry "Deepin" {
# icon /EFI/refind/themes/rEFInd-minimal/icons/os_deepin.png
# loader /EFI/deepin/grubx64.efi
# }
# menuentry "Windows" {
# icon /EFI/refind/themes/rEFInd-minimal/icons/os_win.png
# loader /EFI/Microsoft/Boot/bootmgfw.efi
# }
include themes/rEFInd-minimal/theme.conf