Добавление ISO к параметрам загрузки GRUB2

Я пытаюсь добавить ISO (альтернативный дистрибутив человечности) к моему GRUB.

Это - вывод 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 обновление личинки.

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. Где я иду не так, как надо

3
задан 20.05.2011, 00:42

0 ответов

Я пытался получить общественную Wiki, идущую на эти темы, я просто скопирую свой ответ отсюда ниже. Я надеюсь, что это помогает!


Таким образом, я создал простой файл 39_iso внутри /etc/grub.d/ для загрузки моего ISO. У меня есть копия Ubuntu 10.10, Clonezilla и SystemRescueCD. Мои записи удостоверяются, что файл ISO доступен внутри /iso/ прежде, чем добавить запись меню. Например, Clonezilla загрузится в память, таким образом, я смогу клонировать свой жесткий диск каждый раз, когда я хочу!

Ubuntu 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

Clonezilla:

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-proper из GRUB

0
ответ дан 08.12.2019, 04:21

Теги

Похожие вопросы