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

18

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

    
задан Lincity 05.02.2011 в 10:16
источник

6 ответов

9

Это может быть намного проще, чем впечатление, которое вы получаете от всех подробных объяснений в Интернете. Я просто сделал следующее на 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

Вот и все.

Иногда вам нужно выполнить еще два шага, прежде чем запускать 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 с некоторым обновлением прошивки и т. д.

    
ответ дан mivk 08.01.2013 в 17:18
источник
8

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

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

    
ответ дан Mark Rooney 05.02.2011 в 10:44
2

Ссылка

  1. Change to the /etc/grub.d dir.
  2. Add your ISO images starting with 50 here. For example my entry for the normal Ubuntu ISO image (50_ubuntu) looks like this:

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
}

My ISO files are stored on sda3 under /ansi/software_and_config/ISOs/ubuntu/. In order to change it for your needs there are 3 elements to change. The loopback line contains your hard disk in grub style (hdx,y x=0->sda x=1->sdb aso) and the path. The third element to change is in the linux line. Store this file as “50_ubuntu” in “/etc/grub.d“, make it executable with “chmod a+x 50_ubuntu” and activate the changes with “ubdate-grub“. After a reboot you should be able to activate the grub menu with the shift-key and select the new entry.

(Примечание: если кто-то может использовать правильное форматирование [CODE], это было бы здорово. Я не могу заставить его работать правильно. --tyblu)

    
ответ дан user10551 10.02.2011 в 04:44
2

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

  1. Установите пакет syslinux-common (для использования memdisk внутри него, grub-imageboot - несущественный пакет для подключения)
  2. Нажмите клавишу 'c' (мнемоника для команды), чтобы активировать командную строку встроенной мини-оболочки GRUB 2 (или, точнее, минимальную 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.

Информация о memdisk syslinux находится на Ссылка

Управляя командами непосредственно в мини-оболочке, эта процедура более гибкая и smipler, чем большинство вышеупомянутых методов, поскольку вам не нужно пытаться настраивать и обновлять конфигурации GRUB 2 каждый раз, когда вы хотите попробовать другой дистрибутив Linux или Live CD на базе BSD.

В настоящее время это четыре строки команд, которые можно использовать в качестве общего шаблона в мини-оболочке GRUB 2, то есть последовательность loopback-linux-initrd-boot плюс некоторый аргумент ( s), переданные данному ядру, например, чтобы загружать как можно больше популярных образов Linux ISO (в данном случае это 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

N.B. Строка loopback общего шаблона не является, строго говоря, обязательной для Linux, когда вы планируете установить дистрибутив Linux, такой как производный Debian, без потери оптического диска.

    
ответ дан pseudonym 20.05.2013 в 04:22
0

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

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

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

    
ответ дан Zifre 05.02.2011 в 17:40
-1

Для загрузки из файла ISO на USB-диске / жестком диске , возможно, наиболее удобный для пользователя способ MultiSystem : Ссылка

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

    
ответ дан Sadi 31.05.2013 в 13:15