ZenWay - Linux сегодня!
  • Главная
  • Форум
  • Контакты
  • Архив
  • Гостевая книга
×
Поиск по сайту
ГлавнаяАдминистрированиеИзучаем LinuxДополнительные материалыGrub 2 (загрузка с *.iso и *.img)

Grub 2 (загрузка с *.iso и *.img)

Дополнительные материалы, Изучаем Linux, АдминистрированиеПросмотров: 60988Комментарии: 1719 октября 2010 г.
CD / DVD / Live-DVD / Ubuntu / Администрирование / Комплект инструментов / Приятные мелочи / Учебные материалы
grub 2 - загрузка с iso и img

На ubuntuforums попался рецепт, как с помощью Grub 2 загрузить компьютер с iso-образа, лежащего на винте. Это может быть удобно, когда нет привода в компьютере или просто лень диск записывать. Кроме того, что не нужно вставлять диск в привод, сам процесс загрузки проходит заметно быстрее. К сожалению, не все загрузочные образы подходят для такой загрузки. Умеют такой "фокус", например, Ubuntu 9.10 и новее, Gparted CD, Parted Live CD, SystemRescue CD и некоторые другие. Кроме *.iso возможна загрузка с некоторых *.img-образов.

В данном примере предлагается размещать файлы загрузочных образов в директорию /boot/iso/ и в Grub 2 указывать их как, например, (hd0,1)/boot/iso/<имя_образа.iso>.

Поскольку 'rescue CD' как правило грузятся в память компьютера, тип файловой системы, где лежат образы, не имеет большого значения. Ведь Grub 2 уже с него умеет загружаться.

После того как вы скопируете образы в /boot/iso/, остаётся лишь прописать их в меню Grub 2.

Обратите внимание, если вы хотите загружать образы из домашней директории. У большинства пользователей /home - это отдельный раздел. Соответственно, необходимо указывать путь не в виде (hdA,B)/home/user/iso/name.iso, а примерно так: (hdX,Y)/user/iso/name.iso. Думаю, это понятно.

Итак, создаём нужные пункты в grub-меню. Открываем для правки файл /etc/grub.d/40_custom. Все добавленные в него записи появятся последними пунктами меню. Если вы хотите добавить записи выше, то нужно их писать в файл с меньшим номером, например - 06_custom. Главное, не забыть сделать его исполняемым.

Пример /etc/grub.d/40_custom:

#!/bin/sh
echo "Adding 40_custom." >&2
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.

menuentry "Lucid ISO" {
loopback loop (hd0,1)/boot/iso/ubuntu-10.04-desktop-i386.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/iso/ubuntu-10.04-desktop-i386.iso noprompt noeject
initrd (loop)/casper/initrd.lz
}

menuentry "Karmic 64-bit ISO" {
loopback loop (hd0,1)/boot/iso/ubuntu-9.10-desktop-amd64.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/iso/ubuntu-9.10-desktop-amd64.iso noprompt quiet splash
initrd (loop)/casper/initrd.lz
}

menuentry "Gparted Live ISO" {
loopback loop (hd0,1)/boot/iso/gparted-live-0.6.1-2.iso
linux (loop)/live/vmlinuz boot=live union=aufs noswap noprompt ip=frommedia findiso=/boot/iso/gparted-live-0.6.1-2.iso toram=filesystem.squashfs
initrd (loop)/live/initrd.img
}
menuentry "SystemRescue CD ISO" {
loopback loop (hd0,1)/boot/iso/systemrescuecd-x86-1.5.8.iso
linux (loop)/isolinux/rescue64 setkmap=us isoloop=/systemrescuecd-x86-1.5.8.iso
initrd (loop)/isolinux/initram.igz
}

menuentry "Parted Magic ISO" {
loopback loop (hd0,1)/boot/iso/pmagic-5.2.iso
linux (loop)/pmagic/bzImage iso_filename=/boot/iso/pmagic-5.2.iso boot=live load_ramdisk=1 prompt_ramdisk=0 noeject noprompt
initrd (loop)/pmagic/initramfs
}

menuentry "Boot IMG - Seagate Tools" {
linux16 /memdisk bigraw
initrd16 /SeaTools.img
}

После внесения любых изменений в этот файл необходимо выполнить команду:

sudo update-grub

Для загрузки с img-образов необходим файл memdisk. Он поставляется с пакетом syslinux. Последний обычно установлен в системе. Файл нужно скопировать в /boot. Для debian/ubuntu это будет выглядеть так:

cp /usr/lib/syslinux/memdisk /boot/

Так же, процесс добавления img-образов можно автоматизировать, создав файл /etc/grub.d/50_memdisk со следующим кодом:

#!/bin/sh
set -e

IMAGES=/boot/images
. /usr/lib/grub/grub-mkconfig_lib
if test -e /boot/memdisk ; then
 MEMDISKPATH=$( make_system_path_relative_to_its_root "/boot/memdisk" )
 echo "Found memdisk: $MEMDISKPATH" >&2
 find $IMAGES -name "*.img" | sort | 
 while read image ; do
 IMAGEPATH=$( make_system_path_relative_to_its_root "$image" )
 echo "Found floppy image: $IMAGEPATH" >&2
 cat << EOF
menuentry "Bootable floppy: $(basename $IMAGEPATH | sed s/.img//)" {
EOF
 prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/"
 cat << EOF
 linux16 $MEMDISKPATH bigraw
 initrd16 $IMAGEPATH
}
EOF
 done
fi

После чего, как уже писалось, необходимо выполнить:

chmod +x /etc/grub.d/50_memdisk
update-grub

Теперь, если мы поместим образы *.img в /boot/images, они автоматически появятся в меню загрузки.

Автор: vovans
Еще записи по теме
Angry IP Scanner
Angry IP Scanner
Virtual ExtremeXOS - свитчи от Extreme Networks в VirtualBox
Virtual ExtremeXOS - свитчи от Extreme Networks в VirtualBox
Точка доступа на FreeBSD (на примере D-link DWA-510)
Точка доступа на FreeBSD (на примере D-link DWA-510)
APTonCD
APTonCD
Psymon (Python System Monitor)
Psymon (Python System Monitor)
QuickHash GUI
QuickHash GUI

Комментариев: 17 RSS

1Zenitur20-10-2010 00:34

Не люблю Ubuntu и поэтому спрашиваю: известно ли вам, чем отличается образ компакт-диска, который может быть использованным таким образом, от того, который не может быть использованным таким образом? Наличием GRUB 2 в качестве используемого менеджера загрузки в нем? Или что?

2ASLok20-10-2010 18:13

> Теперь, если мы поместим образы *.img в /boot/images, они автоматически появятся в меню загрузки.

Имеется ввиду, что sudo update-grub все равно делать придется?

3vovans21-10-2010 20:15

хм, как-то не подумал об этом, когда переводил.

Судя по всему, надо.

Хотя, с другой стороны, не каждый же день эти образы добавляются :)

4vovans03-11-2010 00:36

эх, скачал Fedora 14. Хотел посмотреть на это чудо. Ну, думаю, пропишу в груб. Перепробовал ряд способов, толку 0 :(

Вот ссылка на обсуждение проблемы:

//bugzilla.redhat.com/show_bug.cgi?id=557426

там в конце человек приводит свой grub.cfg с кучей примеров, но ни один не работает ((( Обидно ((

5Роман07-11-2010 10:05

Ну чтоб можно было загружаться на других компьютерах, можно использовать флэшку на которой установнег Grub4dos. Подробнее там greenflash.su

6vovans07-11-2010 10:11

да при чём тут флешка, Рома? Речь же о другом совсем.

Мне не нужны другие компы. У меня есть ноут, за которым я постоянно работаю. Слил я образ, прописал его в grub 2 и теперь могу грузиться с него. С Fedora такое не прокатывает :( глюк там какой-то :(

7sergamena30-12-2010 19:57

А с образа венды так можно загрузиться?

8Guria05-01-2011 23:17

Вопрос в том как подбирать параметр для указания пути к iso для дистрибутивов не упомянутых в статье. уж больно большой список вариантов: iso-scan/filename, findiso, isoloop, iso_filename. Как вообще определять поддерживается такой способ загрузки? Правильно ли я понимаю, что вариант зависит от конкретного ядра в дистрибутиве?

9iPet3o02-02-2011 13:47

строчка

linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/iso/ubuntu-10.04-desktop-i386.iso

меня смущает. Мы же ложили образ в папку /boot/iso, а не /iso. У меня при таком написании как у вас GRUB ругался на отсутствие образа, но стоило мне исправить строчку на

linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/iso/ubuntu-10.04-desktop-i386.iso

как все тут же заработало!

10vovans02-02-2011 15:12

ничего не должно смущать. Либо делаем всё с пониманием, либо методом перебора. Если /boot - это отдельный раздел, то никаких /boot в пути не должно быть. Если же /boot находится на одном разделе с /, то, разумеется, надо дописывать boot в путь. И (hdA,B) соответствующие для обоих случаев.

Кстати, я пояснял эту ситуацию для /home:

Обратите внимание, если вы хотите загружать образы из домашней директории. У большинства пользователей /home - это отдельный раздел. Соответственно, необходимо указывать путь не в виде (hdA,B)/home/user/iso/name.iso, а примерно так: (hdX,Y)/user/iso/name.iso. Думаю, это понятно.

11Лайт05-02-2011 20:59

GRUB2 наше всё. С его помощью наконец-то создал мультизагрузочную флешку, о чём давно мечтал.

12Лисёнок19-11-2012 14:41

Скажите, а Windows XP Live iso можно таким образом подгрузить?

13vopros17-02-2014 16:15

Ответы насчет Windows. Админы, уж простите, а то они этими вопросами постоянно будут донимать.

Чтобы "с образа венды так можно загрузиться" и "а Windows XP Live iso можно таким образом подгрузить" - поищите, скачайте iso-файл Windows PE (или XPE). Есть повсюду, наверное лучший "Windows-liveCD", что можно предложить. Для загрузки с iso-образов для Windows-7 скачайте программу EasyBCD. Там еще проще. Grub4Dos также идет с примерами. По инструкции создаете каталог grub4dos и файл "grldr" и "menu.lst" в корневой каталог диска копируете(где windows xp), а в файл boot.ini (WinXP) вставляете строчку C:\GRLDR="Start GRUB".

Вопрос по теме. У меня, к сожалению нет Grub2 (наверное такового я вообще не видел, т.к. Ubuntu как-будто поставляется с 1.99). В лайф-сиди Ubuntu в меню присутствует программа проверки памяти, представлена файлом memtest.bin, может ли это быть dos-программа? Если да, то у меня есть .ima-файл с MsDOS6.22 как загрузиться с него?

14vopros17-02-2014 16:21

... возращаясь к "венде", вот рабочий пример запуска windowsxpe.iso лежащего в корневом каталоге windos-диска (запускает его grub4dos). В текст "menu.lst" добавляем:

title Multi Boot

fallback 7

find --set-root /MultyBoot1_CD-USB_2k10_conty9.iso

map /MultyBoot1_CD-USB_2k10_conty9.iso (0xff) || map --mem /MultyBoot1_CD-USB_2k10_conty9.iso (0xff)

map --hook

chainloader (0xff)

savedefault --wait=2

Может кое-где в командах ошибки, но лично проверял на множестве компьютеров - работает, если оперативной памяти больше 256 Мбайт. Этот файл постоянно ношу на флешке и копирую на компы (без DVD-ROM), чтобы запустить Windows XPE из файла. Скажу честно, редко, но сбои были.

Сорри за оффтоп.

15Maks07-12-2017 03:55

ребята, вопрос, а Freebsd исошник тоже можно так продгрузить ?

16Эдуард26-03-2019 09:45

Vovans,так будет работать?

Grub2Win

Исо файл на диске C: (hd0,1)

Файл grub.cfg :

#  Menu Entry 1       MSDART

menuentry 'MSDART'

--class isoboot --class icon-isoboot --class custom_001
{

set gfxpayload=1024x768
set reviewpause=2

# start-custom-code

clear
set root=(hd0,1)
set isopath='/DATA/Image_data/MSDaRT/MSDaRTFull.iso'
loopback loop (hd0,1)$isofile

set kernelpath='/** kernel path **'
set initrdpath='/** initrd path **'
set bootparms='** your linux bootparms **'


# Run the g2wisoboot function
g2wisoboot

# end-custom-code
savelast 1 'MSDART'
echo GNU Grub is now loading MSDART
}

17Anon25-02-2020 12:48

Установил свежую Ubuntu при помощи dd сделал образ диска. Теперь хочу загрузиться с этого образа согласно инструкции выше chmod +x /etc/grub.d/50_memdisk

Но Grub2 у меня зависает с ошибкой "out of memory"

Как исправить?

Вы можете войти под своим логином или зарегистрироваться на сайте.

Рубрики
  • Hовости
  • Изучаем Linux
  • Обзоры Linux ПО
    • Hужное/полезное
    • Аудио и видео ПО
    • Графика
    • Офисное ПО
    • Интернет ПО
    • Образовательные
    • Игры
    • Администрирование
    • Системные утилиты
    • Прочие
    • Shareware / Demo
  • Дистрибутивы
  • Дополнительные материалы
Последние комментарии
AzPainter
  • Crocodilero » Ну вот же: //github.com/ Symbian9/ azpainter/wiki/ Packaging- statusУже давно неактуально, нет такого пользователя и репозитория.Ре позиторий разработчицы, а также готовые...
Карты (Gnome Maps)
  • O_Dik » Как добавить спутниковые карты? Или откуда их можно скачать?
Трансляция потока с веб-камеры с помощью ffserver
  • vovans » Беда :(FFmpeg's FFServer feature has been removed from the main release.You'll have to bring up...
MusE - Linux Music Editor
  • Аноним » я её скачал. Ни инстукции, ни мануалов. удалил
  • vovans » Разумно. Тут или понимаешь что делать, или до свидания. Вот так вот ворваться с нуля...
  • BigOrange » мануал официальный самый что ни наесть официальный//muse- sequencer. github.io/docs/ intro.htmlещё разработчики советуют этот форум// linuxmusicians. com/viewforum. php?f=61
WHDD
  • Александр » Привет)Ни кто мне не может подсказать, пожалуйста, в чем у меня проблема: хочу проверить флешку...
  • илья » Привет)Ни кто мне не может подсказать, пожалуйста, в чем у меня проблема: хочу проверить флешку...
fbless
  • totiks » Очень понравилась эта утилита, написал простенький скрипт для выбора книжек с помощью peco , чтоб...
FreetuxTV
  • Алиса » Попробуйте //github. com/yuki-iptv/ yuki-iptv
Форум
[07/04/2026 16:10:35]
Как получить учетную запись sip телефонии бесплатно в 2026 году
[12/02/2025 16:49:16]
openSUSE Tumbleweed, zypper ref, Segmentation fault (core dumped)
[10/02/2025 22:04:59]
Говорильня (дискуссионный клуб)
[23/01/2024 04:13:36]
Утилита запуска команд в трее
[26/07/2023 11:17:45]
Музыкальный калейдоскоп
[16/07/2023 12:24:19]
LFS
[17/04/2023 10:14:08]
Тестовая бродилка на Си с ChatGPT
[18/11/2022 11:54:52]
vscode and c/c++
[31/08/2022 12:25:53]
Tor Browser
Облако меток
2D338 3D241 ALSA68 ASCII120 Android1 Arch Linux38 Audio416 Backup80 Benchmark78 Bluetooth2 C++969 CD48 Console1318 DJ-система17 DVD47 Debian28 DjVu22 Enlightenment19 FFmpeg191 FLTK29 FPS40 FREE155 FTP18 FVWM21 Fluxbox40 GIMP24 GNU26 GPS22 GTK1302 GUI801 Gambas11 Games686 Gentoo3 Gnome349 Gstreamer133 HDD122 HDR7 HTML62 Hex-редактор14 ICQ17 IP-сети25 IP-телефон22 IRC31 ISO39 IceWM22 ImageMagick56 JACK99 Jabber35 Java308 JavaScript115 KDE209 LAN29 LXDE37 LaTeX66 Live-CD70 Live-DVD55 Live-USB53 Lua61 MATE32 MEncoder31 MMORPG12 Mail42 Markdown53 Midi91 Mono53 Mplayer75 MySQL2 OSS9 Open Source14 OpenGL301 Openbox89 P2P51 PDF133 PHP12 Pascal17 Perl102 Phonon27 PulseAudio17 Python759 QT894 RAW34 RPG101 RSS53 RTS42 Roguelike70 Ruby19 Rust15 SDL312 SVG39 Screencast32 Screenshot61 Script78 Slackware66 TOR17 TOX3 Tk39 Torrent67 Ubuntu69 VLC16 Vala64 Web629 WebKit72 WebUI34 WiFi47 Window Maker16 Wine8 XMPP35 Xfce70 Xine14 YouTube80 video4linux27 wxWidgets108 Автоматизация31 Администрирование335 Анонимная сеть47 Антивирус14 Апплет120 Аркада235 Архиватор11 Астрономия36 Аудио конвертер70 Аудио редактор50 Аудиоплеер184 Безопасность243 Бизнес-приложение4 Браузер87 Бродилка203 Бухгалтерия11 Веб-камера36 Видео148
© Zen Way, 2026. Работает на MaxSite CMS | Время: 0.0618 | SQL: 15 | Память: 5.25MB | Вход