Fedora

Fedora:如何從 .iso 啟動到 LiveOS?

  • October 8, 2021

由於某種原因,我有一個自定義的 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 環境。

引用自:https://unix.stackexchange.com/questions/672439