Как загрузиться из файла .iso в GRUB2? [дубликат]

Есть ли способ сделать это?

18
задан 17 June 2011 в 09:35

6 ответов

Я предполагаю, что вы хотите добавить запись .iso в меню GRUB и загрузить ее?

Я нашел эту информацию на форумах Ubuntu

0
ответ дан 17 June 2011 в 09:35

Это может быть намного проще, чем впечатление, которое вы получаете от всех подробных объяснений в Интернете. Я только что сделал следующее в Ubuntu 12.04 для загрузки FreeDOS .iso для обновления прошивки

  • Установите grub-imageboot
  • скопируйте ваши файлы .iso в / boot / images /
  • запустите update-grub2

Или скопируйте / вставьте эти:

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 с некоторым обновлением прошивки или тому подобным.

0
ответ дан 17 June 2011 в 09:35

http://ansi.interblc.com/2010/02/06/howto-boot-iso-images-via-grub2-with-ubuntu/

  1. Изменитесь на /etc/grub.d dir.
  2. Добавьте свои 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)

2
ответ дан 17 June 2011 в 09:35

Как сказал Марк Руни, вы можете найти отличное руководство на форумах Ubuntu .

Это позволит вам загружаться из файла ISO, но только если ISO поддерживает его. (Все последние выпуски Ubuntu должны, как и ряд других дистрибутивов).

Если вы планируете установку из действующего ISO, вы должны поместить этот файл в другой раздел, нежели тот, в который вы будете устанавливать (поскольку вы не можете записать в тот раздел, с которого вы работаете). Скорее всего, установщик будет жаловаться в любом случае. Вам нужно вручную отредактировать /etc/mtab и удалить запись, соответствующую разделу с файлом ISO.

0
ответ дан 17 June 2011 в 09:35

Для загрузки из ISO-файла на USB-диск / флешку , вероятно, наиболее удобный способ - MultiSystem : http://liveusb.info/dotclear/ index.php? pages / install

Вы просто перетаскиваете , чтобы большинство ISO-образов были включены в загрузочное меню вашего LiveUSB-диска / придерживаться.

0
ответ дан 17 June 2011 в 09:35

Я столкнулся с этим, потому что устал от записи множества загрузочных образов ISO 9660 и поэтому хотел использовать GRUB 2 для загрузки FreeDOS для обновления прошивки / микрокода жестких дисков Seagate. В качестве дополнения или альтернативы ответу mivk (используя memdisk syslinux) я использовал следующее, чтобы использовать возможности GRUB 2:

  1. Установить syslinux-common [ Пакет 117] (для использования в нем memdisk; grub-imageboot - несущественный пакет для перехвата)
  2. Нажмите клавишу «c» (мнемоника для команды), чтобы активировать командную строку встроенного в GRUB 2 mini -shell (или, точнее, минимальная BASH-подобная оболочка)
  3. Выполните 3 строки команд в мини-оболочке GRUB 2:
   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, без потери оптического диска.

0
ответ дан 17 June 2011 в 09:35

Другие вопросы по тегам:

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