Grub2/Burg 부트로더를 사용하여 iso에서 부팅하는 방법

Grub2/Burg 부트로더를 사용하여 iso에서 부팅하는 방법

저는 Ubuntu를 기본 OS로 사용하고 있으며, 게임 및 기타 용도로는 Windows 7을 대안으로 사용하고 있습니다. 일부 Live CD ISO를 부팅하는 메뉴를 갖고 싶습니다. CD처럼 ISO 파일을 부팅하기 위해 Grub2/Burg에서 메뉴 항목을 만드는 방법이 있습니까?

이를 가능하게 하는 몇 가지 방법이 있지만 거의 모든 방법에는 지정된 부팅 매개변수(커널 매개변수)가 필요합니다. 하지만 Linux, Unix, DOS(복구 목적) 등 부트로더를 사용하여 부팅할 수 있는 라이브 OS가 여러 개 있습니다.

저는 메뉴 프로필을 쉽게 찾고 추가할 수 있는 보다 일반적인 방법을 찾고 있습니다.

답변1

저는 이미 SysLinux, Grub4Dos 및 Grub2가 포함된 완벽한 체인로더를 가지고 있습니다. 이것이 제 구성입니다.

시스템리눅스

LABEL DSL
KERNEL memdisk
INITRD /iso/dsl.iso
APPEND iso raw

LABEL GRUB4DOS
KERNEL /boot/grub.exe

Grub4Dos

title Paragon Partition Manager
map (hd0,0)/iso/paragon-bootable-media.iso (hd32)
map --hook
chainloader (hd32)
boot

title Syslinux
chainloader /boot/syslinux/syslinux.bin

title GRUB2 Chainload
root (hd0,0)
kernel /boot/grub/core.img
boot

GRUB2

menuentry "Ubuntu 13.10 Desktop ISO" {
  loopback loop /iso/ubuntu-desktop-amd64-13.10.iso
  linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/iso/ubuntu-desktop-amd64-13.10.iso noeject noprompt splash --
  initrd (loop)/casper/initrd.lz
}

menuentry "Tinycore ISO" {
  loopback loop /iso/tinycore.iso
  linux (loop)/boot/bzImage --
  initrd (loop)/boot/tinycore.gz
}

menuentry "GRUB4DOS" {
  linux16 /boot/grub.exe
}

menuentry "SYSLINUX" {
  chainloader=/boot/syslinux/syslinux.bin
}

답변2

일반 Linux 배포판의 경우 ISO 이미지의 절대 경로와 디스크는 물론 커널을 로드하기 위한 매개변수도 지정해야 합니다. 아래 예를 참조하세요.

loopback loop (hd0,msdos0)/linux.iso
linux (loop)/vmlinuz parameters
initrd (loop)/initrd.img

다른 운영 체제에서는 성공한 적이 없습니다.

답변3

우분투/민트와 같은 데비안 버전의 경우 apt-get install grub-imagebootiso 파일을 일부 폴더(기본값은 /boot/images/)에 넣으면 실행할 때마다 sudo update-grub해당 폴더에서 부팅 가능한 모든 iso 파일에 부팅 메뉴 항목이 추가됩니다. (mbr-windows 컴퓨터에서 easybcd가 ISO를 부팅하는 방법과 유사합니다).

    sudo apt-get install grub-imageboot  
    # do df -h /boot and make sure you have 300meg free on /boot partition
    cd /tmp; wget http://ftp.sh.cvut.cz/slax/Slax-9.x/slax-32bit-9.11.0.iso 
    sudo cp  /tmp/slax-32bit-9.11.0.iso  /boot/images/
    sudo grub-update

예를 들어, 부팅 파티션이 작은 경우 boot-isos큰 파티션에 /home/이라는 폴더를 만들고 아래와 같이 /etc/default/grub-imageboot 파일을 편집할 수 있습니다.

$ sudo mkdir /home/boot-isos/
$ cat /etc/default/grub-imageboot 
# Where to find the iso/floppy images

#IMAGES="/boot/images"
IMAGES="/home/boot-isos"

# You can override the boot options for iso/floppy images here
# see http://syslinux.zytor.com/wiki/index.php/MEMDISK for details

#IMAGEOPTS="rawimg"
#ISOOPTS="iso"

관련 정보