Fedora
Fedora:如何從 .iso 啟動到 LiveOS?
由於某種原因,我有一個自定義的 USB 記憶棒,大約有大約 10 個 Linux 發行版和 3 個版本的 Windows。我只是將 .iso 文件放到 /Linux 中,然後使用 GRUB 引導到這些 .isos。一些範例條目:
menuentry "ubuntu 20.04" --class ubuntu { set isofile="/Linux/ubuntu.iso" loopback loop ($BOOT)$isofile linux (loop)/casper/vmlinuz iso-scan/filename=$isofile boot=casper ro quiet splash initrd (loop)/casper/initrd } menuentry "Manjaro 18.0.4" --class manjaro { set isofile="/Linux/manjaro.iso" set imgdevpath="/dev/disk/by-uuid/$UUID" loopback loop ($BOOT)$isofile linux (loop)/boot/vmlinuz-x86_64 img_dev=$imgdevpath img_loop=$isofile ro quiet splash initrd (loop)/boot/initramfs-x86_64.img } menuentry "Silverblue 34 (Install only)" --class silverblue { set isofile="/Linux/silverblue.iso" loopback loop ($BOOT)$isofile linux (loop)/isolinux/vmlinuz inst.stage2=hd:UUID=$UUID:$isofile ro quiet splash initrd (loop)/isolinux/initrd.img }
現在,我可以獲取 Silverblue 條目,並將其指向 Fedora.iso 文件。它會啟動得很好,但它只會直接進入安裝程序。雖然 Silverblue 的 .iso 文件中沒有 LiveOS 文件夾,但 Fedora 有。
我將如何調整啟動條目以使其啟動進入 Live 環境?
這最終對我來說是正確的菜單條目。
menuentry "Fedora 34" --class fedora { set isofile="/Linux/fedora.iso" loopback loop ($BOOT)$isofile linux (loop)/isolinux/vmlinuz iso-scan/filename=$isofile root=live:CDLABEL=Fedora-WS-Live-34-1-2 rd.live.image ro initrd (loop)/isolinux/initrd.img }
顯然,
inst.stage2
用於指向安裝源。(來源)所以我不得不刪除它,並添加這些參數以使其啟動到 Live 環境中:
iso-scan/filename=$isofile root=live:CDLABEL=Fedora-WS-Live-34-1-2 rd.live.image
.沒有
iso-scan/filename=$isofile
,它就找不到 .iso 文件。
root=live:CDLABEL=Fedora-WS-Live-34-1-2
看起來像一個 chroot 位置。您可以CDLABEL
通過掛載 .iso 文件找到。我想使用 UUID 也可以,但還沒有測試過。不完全確定是什麼
rd.live.image
,但它看起來確實相關,不是嗎?:p 這似乎是一個 dracut 選項。可能只是讓它知道使用 Live 環境。