Fedora: .iso에서 LiveOS로 부팅하는 방법은 무엇입니까?

Fedora: .iso에서 LiveOS로 부팅하는 방법은 무엇입니까?

어떤 이유에서인지 저는 약 10개의 Linux 배포판과 3개의 Windows 버전이 포함된 맞춤형 USB 스틱을 가지고 있습니다. .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에는 있습니다.

라이브 환경으로 부팅하기 위해 시작 항목을 조정하는 방법은 무엇입니까?

답변1

결국 나에게 딱 맞는 메뉴였다.

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설치 소스를 가리키는 것입니다. (원천)

그래서 이를 제거하고 라이브 환경으로 부팅할 수 있도록 다음 매개변수를 추가해야 했습니다 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-2chroot 위치처럼 보입니다. CDLABEL.iso 파일을 설치하면 이 파일을 찾을 수 있습니다 . UUID를 사용하는 것도 효과가 있을 것이라고 생각하지만 아직 테스트하지는 않았습니다.

그것이 무엇인지 완전히 확신할 수 rd.live.image는 없지만 관련성이 있는 것 같지 않습니까? :p 이것은 초안 옵션인 것 같습니다. 아마도 실제 환경을 사용하는 것을 인식하게 될 것입니다.

관련 정보