
如何使用分割區的 GUID 在「refind.conf」中的啟動選項上正確設定磁碟區設定?
我目前的設定是,但「refind」失敗告訴我找不到指定的文件,我確信這不是真的:
timeout 5
#scanfor manual
#scanfor internal
menuentry "openSUSE_bs_ld" {
icon EFI/Tools/rEFIt/icons/os_linux.png #os_suse.png
ostype Linux
#openSUSE partition GUID
volume {cd55b59a-ed82-4883-89ad-b02bc505e117}
loader /boot/vmlinuz-3.16.7-7-desktop
initrd /boot/initrd-3.16.7-7-desktop
options "ro root=UUID=cd55b59a-ed82-4883-89ad-b02bc505e117"
}
我也嘗試過:
volume cd55b59a-ed82-4883-89ad-b02bc505e117
但也沒有運氣。
答案1
應該有效沒有大括號 ( {}
)。我剛剛仔細檢查了運行 Arch Linux 的測試系統,以下內容對我有用:
menuentry "Test" {
icon \EFI\refind_test\icons\os_arch.png
volume 904404F8-B481-440C-A1E3-11A5A954E601
loader vmlinuz-linux
options "initrd=initramfs-linux.img root=/dev/sda2"
}
您很可能指定了錯誤的 GUID 值。目前,rEFInd 支持分割此條目的 GUID 值,而不是檔案系統 UUID 值。此外,GUID 必須是唯一的 GUID,而不是用作類型代碼的 GUID。您可以使用gdisk
或了解 GUID 值sgdisk
,如下所示:
$ sudo sgdisk -i 2 /dev/sda
Partition GUID code: 0FC63DAF-8483-4772-8E79-3D69D8477DE4 (Linux filesystem)
Partition unique GUID: 904404F8-B481-440C-A1E3-11A5A954E601
First sector: 512040 (at 250.0 MiB)
Last sector: 79656926 (at 38.0 GiB)
Partition size: 79144887 sectors (37.7 GiB)
Attribute flags: 0000000000000000
Partition name: 'Linux filesystem'
請注意,此輸出中的行值Partition unique GUID
與我在範例節中使用的值相符。
哦,規範volume
應該位於依賴其他卷上的文件的任何聲明之後。就我而言,我將其放在該icon
行之後,因為我從 ESP(與 rEFInd 所在的捲相同)加載了一個圖標,但在loader
標識內核的行之前。如果您想要從與引導程式相同的磁碟區載入圖標,則該volume
行應該放在第一位。
FWIW,身為 rEFInd 的開發人員,正是這樣的困惑讓我建議人們不是使用手動引導節,除非有令人信服的原因。我在您的範例 sasho648 中沒有看到任何無法透過 rEFInd 的自動偵測機制處理的內容,結合檔案/boot/refind_linux.conf
以及設定特定圖示的幾種方法中的任何一種(如果您不喜歡所獲得的內容)預設情況下。事實上,您甚至不需要/boot/refind_linux.conf
非常接近您所擁有的內容,因為 rEFInd 可以root=
從/etc/fstab
if/boot
是根 ( ) 檔案系統上的目錄取得規格/
。當然,如果您只是提供了一個精簡的範例,並且打算以某種不尋常的方式對其進行擴展,那就是另一回事了。但在大多數情況下,有些人——尤其是那些熟悉手動配置 LILO 或 GRUB Legacy 的人——似乎不必要地傾向於手動引導節。 (這不是挖苦或敲門;當我第一次從rEFIt 分叉rEFInd 時,我陷入了同樣的心理陷阱。然後我意識到有更好的方法來做到這一點,並編寫了自動檢測程式碼。 )