Самая большая проблема с начальной загрузкой файла ISO состоит в том, что ISOs, которые разработаны, чтобы быть загруженными, почти всегда разрабатываются, чтобы быть загруженными с CD. Как объяснено на блоге Marco относительно Личинки 2 (шахта акцента):
GRUB может считать ISO9660 (” ISO”) изображения. Это может, например, загрузить первые несколько секторов и загрузить его. Но большинство людей не понимает, “что затем?”. Что сделала бы загруженная операционная система? Это будет, скорее всего, искать CD-ROM, который это не найдет, и сбой.
Таким образом, очень просто-установленный способ загрузиться из некоторого случайного файла ISO состоит в том, чтобы загрузить его в виртуальную машину (VirtualBox, VMware или Виртуальный ПК) как виртуальный CD и загрузить его там. Это должно почти всегда работать, потому что к VM, это не файл ISO - это - реальный CD на реальных аппаратных средствах CD.
Начальная загрузка из файла ISO на чистом металле намного более трудна. Как Вы делаете это зависит, на которой версии Личинки Вы используете, и результаты могут отличаться в зависимости от того, что ISO Вы используете и как это было настроено для начальной загрузки. Поэтому большинство boot-ISO-from-USB инструментов (Unetbootin, WinToFlash, и т.д.) обычно извлекает содержание ISO к диску - потому что тот путь к ним можно получить доступ непосредственно, не путая загружаемую ОС.
...не уверен. Если возможно, записи меню, вероятно, посмотрят много как Grub4DOS, хотя я думаю "карта - рычаг" команда является улучшением Grub4DOS. Зато, Личинка имеет более широкую поддержку файловой системы, чем Grub4DOS.
Примечание по Личинке с (неподтвержденным) reiserfs указывает, что "необходимо смонтировать раздел с notail
чтобы это работало".
Memdisk является опцией; посмотрите ниже.
Grub4DOS предлагает некоторую экспериментальную "эмуляцию CD", которая работает с некоторым ISOs. К сожалению, Grub4DOS только читает файловые системы FAT32/NTFS. Загрузите Grub4DOS.
Вот демонстрационная запись (источник):
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)
Другой ISOs может быть загружен с Memdisk:
title Boot Hardware Detection Tool from iso image (with 'iso' parameter)
kernel /memdisk iso
initrd /hdt.iso
Можно также использовать конфигуратор меню как MultiBootISOs.exe от PenDriveLinux. Поместите ISOs во флеш-накопитель и выполните утилиту, чтобы установить загрузчик и настроить меню начальной загрузки.
Вот эпизод Hak5 при установке Grub4DOS.
Вот является несколько примеров записями Grub2. chainloader не работает для начальной загрузки ISO в настоящее время, таким образом, эти записи должны (1) использовать обратную петлю, чтобы "смонтировать" ISO и (2) добавить что-то как изосканирование или findiso к строке Linux, которая указывает файл ISO.
К сожалению, нет никакого универсального способа сделать это. Каждая различная запись загрузки должна быть настроена к содержанию целевого ISO. Большая часть Linux LiveCDs использует ISOLINUX в качестве загрузчика; найдите isolinux.cfg и исследуйте ту запись загрузки для наблюдения то, что это обычно загружает.
Записи в качестве примера (источник):
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
}
При попытке загрузить LiveCD не-Linux, можно не повезти. Снова, Memdisk может помочь:
menuentry "Boot Hardware Detection Tool from iso" {
linux16 /memdisk iso
initrd16 /hdt.iso
}