Fedora 또는 CentOS와 같은 비 우분투 라이브 ISO 이미지에서 부팅하는 방법은 무엇입니까?


26

나는 loopback다음과 같이 할 수 있음을 발견했다.

menuentry "Lucid ISO" {
loopback loop (hd0,1)/boot/iso/ubuntu-10.04-desktop-i386.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/iso/ubuntu-10.04-desktop-i386.iso noprompt noeject
initrd (loop)/casper/initrd.lz
}

그러나 우분투 또는 그 파생 상품에서만 작동합니다. fedora, cent, opensuse 등과 같은 다른 라이브 이미지를 부팅하려면 어떻게 작성해야합니까?

편집 : 다른 항목을 찾았지만 모두 데비안 기반 일 것입니다.

menuentry "Linux Mint 10 Gnome ISO" {
 loopback loop /linuxmint10.iso
 linux (loop)/casper/vmlinuz file=/cdrom/preseed/mint.seed boot=casper initrd=/casper/initrd.lz iso-scan/filename=/linuxmint10.iso noeject noprompt splash --
 initrd (loop)/casper/initrd.lz
}

menuentry "DBAN ISO" {
 loopback loop /dban.iso
 linux (loop)/DBAN.BZI nuke="dwipe" iso-scan/filename=/dban.iso silent --
}


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


menuentry "SystemRescueCd" {
 loopback loop /systemrescuecd.iso
 linux (loop)/isolinux/rescuecd isoloop=/systemrescuecd.iso setkmap=us docache dostartx
 initrd (loop)/isolinux/initram.igz
}

Edit2가 어떻게 연쇄 적으로 읽어 들일하는 grubsyslinux에서 grub2?

편집 3 : 이동식 장치없이 다른 라이브 이미지를 부팅하고 사용 grub2하기 위해 특정 메뉴 항목이 필요합니다 grub2.


1
이것은 주제가 아니며, 여전히 유닉스와 리눅스 스택 교환이 더 좋습니다 unix.stackexchange.com
Tachyons

@Rinzwind 어떻게 ??
Tachyons

2
문제는 fedora, centOS 및 opensuse에 관한 것입니다. 우분투가 아닙니다. @abcd
Rinzwind

2
그건 그렇고 : Fedora는 이것을 할 수 없습니다. CentOS는 기본적으로 Fedora입니다. dracut기능 요청이 있으며이를 위해 패치해야합니다. 이 패치는 bugzilla.redhat.com에서 찾을 수 있습니다
Rinzwind

답변:


19

iso에서 부팅하는 기능은 배포판에서 지원해야하는 기능이며 iso-scan/filename=Fedora 또는 그 밖의 다른 옵션에서는 작동하지 않습니다. 이 기능에 대한 다른 커널 옵션이 있거나 기능이 전혀 지원되지 않을 수 있습니다.

Fedora 16 DVD를 부팅하는 방법을 찾았습니다. 아래는 다음과 같습니다.

GRUB에서 Fedora 15 DVD iso 부팅하기

menuentry "Fedora 15 (DVD)"{
 insmod 루프백
 인스 모드 iso9660
 isofile = "/ Fedora-15-x86_64-DVD.iso"설정
 루프백 루프 (hd0,2)
 리눅스 (루프) / isolinux / vmlinuz rootfstype = auto root = live : UUID = : $ isofile ro quiet
 initrd (루프) /isolinux/initrd.img
}

iso 파일이 내부 하드 디스크의 두 번째 파티션 루트에 있다고 가정합니다.

출처 :이 페이지

배포판과 무관 한 기능이 아니기 때문에 Google에서 다른 배포판을 검색 할 수 있습니다.

참고 1 : Fedora 16에서도 작동했습니다. 방금 테스트했습니다.
참고 2 : iso 파일을 fat 또는 ext4 파티션에 넣을 때이 방법이 효과가 있었던 것 같습니다.


GRUB2에서 grml small iso 부팅

grmlgrub2 에서 부팅 할 수도 있습니다. findisoiso-scan/filename옵션 은 옵션 대신 옵션을 사용 하여 iso에서 부팅이 다른 배포판에서 다른 옵션으로 구현됨을 나타냅니다.

(메뉴 항목 "Grml small 2009.10"{
  루프백 루프 /boot/iso/grml-small_2009.10.iso
  리눅스 (루프) / boot / grmlsmall / linux26 findiso = / boot / iso / grml-small_2009.10.iso apm = power-off lang = us vga = 791 boot = live nomce noeject noprompt-
  initrd (루프) /boot/grmlsmall/initrd.gz
}

이 페이지 에는 Grub2에서 부팅하는 다른 배포판의 몇 가지 예가 있습니다.


openSUSE 부팅 13.1 iso에서 라이브

다음은 효과가있는 유일한 솔루션입니다 (다른 모든 사람들이 MBR 식별자를 찾지 못하고 중지했습니다). 이 예제에서 iso는 디렉토리에서 첫 번째 디스크의 세 번째 파티션에 배치됩니다 /home/username/.

menuentry "openSUSE_13.1_GNOME_Live"{
  load_video
  insmod gzio
  insmod part_msdos
  insmod ext2
  root = '(hd0, msdos3)'설정
  isofrom_device = '/ dev / sda3'설정
  isofrom_system = '/ home / username / openSUSE-13.1-GNOME-Live-i686.iso'설정
  로더 설정 = '/ boot / i386 / loader'
  루프백 루프 $ isofrom_system
  리눅스 (루프) $ loader / linux isofrom_device = $ isofrom_device isofrom_system = $ isofrom_system ramdisk_size = 512000 ramdisk_blocksize = 4096 ro 조용한 스플래시 $ vt_handoff preloadlog = / dev / null showopts
  initrd (루프) $ loader / initrd
}

출처는 janeppo의 의견 입니다.


페도라 17 그놈 라이브 이소

Fedora 17의 부팅 메뉴 grub.cfg 항목은 다음과 같습니다. iso는 첫 번째 디스크의 세 번째 파티션에 있습니다. 또한 파일 이름이 변경되었습니다.

menuentry "페도라 라이브"{
    루프백 루프 (hd0,3) /fedora.iso
    리눅스 (루프) / EFI / BOOT / vmlinuz0 root = live : /fedora.iso rootfstype = auto ro liveimg quiet rhgb rd.luks = 0 rd.md = 0
    initrd (hd0,3) / initrd-fromiso
}

마지막 참고 사항 : 이 답변이 예라고 생각합니다. 예제를 통해 더 자세히 설명해서는 안됩니다.


fedora 15에 대한 위의 항목을 시도했지만 작동하지 않았습니다. 어떤 추측?
Rahul Virpara 2016 년

내 항목은 다음과 같습니다 pastebin.com/1ksBVu21
Rahul Virpara 2016

3

다음은를 사용하여 부팅하기로 결정한 iso 파일 grub2입니다.

ISO에 따라 성공적으로 부팅했습니다

  • 우분투 정확한 Pangolin 12.04 ISO
  • 시스템 구조 CD
  • 부팅 하드웨어 감지 도구
  • 무료 도스
  • 하 이런의 부팅 CD
  • 궁극의 부팅 CD

Hiren 's Boot CD 등과 같은 다른 ISO를 부팅하려면 MEMDISK유틸리티를 커널로 사용할 수 있습니다 .

MEMDISK는 어디서 구할 수 있습니까?

여기 에서 Syslinux를 다운로드 하십시오 . 데스크탑으로 옮깁니다.

작동시키는 방법?

cd ~/Desktop/
tar xvif syslinux-4.05.tar.xz 
cd syslinux-4.05/memdisk/
sudo mkdir /customboot
sudo mv memdisk /customboot/
cd /customboot/
sudo mv memdisk memdisk4.05
gksudo gedit /etc/grub.d/40_custom 

그런 다음 gedit에 아래 항목을 붙여 넣습니다. 을 변경해야합니다 set isofile="/path/to/iso-file.iso".

그런 다음 발행하십시오 update-grub. 재부팅하고 확인하십시오.

40_custom파일 내 항목 .

menuentry "Ubuntu Natty Narwhal 11.04 ISO" {
    set isofile="/OS/ubuntu-11.04-desktop-i386.iso"
    loopback loop (hd0,6)$isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject --
    initrd (loop)/casper/initrd.lz
}
menuentry "Ubuntu Precise Pangolin 12.04 ISO" {
    set isofile="/OS/ubuntu-12.04-desktop-i386.iso"
    loopback loop (hd0,6)$isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject --
    initrd (loop)/casper/initrd.lz
}
menuentry "SystemRescueCd" {
    set isofile="/OS/systemrescuecd-x86-2.7.0.iso"
    loopback loop (hd0,6)$isofile
    linux (loop)/isolinux/rescuecd isoloop=$isofile setkmap=us docache dostartx
    initrd (loop)/isolinux/initram.igz
}
menuentry "Boot Hardware Detection Tool from iso using memdisk 4.05" {
    linux16 /customboot/memdisk4.05 iso
    initrd16 /customboot/hdt.iso
}
menuentry "Free Dos from iso using memdisk 4.05" {
    set isofile="/OS/fdbasecd.iso"
    linux16 /customboot/memdisk4.05 iso
    initrd16 (hd0,6)$isofile
}
menuentry "Hiren's boot CD using memdisk 4.05" {
    set isofile="/OS/Hiren's.BootCD.10.1.iso"
    linux16 /customboot/memdisk4.05 iso
    initrd16 (hd0,6)$isofile
}
menuentry "Ultimate Boot CD iso using memdisk 4.05" {
    set isofile="/OS/ubcd511.iso"
    linux16 /customboot/memdisk4.05 iso
    initrd16 (hd0,6)$isofile
}

모든 ISO 파일은에 보관 sda6/OS하고 MEMDISK우분투를 설치 (루트)과로 이름이 변경되는 경우 파티션에 보관 memdisk4.05그것에 경로 그래서/customboot/memdisk4.05

참고 : fedora는 주어진 다른 답변으로는 작동하지 않았습니다. 아직도 페도라를 부팅하려고합니다 :(.


memdisk 및 grub과 함께 ISO 파일을로드 할 때 ISO 파일은 462MB initrd16보다 작아야합니다. 관련 오류 메시지 : GRUB : 오류 : 적절한 메모리 대상 찾을 수 없습니다 수 : memdisk MEMDISK을 : 지정되지 램 디스크 이미지를 . 자세한 내용은 여기여기를 참조 하십시오 .
gregn3

2

불행히도 이러한 권장 사항 중 어느 것도 나를 도와주지 못했습니다. 그래서 나는 길을 찾았고 당신과 공유하고 싶습니다. 예를 들어 centos를 부팅하려면 다음이 필요합니다. 디렉토리에 iso 이미지를 넣습니다. 루트 디렉토리가 / dev / sda1에 마운트 된 경우, dir / iso를 작성하고 거기에 iso를 넣으십시오. 메뉴 콘솔로 이동하십시오 (메뉴 메뉴가 나타나면 'c'를 누르십시오).

적절한 장치를 선택하십시오-hd0은 sda를 의미합니다. iso가있는 곳을 선택해야합니다.

loopback loop (hd0,msdos1)/iso/Redhat.iso 
linux (loop)/isolinux/vmlinuz inst.repo=hd:sda1:/iso/Redhat.iso 
initrd (loop)/isolinux/initrd.img 
boot

그리고 부팅하세요!


1

다른 시스템에 대한 지식이 있어야 그루브 항목을 올바르게 부팅 할 수 있어야합니다. 네 가능합니다.

그러나 멀티 시스템은 하나의 대형 USB 드라이브에 다양한 디 트로이 ISO를 보유 할 수있는 유능한 도구입니다. 실제로 잘 작동하지만 PPA에서 설치해야합니다.

http://www.pendrivelinux.com/multiboot-create-a-multiboot-usb-from-linux/

InstallFests를 위해 하나의 pendrive에 Ubuntu 도구뿐만 아니라 Gparted LiveUSB 및 기타 도구를 가질 수 있도록 사용합니다. 보너스로 그것은 메뉴에 대한 사용자 정의 스플래시 화면을 허용하며, 호주 LoCo 팀의 로고로 설정했습니다.

크리스

언급 한 바와 같이 Multisystem은 Grub2를 사용하여 원하는 작업을 수행합니다. 이 주제를 벗어난 스레드가 허용되거나 최소한 허용되는 내 다중 시스템 Grub2의 Fedora 항목이 있습니다.

 menuentry "Fedora-15-i686-Live-Desktop.iso" {
 linux /fedora1/isolinux/vmlinuz0 live_locale=en_AU.UTF-8 live_keytable=us live_dir=/fedora1 root=UUID=493A-D2EF rootfstype=auto ro liveimg quiet rhgb rd_NO_LUKS rd_NO_MD noiswmd
 initrd /fedora1/isolinux/initrd0.img
 }

데비안 기반 배포판에서와 같이 지원되지 않으므로 ISO에서 직접 부팅 할 수 없습니다. 다음과 같이 하드 드라이브에서 사용 가능한 ISO에서 압축을 푼 파일이 필요합니다.

chris@chris-office:/media/RED8/fedora1$ ls -l
total 563972
drwx------ 2 chris chris      4096 Feb 11  2011 isolinux
-rw-r--r-- 1 chris chris     43503 May 14  2011 livecd-iso-to-disk
-r--r--r-- 1 chris chris      8192 May 14  2011 osmin.img
-r--r--r-- 1 chris chris 577449984 May 14  2011 squashfs.img

물론 Fedora를 부팅 할 파티션의 / fedora / 디렉토리 위치와 UUID를 변경해야합니다. 또한 마운트 모드를 ro에서 rw로, 그리고 squashfs에 대한 권한과 같은 다른 적절한 것을 변경해야합니다.

일반적인 / home 파티션을 마운트 할 수없는 이유는 없지만 가상 지속성 디스크를 설정할 수도 있습니다. 다시 한 번, Multidisk를 설치하고 구성 방법을 배우기 위해 직접 구성을 제안 할 수 있습니다.

크리스


문제는 GRUB2부팅 가능한 pendrive 또는 다른 배포판을 갖는 외장 하드 디스크를 만드는 방법이 아닌 기존 항목을 만드는 방법입니다. BTW GRUB2는 다른 배포판보다 더 나은 지식이 필요 하므로 실제로는 GRUB(일부 배포판은 여전히 ​​GRUB을 사용하기 때문에) 또는와 관련이 GRUB2있습니다.
Rahul Virpara

1
Fedora, Centos 및 Suse와 같은 배포판에 대한 grub 항목을 만드는 것은 grub보다 배포판과 관련이 있으며 Ubuntu와는 아무런 관련이 없습니다.
fabricator4

1
@virpara : 또한 하드 드라이브에서 ISO를 부팅하도록 지정하지 않았습니다. 다양한 LiveISO를 부팅하려는 가장 합리적인 이유는 모든 설치 장치가 있기 때문입니다. 우리는 독자 나 다른 배포판의 전문가가 아닙니다. 마지막으로 실제로 MultiSystem을 설치하고 사용하여 이런 방식으로 pendrive를 만들면 그 방법을 보여줍니다. grub2를 사용하여 원하는 결과를 얻습니다.
fabricator4

1

이 작업을 수행하려면 13.04와 다른 구문이 필요합니다. 누구든지 물리 디스크에서 ubuntu-13.04-desktop-amd64.iso를 성공적으로 부팅했으며 grub 구문을 공유해야합니까?

편집 : 내 자신의 질문에 대답했다. vmlinuz의 이름을 mvlinuz.efi로 바꾸어야합니다.

menuentry "Ubuntu-13.04-desktop-amd64.iso" --class ubuntu {
set isofile="/archives/ubuntu-13.04-desktop-amd64.iso"
loopback loop (hd1,6)$isofile
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noeject noprompt --
initrd (loop)/casper/initrd.lz
}

1

USB 스틱을 사용하거나 CD에 굽지 않고도 새로운 isos를 테스트하는 데 grub2의 루프백을 사용하는 것이 중요하다는 것을 알았습니다. Fedora에 대해 비슷한 작업을하기 위해 제기 된 버그가 있습니다. 현재 상태를 추적하는 데 약간의 시간이 걸립니다.


0

Multisystem을 사용하고 원하는 liveCD를 설치 한 다음 파일을 /에 복사하고 grub.cfg를 병합하십시오! (실제로 작동하는지 궁금합니다!).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.