grub : ISO에서 부팅


41

GRUB에서 ISO 파일로 부팅하려면 어떻게해야합니까? ISO 파일은 reiserfs 파티션에 있으며 GRUB에서 액세스 할 수 있습니다 (이미 테스트 됨).


그럽의 어떤 버전?
quack quixote

1
같은 질문이 여기에 대답 했습니다 .
dma_k


답변:


55

ISO 파일을 부팅 할 때 가장 큰 문제는 부팅하도록 설계된 ISO가 거의 항상 CD에서 부팅되도록 설계되었다는 것 입니다. Grub 2 (강조 광산)에 관한 Marco의 블로그 에 설명 대로 :

GRUB은 ISO9660 ( "iso") 이미지를 읽을 수 있습니다. 예를 들어 처음 몇 개의 섹터를로드하고 부팅 할 수 있습니다. 그러나 대부분의 사람들은“무엇입니까?” 로드 된 운영 체제는 무엇을합니까? 찾지 못할 CDROM을 찾아서 실패 할 가능성이 높습니다.

따라서 임의의 ISO 파일로 부팅하는 가장 간단한 방법 은 가상 머신 (VirtualBox, VMware 또는 Virtual PC)에 가상 CD로로드하여 부팅하는 것입니다. VM은 ISO 파일이 아니기 때문에 실제 CD 하드웨어의 실제 CD이기 때문에 거의 항상 작동해야합니다.

베어 메탈의 ISO 파일에서 부팅하는 것이 훨씬 어렵습니다. 이 작업을 수행하는 방법은 사용중인 Grub 버전에 따라 다르며 사용중인 ISO 및 부팅 구성 방법에 따라 결과가 달라질 수 있습니다. 그렇기 때문에 대부분의 boot-ISO-from-USB 도구 (Unetbootin, WinToFlash 등)는 일반적으로 드라이브에 ISO 내용을 추출 합니다. 그렇게하면 OS 부팅을 방해하지 않고 직접 액세스 할 수 있기 때문입니다.


그럽 1

... 확실하지 않다. 가능한 경우 메뉴 항목은 아마도 Grub4DOS와 비슷할 것입니다. "map --hook" 명령은 Grub4DOS 향상 이라고 생각합니다 . 장점은 Grub이 Grub4DOS보다 파일 시스템을 더 광범위하게 지원한다는 것입니다.

reiserfs (확인되지 ​​않은)가있는 Grub 에 대한 메모는 " notail작동하기 위해 파티션을 마운트해야 함"을 나타냅니다 .

Memdisk는 옵션입니다. 아래를 참조하십시오.


Grub4DOS

Grub4DOS 는 일부 ISO에서 작동하는 실험적인 "CD 에뮬레이션" 을 제공합니다. 불행히도 Grub4DOS는 FAT32 / NTFS 파일 시스템 만 읽습니다. Grub4DOS를 다운로드하십시오.

다음은 샘플 항목 ( source )입니다.

title fdfullcd.iso (0xFF)
  find --set-root /fdfullcd.iso
  map /fdfullcd.iso (0xFF)
  map --hook
  root (0xFF)
  kernel /isolinux/data/memdisk
  initrd /isolinux/data/fdboot.img

이 항목 으로 Win7 ISO를 부팅 할 수 있습니다 .

title Windows 7
  map (hd0,0)/win7.iso (hd32)
  map --hook
  chainloader (hd32)

다른 ISO는 Memdisk 로 부팅 할 수 있습니다 :

title Boot Hardware Detection Tool from iso image (with 'iso' parameter)
  kernel /memdisk iso
  initrd /hdt.iso

PenDriveLinux의 MultiBootISOs.exe 와 같은 메뉴 구성 자를 사용할 수도 있습니다 . 플래시 드라이브에 ISO를 배치하고 유틸리티를 실행하여 부트 로더를 설치하고 부트 메뉴를 구성하십시오.

다음은 Grub4DOS 설치에 관한 Hak5 에피소드 입니다.


그럽 2

다음은 몇 가지 예제 Grub2 항목입니다. chainloader는 이러한 항목 (1)를 사용한다, 그래서 현재의 ISO를 부팅 작동하지 않습니다 루프백 으로는 "마운트"는 ISO와 같은 (2) 추가 뭔가 iso-scan에서 또는 findiso 받는 리눅스 라인이 지정 ISO 파일.

불행히도이를 수행하는 일반적인 방법은 없습니다. 각각의 다른 부팅 항목은 대상 ISO의 내용에 맞게 사용자 정의해야합니다. 대부분의 Linux LiveCD는 ISOLINUX를 부트 로더로 사용합니다. isolinux.cfg를 찾아 부팅 항목을 검사하여 일반적으로 부팅되는 항목을 확인하십시오.

예제 항목 ( source ) :

menuentry "Ubuntu Live 9.10 32bit" {
 loopback loop /boot/iso/ubuntu-9.10-desktop-i386.iso
 linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/iso/ubuntu-9.10-desktop-i386.iso noeject noprompt --
 initrd (loop)/casper/initrd.lz
}

menuentry "Grml small 2009.10" {
  loopback loop /boot/iso/grml-small_2009.10.iso
  linux (loop)/boot/grmlsmall/linux26 findiso=/boot/iso/grml-small_2009.10.iso apm=power-off lang=us vga=791 boot=live nomce noeject noprompt --
  initrd (loop)/boot/grmlsmall/initrd.gz
}

Linux 이외의 LiveCD를 부팅하려는 경우 운이 좋지 않을 수 있습니다. 다시, Memdisk가 도움이 될 수 있습니다 .

menuentry "Boot Hardware Detection Tool from iso" {
  linux16 /memdisk iso
  initrd16 /hdt.iso
}

@albert : 플래시 드라이브에서 Grub2를 사용하고 있으며 같은 일에 좌절했기 때문에 열심히 모으지 않았습니다. 나는 당신의 다른 질문을 조사하고 있지만, 전에 ISO를 파티션에 "굽기"해 본 적이 없으므로 흥미로운 일입니다.
quack quixote

종종 VMware 내에서 부팅 할 수는 있지만 이미 수행 했으므로 Windows이기 때문에 많은 도움이되지 않습니다. 디스크에서 VMware를 통해 설치하면 나중에 부팅되지 않습니다 (멍청한 Windows ...).
Albert

Grub1, Grub2 또는 Grub4DOS와 같이 어떤 옵션을 먼저 시도해야하는지 제안 할 수 있습니까? 필요한 것은 무엇이든 설치할 수 있지만 실제로는 문제가되지 않습니다.
Albert

@ albert : 이전 질문 과 관련 하여 묻고 있습니까? 가장 좋은 방법은 추출 방법을 사용하는 것입니다. Windows 설치 프로그램은 하드웨어로 부팅 할 때 문제가있는 ISO 중 하나입니다. 당신은 memtest를 시도 할 수 있지만, 나는 그것에 대해 많이 모른다. 아마도 플래시 드라이브를 구해서 사용하고 싶을 것입니다. superuser.com/questions/66948/… 또는 superuser.com/questions/62193/install-win7-from-usb
quack quixote를

1
@quackquixote, 굵은 단어 "로드 된 운영 체제는 무엇을 하시겠습니까? 찾을 수없고 실패 할 CDROM을 찾을 것입니다"와 관련 하여 OS에서 CDROM을 찾아야하는 이유는 무엇입니까? 이미 완벽한 iso 파일이고 OS를로드하는 데 필요한 모든 것이 이미 iso 파일 내에 있으므로 CDROM을 찾는 것을 건너 뛸 수없는 이유는 무엇입니까?
Pacerier

1

터미널에서 dd를 사용하여 iso 파일을 파티션에 쓸 수 있습니다. dd를 잘못 사용하면 모든 것을 지울 수 있습니다. 다음과 같이 보일 것입니다 : dd if = Desktop / LinuxCDFile.iso of = / Path / To / Partition


그러나 Windows 로더에서 부팅 가능하게하려면 파티션이 기본이어야합니다.
Firelord

이것은 가끔 만 작동하며 일반적으로 결과를 부팅 할 수 없습니다.
David Tonhofer

1
@Firelord : 음, Windows 로더를 사용하지 마십시오. Grub을 사용하십시오. 예, 정말로 필요한 경우 Windows도 부팅합니다.
Evi1M4chine
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.