На этот вопрос уже есть ответ:
Есть ли способ сделать это?
Я предполагаю, что вы хотите добавить запись .iso в меню GRUB и загрузить ее?
Я нашел эту информацию на форумах Ubuntu
Это может быть намного проще, чем впечатление, которое вы получаете от всех подробных объяснений в Интернете. Я только что сделал следующее в Ubuntu 12.04 для загрузки FreeDOS .iso для обновления прошивки
Или скопируйте / вставьте эти:
sudo -s
apt-get install grub-imageboot
mkdir /boot/images/
cp $YOUR_ISO_FILE.iso /boot/images/
update-grub2
Вот и все.
Иногда вам может потребоваться еще 2 шага, прежде чем запускать update-grub2:
Если вы никогда не делали этого раньше, вам нужно отредактировать / etc / default / grub, чтобы увидеть меню grub при загрузке:
## To show the menu, disable the hidden_timeout, and set a timeout
#GRUB_HIDDEN_TIMEOUT=0
GRUB_TIMEOUT=10
Для некоторых изображений .iso вам может понадобиться добавить эту опцию в / etc / default / grub-imageboot: (она мне понадобилась для моей FreeDOS .iso)
ISOOPTS="iso raw"
Если вы редактировали один из этих конфигов. файлы, вам нужно снова запустить update-grub2
.
Обновление: Вот результирующий пункт меню, запрашиваемый «dma_k»
menuentry "Bootable ISO Image: SV100S2_64_128_120229" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos6)'
search --no-floppy --fs-uuid --set=root 6ca082d0-63d0-48c3-9e5f-2ce5d7a74fe4
linux16 /boot/memdisk iso raw
initrd16 /boot/images/SV100S2_64_128_120229.iso
}
Это было для образа FreeDOS с некоторым обновлением прошивки или тому подобным.
http://ansi.interblc.com/2010/02/06/howto-boot-iso-images-via-grub2-with-ubuntu/
- Изменитесь на
/etc/grub.d
dir.- Добавьте свои ISO-образы, запускающиеся с
50
здесь. Например, моя запись для нормального ISO-образа Ubuntu (50_ubuntu) похожа на это:
echo "Adding $(egrep menu[e]ntry $0 | cut -d'"' -f2)" >&2
cat << EOF
menuentry "Ubuntu 10.04 Daily Build" {
loopback loop (hd0,3)/ansi/software_and_config/ISOs/ubuntu/lucid-desktop-i386.iso linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ansi/software_and_config/ISOs/ubuntu/lucid-desktop-i386.iso file=(loop)/preseed/ubuntu.seed quiet splash bootkbd=sg -- initrd (loop)/casper/initrd.lz
}Мои файлы ISO хранятся на sda3 под/ansi/software_and_config/ISOs/ubuntu/. Для изменения его для потребностей существует 3 элемента для изменения. Петлевая строка содержит Ваш жесткий диск в стиле личинки (hdx, y x=0-> sda x=1-> sdb aso) и путь. Третий элемент для изменения находится в строке Linux. Храните этот файл как “50_ubuntu” в “/etc/grub.d “, делает он исполняемый файл с “chmod a+x 50_ubuntu” и активирует изменения “ubdate-личинкой “. После перезагрузки необходимо смочь активировать меню личинки клавишей Shift и выбрать новую запись.
(Примечание: если бы кто-то может использовать надлежащее [КОД] форматирование, это было бы большим. Я, может казаться, не заставляю это работать правильно. - tyblu)
Как сказал Марк Руни, вы можете найти отличное руководство на форумах Ubuntu .
Это позволит вам загружаться из файла ISO, но только если ISO поддерживает его. (Все последние выпуски Ubuntu должны, как и ряд других дистрибутивов).
Если вы планируете установку из действующего ISO, вы должны поместить этот файл в другой раздел, нежели тот, в который вы будете устанавливать (поскольку вы не можете записать в тот раздел, с которого вы работаете). Скорее всего, установщик будет жаловаться в любом случае. Вам нужно вручную отредактировать /etc/mtab
и удалить запись, соответствующую разделу с файлом ISO.
Для загрузки из ISO-файла на USB-диск / флешку , вероятно, наиболее удобный способ - MultiSystem : http://liveusb.info/dotclear/ index.php? pages / install
Вы просто перетаскиваете , чтобы большинство ISO-образов были включены в загрузочное меню вашего LiveUSB-диска / придерживаться.
Я столкнулся с этим, потому что устал от записи множества загрузочных образов ISO 9660 и поэтому хотел использовать GRUB 2 для загрузки FreeDOS для обновления прошивки / микрокода жестких дисков Seagate. В качестве дополнения или альтернативы ответу mivk (используя memdisk
syslinux) я использовал следующее, чтобы использовать возможности GRUB 2:
memdisk
; grub-imageboot - несущественный пакет для перехвата) linux16 (hd0,gpt2)/usr/lib/syslinux/memdisk iso raw
initrd16 (hd0,gpt3)/myUserAccount/download/Barracuda-ALL-GRCC4H.iso
boot
# where Barracuda-ALL-GRCC4H.iso is a FreeDOS-based ISO 9660 image, and
# the mathematical 2-tuples or ordered pairs, (hd0,gpt2) and (hd0,gpt3),
# are GRUB 2's respective device notations for my rootfs partition
# (e.g., /dev/sda2) and home partition (e.g., /dev/sda3).
# NOTE: This procedure also applies to Seagate's SeaTools (based on
# FreeDOS as well); just substitute the file SeaToolsDOS223ALL.iso
# for Barracuda-ALL-GRCC4H.iso.
Информация о [ 114] syslinux находится по адресу http://www.syslinux.org/wiki/index.php/MEMDISK
Благодаря манипулированию командами непосредственно в мини-оболочке эта процедура более гибкая. и более простое, чем большинство из вышеперечисленных методов, поскольку вам не нужно настраивать и обновлять эти конфигурации GRUB 2 каждый раз, когда вы хотите попробовать другой дистрибутив Linux или BSD на основе live CD.
В настоящее время именно эти 4 строки команд можно использовать в качестве общего шаблона в мини-оболочке GRUB 2, то есть последовательность loopback-linux-initrd-boot плюс некоторые аргументы ) передается в данное ядро, например, для начальной загрузки максимально возможного числа образов ISO-образов Linux (в данном случае это 3 аргумента командной строки ядра для компакт-диска System Rescue):
loopback lb (hd0,gpt3)/myUserAccount/download/systemrescuecd-x86-3.7.0.iso
linux (lb)/isolinux/rescue64 isoloop=systemrescuecd-x86-3.7.0.iso setkmap=us docache
initrd (lb)/isolinux/initram.igz
boot
NB Часть loopback
общего шаблона не является, строго говоря, обязательной для Linux, когда вы собираетесь установить дистрибутив Linux, такой как производная Debian, без потери оптического диска.