
通常,在安裝 CentOS 7 時,您會下載 ISO,將其寫入拇指驅動器並啟動它。然而,我有一個獨特的場景,我希望能夠將 CentOS 7 安裝檔案放在系統/boot/
分割區上,並建立一個GRUB2
可以啟動到該環境的自訂項目。然後可以使用它在同一系統上安裝 CentOS 7。
我知道這聽起來很傻,但我有我的理由。
經過一些研究後,我試著拼湊出它是如何運作的。這是我目前在腦海中看到的內容:
GRUB2
將載入 CentOS 7 核心vmlinuz
和initrd.img
.- 初始化內核並將其加載
initrd.img
到記憶體後,dracut-initqueue
服務啟動。 - 然後,進程
dracut-initqueue
將嘗試載入stage2
包含安裝運行時的映像(在本例中為 Anaconda)。 - 最後,CentOS 安裝過程開始。
所以開始我..
- 下載 ISO,安裝它並將
/images/pxeboot/vmlinuz
、/images/pxeboot/initrd.img
和/LiveOS/squashfs.img
(我相信其中包含stage2
圖像)檔案複製到我的/boot/
分區。 - 將以下條目新增至
/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)文件。
當然,「按原樣」使用此方法需要網路存取。