從 GRUB2 鏈載入 syslinux - 顯示 syslinux.cfg 選單

從 GRUB2 鏈載入 syslinux - 顯示 syslinux.cfg 選單

我正在使用 Clonezilla live USB 磁碟來重新映像系統。根據中的解釋http://clonezilla.org/fine-print-live-doc.php?path=clonezilla-live/doc/99_Misc/00_live-boot-parameters.doc我的磁碟會提示我包含所有系統的選單syslinux.cfg,但最新的 UEFI 機器(並且 BIOS 配置為先從 UEFI 裝置啟動)除外,系統會提示我選單grub.cfg

鑑於我大量定制了syslinux.cfg菜單,我想修改該grub.cfg文件以僅自動鏈接加載到 syslinux,以便syslinux.cfg在所有情況下顯示菜單。

這有可能嗎?如何?

磁碟上有 GRUB2,我的理解(透過在網路上尋找)應該是可能的,但我還不明白如何實現。任何幫助表示讚賞。

編輯:
我想澄清一下,系統使用 grub 啟動時不會出現選擇grub.cfgConezilla 下載提供的預設選單中的任何選項的問題,但我想做的是顯示 syslinux 的選單(在syslinux.cfg)而不是預設選單在grub.cfg

第二次編輯,我是如何做到的:
最後,建議的解決方案對我不起作用,所以我只是將“EFI\boot”資料夾設為“不可用”(重命名);這樣,UEFI 啟動失敗,系統從 syslinux 啟動,就像在舊系統上一樣:沒有修改 BIOS,沒有新選單,沒有鏈加載...

答案1

4年後...:)

嘗試這個:

menuentry 'menuentry' {
    set root=(hd0,1)
    syslinux_source /path/isolinux/isolinux.bin
    syslinux_configfile /path/isolinux/isolinux.cfg
}

答案2

這表明這是一些與此相關的錯誤以及一些補丁,因此很難確定:https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/469568

首先,如果您的作業系統更新grub,它將重新產生grub.cfg 並清除您的配置,因此不要手動修改/boot/grub.cfg,而是修改/etc/grub.d 中的檔案(名為40_custom或類似名稱的文件)並致電grub-mkconfig -o /boot/grub/grub.cfg.

你可以嘗試這樣簡單的事情:

menuentry "Syslinux 根磁碟機" {

設定根=(hd1,3)

鍊式裝載機+1

}

(hd1,3)是sdb3磁碟分割區,grub支援uuid識別,因此可以建立讓所有PC都偵測到您的分割區的設定。然而,根據我的經驗,有時這還不夠。

你也可以嘗試類似的東西chainloader (hd1,3)/path/to/syslinux/isofile.bin

如果一切都失敗了,可以從包含 syslinux 的 iso 啟動,但在你的情況下這似乎不是一個選項。

答案3

您必須進行目錄安裝而不是引導磁區安裝。如果您進行開機磁區安裝,則將分割區的前 512 位元組新增至檔案中並鍊式載入到該檔案。為我工作。

相關內容