GRUB2 부팅 옵션에 ISO 추가


3

GRUB에 ISO (우분투의 대체 배포판)를 추가하려고합니다.

이 결과는 fdisk -l다음 과 같습니다.


FDISK 출력

Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00061b6d

 

  Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        9539    76614656   83  Linux
/dev/sda2            9539        9730     1533953    5  Extended
/dev/sda5            9539        9730     1533952   82  Linux swap / Solaris

 

Disk /dev/sdb: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x41ffc810
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1       30401   244196001    c  W95 FAT32 (LBA)

grub.cfg

menuentry "Ubuntu Alternate Install 10.10 32bit" {
 loopback loop (hd0,0)/boot/ubuntu-10.10-alternate-i386.iso
 linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/ubuntu-10.10-alternate-i386.iso noprompt nomodeset 
 initrd (loop)/casper/initrd.lz
}

이처럼 40_custom 파일에 항목을 추가하고 sudo grub-update를 수행했습니다.

menuentry "Ubuntu Alternate Install 10.10 32bit" {
 loopback loop (hd0,1)/boot/ubuntu-10.10-alternate-i386.iso
 linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/ubuntu-10.10-alternate-i386.iso noprompt nomodeset 
 initrd (loop)/casper/initrd.lz

하지만이 파일을 찾을 수 없습니다. GRUB 메뉴에서이 옵션을 선택할 때 커널 등을로드해야합니다. 내가 잘못 가고있는 곳


새 메뉴 항목에 grub.cfg와 다른 이름을 주려고 했습니까?
rakslice

답변:


0

에 따르면 http://pendrivelinux.com/downloads/multibootlinux/grub.cfg 당신이 밖으로 떠날 필요 (hd0,1)를 :

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

이것은 Grub2 unsing Linux를 통해 USB 에서 Boot Multiple ISO에서 찾을 수 있습니다 . 아마도이 페이지를 확인하고이 단계들을 설정과 비교해야합니다.

행운을 빕니다!


0

이 주제에 관한 커뮤니티 위키를 얻으려고 노력했습니다 . 여기 에서 내 답변을 복사 하겠습니다. 이게 도움이 되길 바란다!


그래서 ISO를로드하기 위해 39_iso내부 /etc/grub.d/에 간단한 파일을 만들었습니다 . Ubuntu 10.10, Clonezilla 및 SystemRescueCD의 사본이 있습니다. 내 항목 /iso/은 메뉴 항목을 추가하기 전에 ISO 파일이 사용 가능한지 확인합니다 . 예를 들어 Clonezilla는 메모리에로드되므로 원할 때마다 하드 드라이브를 복제 할 수 있습니다!

우분투 10.10 :

if test -e /iso/ubuntu-10.10-desktop-amd64.iso ; then
  isofile="/iso/ubuntu-10.10-desktop-amd64.iso"
  echo "Found Ubuntu 10.10 (x64) ISO: ${isofile}" >&2
  cat << EOF

  menuentry "Ubuntu 10.10 (x64) ISO"
  {
    loopback loop $isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile
    initrd (loop)/casper/initrd.lz
  }
EOF
fi

클론 질라 :

if test -e /iso/clonezilla-live-1.2.6-24-amd64.iso ; then
  isofile="/iso/clonezilla-live-1.2.6-24-amd64.iso"
  echo "Found Clonezilla Live ISO: ${isofile}" >&2
  cat << EOF

  menuentry "Clonezilla Live 1.2.6-24-amd64 ISO"
  {
    loopback loop $isofile
    linux (loop)/live/vmlinuz boot=live live-config union=aufs nolocales noprompt ocs_lang="en_US.UTF-8" ocs_live_keymap="NONE" vga=791 ip=frommedia toram=filesystem.squashfs findiso=$isofile
    initrd (loop)/live/initrd.img
  }
EOF
fi

SystemRescueCD

if test -e /iso/systemrescuecd-x86-1.6.2.iso ; then
  isofile="/iso/systemrescuecd-x86-1.6.2.iso"
  echo "Found SystemRescueCD ISO: ${isofile}" >&2
  cat << EOF

  menuentry "SystemRescueCD 1.6.2 (x64) ISO"
  {
    loopback loop $isofile
    linux (loop)/isolinux/rescue64 setkmap=us docache isoloop=$isofile
    initrd (loop)/isolinux/initram.igz
  }
EOF
fi

또한 GRUB에서 Windows 7의 이름 Windows 7 (loader)을 더 좋은 것으로 고쳤습니다 Windows 7 Professional (x64).

if [ "${LONGNAME}" = "Windows 7 (loader)" ] ; then
  LONGNAME="Windows 7 Professional (x64)"
elif [ -z "${LONGNAME}" ] ; then
  LONGNAME="${LABEL}"
fi

다음과 같은 섹션이 교체되었습니다.

if [ -z "${LONGNAME}" ] ; then
  LONGNAME="${LABEL}"
fi

30_os-properGRUB 내부

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