建立 GRUB 條目以引導至 CentOS 安裝介質

建立 GRUB 條目以引導至 CentOS 安裝介質

通常,在安裝 CentOS 7 時,您會下載 ISO,將其寫入拇指驅動器並啟動它。然而,我有一個獨特的場景,我希望能夠將 CentOS 7 安裝檔案放在系統/boot/分割區上,並建立一個GRUB2可以啟動到該環境的自訂項目。然後可以使用它在同一系統上安裝 CentOS 7。

我知道這聽起來很傻,但我有我的理由。

經過一些研究後,我試著拼湊出它是如何運作的。這是我目前在腦海中看到的內容:

  1. GRUB2將載入 CentOS 7 核心vmlinuzinitrd.img.
  2. 初始化內核並將其加載initrd.img到記憶體後,dracut-initqueue服務啟動。
  3. 然後,進程dracut-initqueue將嘗試載入stage2包含安裝運行時的映像(在本例中為 Anaconda)。
  4. 最後,CentOS 安裝過程開始。

所以開始我..

  1. 下載 ISO,安裝它並將/images/pxeboot/vmlinuz/images/pxeboot/initrd.img/LiveOS/squashfs.img(我相信其中包含stage2圖像)檔案複製到我的/boot/分區。
  2. 將以下條目新增至/etc/grub.d/40_custom.
menuentry "CentOS 7 Installation" {
set root=(hd0,msdos1)
linux   /centos7-install/vmlinuz initrd=initrd.img stage2=/centos7-install/squashfs.img
initrd  /centos7-install/initrd.img
}

完成上述操作後,我希望至少能夠載入 Anaconda,但它只是載入「dracut-initqueue timeout」訊息。遺憾的是,我沒有運氣找到任何暗示到底出了什麼問題的日誌。

有人會對如何解決這個問題有任何想法嗎?

答案1

替換以下行

linux   /centos7-install/vmlinuz initrd=initrd.img stage2=/centos7-install/squashfs.img

linux   /centos7-install/vmlinuz inst.repo=<source>

其中<source>可以http://host/path包含完整安裝 DVD 上的目錄和檔案的完整副本。或者,您可以從「boot」ISO 中提取檔案並僅從.treeinfo「DVD」ISO 複製檔案。請參閱以下中的其他選項(如 NFS)文件

當然,「按原樣」使用此方法需要網路存取。

相關內容