Автор Тема: [How-To] Делаем мультизагрузочную флэшку из ISO-образов с помощью Grub2.  (Прочитано 51571 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн FSnow

  • Global Moderator
  • *****
  • Автор темы
  • Сообщений: 689
    Задача: Сделать мультизагрузочную флэшку с дистрибутивами Runtu и memtest86+. Дистрибутивы должны грузиться из ISO-образов (кроме memtest86+).

    Примечание: Все действия должны проводиться в системе с уже установленным Grub2. Если в вашей системе не установлен Grub2, то воспользуйтесь LiveCD, в котором он установлен.

0. Форматируем флэшку в fat32;

1. Устанавливаем на флэшку Grub2:
sudo grub-install --no-floppy --root-directory=/media/FLASH /dev/sdX
!!! ВАЖНО !!!:
       /media/FLASH
— точка монтирования и
      /dev/sdX — имя устройства флэшки
      Обязательно замените эти значения на свои!

После выполнения команды, на флэшке появится директория boot;

2. Скачиваем необходимые образы:
    Runtu XFCE 14.04.2 - 20150309
    Runtu LITE 14.04.1 - 20140914
    Runtu GNOME 12.04.4 - 201402
    Runtu XFCE 12.04.4 - 201402
    Runtu LITE 12.04.4 - 201402
    Runtu LITE 10.04 - 201302
    Memtest86+

3. Создаем на флешке директорию iso и копируем в нее скачанные образы;

4. В директории boot/grub создаем и редактируем файл grub.cfg
Содержимое файла:
menuentry "Runtu XFCE 14.04.2 (3.16)" {
    set isofile=/iso/runtu-xfce-14.04.2-3.16_20150309.iso
    loopback loop $isofile
    linux (loop)/casper/vmlinuz boot=casper maybe-ubiquity iso-scan/filename=$isofile locale=ru_RU keyboard-configuration/layoutcode?=ru noeject noprompt splash --
    initrd (loop)/casper/initrd.lz
}

menuentry "Runtu XFCE 14.04.2 (3.13)" {
    set isofile=/iso/runtu-xfce-14.04.2-3.13_20150309.iso
    loopback loop $isofile
    linux (loop)/casper/vmlinuz boot=casper maybe-ubiquity iso-scan/filename=$isofile locale=ru_RU keyboard-configuration/layoutcode?=ru noeject noprompt splash --
    initrd (loop)/casper/initrd.lz
}

menuentry "Runtu LITE 14.04.1" {
    set isofile=/iso/runtu-lite-14.04.1_20140914.iso
    loopback loop $isofile
    linux (loop)/casper/vmlinuz boot=casper maybe-ubiquity iso-scan/filename=$isofile locale=ru_RU keyboard-configuration/layoutcode?=ru noeject noprompt splash --
    initrd (loop)/casper/initrd.lz
}

menuentry "Runtu GNOME 12.04.4" {
    set isofile=/iso/runtu-gnome-12.04.4_201402.iso
    loopback loop $isofile
    linux (loop)/casper/vmlinuz boot=casper maybe-ubiquity iso-scan/filename=$isofile locale=ru_RU keyboard-configuration/layoutcode?=ru noeject noprompt splash --
    initrd (loop)/casper/initrd.lz
}

menuentry "Runtu XFCE 12.04.4" {
    set isofile=/iso/runtu-xfce-12.04.4_201402.iso
    loopback loop $isofile
    linux (loop)/casper/vmlinuz boot=casper maybe-ubiquity iso-scan/filename=$isofile locale=ru_RU keyboard-configuration/layoutcode?=ru noeject noprompt splash --
    initrd (loop)/casper/initrd.lz
}

menuentry "Runtu LITE 12.04.4" {
    set isofile=/iso/runtu-lite-12.04.4_201402.iso
    loopback loop $isofile
    linux (loop)/casper/vmlinuz boot=casper maybe-ubiquity iso-scan/filename=$isofile locale=ru_RU keyboard-configuration/layoutcode?=ru noeject noprompt splash --
    initrd (loop)/casper/initrd.lz
}

menuentry "Runtu LITE 10.04" {
    set isofile=/iso/runtu-lite-10.04_201302.iso
    loopback loop $isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile locale=ru_RU console-setup/layoutcode=ru noeject noprompt splash --
    initrd (loop)/casper/initrd.gz
}

menuentry "Memtest 86+ 5.01" {
    linux16 /iso/memtest86+-5.01.bin
}

menuentry "Shutdown the Computer" {
    halt
}

menuentry "Reboot the Computer" {
    reboot
}

5. Грузимся с флэшки — проверяем результат.
sudo qemu-system-i386 -usb /dev/sdX/dev/sdX - заменить на своё!

    В дальнейшем, чтобы добавить новый образ, просто копируете его в директорию iso, и добавляете запись в grub.cfg. Но учтите, что не все дистрибутивы поддерживают загрузку из iso-образа.
« Последнее редактирование: Март 14, 2015, 15:57:25 от FSnow »

Оффлайн l_l_lblTHuK

  • Постоялец
  • ***
  • Сообщений: 145
А для grub4dos параметры загрузки Рунту не подскажете? А то смутно помню, что там не совсем тривиально было...

Оффлайн kompilainenn

  • Местный
  • *****
  • Сообщений: 1068
  • Активно пропагандирую Runtu
нужно добавить, что далеко не все образы с линуксом позволяют себя грузить таким образом
Мы говорим Linux, подразумеваем Runtu

Оффлайн vmf

  • Местный
  • *****
  • Сообщений: 587
  • vmf000@yabber.ru
Я делал мультизагрузочную флешку несколько по другому - просто установил систему на флешку, отформатировав ее в ext2...
(это не важно, хотя в случае с ext2 не бывает проблем из-за фрагментирования iso-образов, что иногда выплывает на fat32)
Oбразы складываю в каталог boot, туда-же положил скриптик, запуск которого автоматически правит меню груба на флешке.
С небольшими доработками скриптик можно прикрутить к варианту FSnow
собственно скриптик: ПоказатьСкрыть

#!/bin/bash
cat<<EOF >40_custom
#!/bin/sh
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.
#

EOF
for iso in $(ls -1 *.iso); do
 cat<<EOF >>40_custom
menuentry '$iso' {
   insmod ext2
   set root='(hd0,1)'
   search --no-floppy --fs-uuid --set b8d9da3a-788c-43d7-90bc-225c24d354db
   loopback loop /boot/$iso
   linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/$iso
   initrd (loop)/casper/initrd.lz
}

EOF
done
grep -B1000 "### BEGIN.*custom ###" ./grub/grub.cfg|sed '$d'|tee grub.cfg
echo "### BEGIN /etc/grub.d/40_custom ###"|tee -a grub.cfg
./40_custom|tee -a grub.cfg
echo "### END /etc/grub.d/40_custom ###"|tee -a grub.cfg
mv grub.cfg ./grub/grub.cfg

Для работы в моем варианте нужно создать символьную ссылку "40_custom" на файл "../etc/grub.d/40_custom"
Для варианта FSnow достаточно приписать пути к iso-шкам или переложить их boot, и подкорректировать параметры загрузки для формируемых пунктов меню.
« Последнее редактирование: Июль 15, 2011, 10:19:33 от vmf »

Оффлайн FSnow

  • Global Moderator
  • *****
  • Автор темы
  • Сообщений: 689
А для grub4dos параметры загрузки Рунту не подскажете? А то смутно помню, что там не совсем тривиально было...
Никогда не пользовался grub4dos. Попробуйте так:
title Runtu Lite 10.04 Live
map /iso/runtu-lite_10.04-201107-i386.iso (hd32)
map --hook
root (hd32)
kernel /casper/vmlinuz boot=casper iso-scan/filename=/iso/runtu-lite_10.04-201107-i386.iso locale=ru_RU.UTF-8 console-setup/layoutcode=ru noeject noprompt splash --
initrd /casper/initrd.lz

нужно добавить, что далеко не все образы с линуксом позволяют себя грузить таким образом
К сожалению, это так. Добавил.

Оффлайн Vladimir

  • Новичок
  • **
  • Сообщений: 10
  Вопрос , можно ли использовать casper-rw c точностью до наоборот ?
  В Unetbootin-windows-555 cделана загрузочная флешка с  медиацентром GEEXBOX 2.0. В unetbootin указал одновременно на создание casper-rw 1500мБ ( всё свободное пространство у флешки).

При загрузке GEEXBOX с этой флешки все данные сохраняются в casper-rw, то есть всё работает как часы .
  1. Следуя  руководству  по установке этого линукса на HDD  http://www.geexbox.org/geexbox-for-pc-booting-from-hdd/ ,  в /root  создал каталог /GEEXBOX - куда с флешки скопировал файлы initrd и vmlinuz.
  2. В /root скопировал файл rootfs и casper-rw
  3. В grub.cfg добавил секцию загрузки GEEXBOX  :
menuentry 'GeeXboX' --class ubuntu --class gnu-linux --class gnu --class os {
        recordfail
        set gfxpayload=$linux_gfx_mode
        insmod part_msdos
        insmod ext2
        set root='(hd0,msdos6)'
        search --no-floppy --fs-uuid
        linux /GEEXBOX/vmlinuz root=/dev/sda6 ro vga=789 quiet splash loglevel=3
        initrd /GEEXBOX/initrd
}

  В меню выбора загрузки OS появился GEEXBOX , запускается без флешки с HDD, работает. Но изменения в настройках и данные( картинки, плагины )  не сохраняет в силу того , что casper-rw никаким образом не привязан к этой GEEXBOX_Linux_ OS.
   Можно  решить эту проблему ?
 Спасибо.
« Последнее редактирование: Октябрь 09, 2011, 16:45:55 от Vladimir »

Оффлайн FSnow

  • Global Moderator
  • *****
  • Автор темы
  • Сообщений: 689
Если делать по аналогии с Ubuntu, то можно попробовать добавить persistent к параметрам ядра.

Оффлайн Vladimir

  • Новичок
  • **
  • Сообщений: 10
вставлял такую опцию в строку
 linux /GEEXBOX/vmlinuz root=/dev/sda6 ro vga=789 persistent quiet splash loglevel=3 persistent

ругается при загрузке:
mount:mounting none on /newroot failed: Invalid argument
cannot mount aufs, dropping to shell

 заодно менял ro на rw - всё равно ругается.
- возврат получился стандартный "No such file or directory"
ещё в /etc/mtab  этой оси все диски смонтированы с параметром "ro"
Но если грузиться с флешки , то всё работает и появляется .data - я так понимаю это и есть призрак casper ?  А в принципе casper-rw  -   может или не может быть применим к HDD? Или придётся создавать раздел DATA в ext2 и прописывать его в grub.cfg как DATA-/dev/sda7 ?
p.s. Частично могу привести mtab загрузки этой оси с флешки :
#nano /etc/mtab
rootfs / rootfs rw 0 0
/dev/sdd1 /.root vfat rw,relatime,fmask=0022,dmask=0022,codepage=cp850,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/loop0 /.squashfs squashfs ro,relatime 0 0
/dev/loop1 /.data ext2 rw,noatime,errors=continue 0 0

и с HDD :
#nano /etc/mtab
rootfs / rootfs rw 0 0
/dev/sda6 /.root ext4 ro,relatime,barier=1,data=ordered 0 0
/dev/loop0 /.squashfs squashfs ro,relatime 0 0
none /.data tmpfs rw,relatime 0 0

Вместо /dev/loop1 /.data ext2 имеем none /.data tmpfs  .
Спасибо за быстрый отклик .
« Последнее редактирование: Октябрь 10, 2011, 11:49:31 от Vladimir »

Оффлайн FSnow

  • Global Moderator
  • *****
  • Автор темы
  • Сообщений: 689
Мне, к сожалению, тоже не удалось запустить GeeXboX с жесткого диска в режиме persistent...

Оффлайн Vladimir

  • Новичок
  • **
  • Сообщений: 10
FSnow, спасибо за  участие в решении проблемы.
   Получилось таким образом :
  Для загрузки geexbox с HDD для сохранения данных нужно  создать ещё один раздел в ext2 или 3 - в моём случае это стал логический раздел  /dev/sda7.
  В grub.cfg в секции загрузчика ядра geexbox дописать data=/dev/sda7 :
linux /GEEXBOX/vmlinuz root=/dev/sda6 data=/dev/sda7 ro vga=789 quiet splash loglevel=3


  В случае, когда geexbox загружался с флешки,  в менеджере файлов xbmc_geexbox можно было увидеть при добавлении источника   - директорию .data и в ней копии /etc, /usr , /media.
.data --- так  определяется при  загрузке с флешки файл casper-rw и сюда же сливаются пользовательские настроки для сохранения при последующей загрузке .
А если распаковать initrd.xz из дистрибутива geexbox_linux , то в скрипте init можно увидеть как монтируется каспер при загрузке с флешки:
# setup aufs
if [ "$PERSISTENT" = yes ]; then
   DATA=/mnt/casper-rw
   PERSISTENT_OPT="-o loop -t ext2"
   [ ! -f "$DATA" ] && unset DATA && unset PERSISTENT_OPT
fi

Ну вообщем отсюда и вылезла идея выгрузить data из памяти tmpfs  в логический раздел /dev/sda7 для сохранения данных geexbox при загрузке с HDD.
Сумбурно наверное написал , но в линукс новичок- мне простительно.
Спасибо за помощь.
« Последнее редактирование: Ноябрь 05, 2011, 18:57:22 от Vladimir »

Оффлайн rundel

  • Прохожий
  • *
  • Сообщений: 1
День добрый.
У меня проблемы со звуком в ноутбуке AS5520G и я решил создать Live-USB, т.к. в ноутбуке нет DVD-привода(сломался и я его убрал).
Скачал по ссылкам с вашего форума:
1.runtu-lite_10.04-201107-i386.iso
2.Ubuntu_10.04-201012.iso
На другом ноутбуке образ(runtu-lite_10.04-201107-i386.iso) записал на CD-RW, загрузился с этого CD и зашёл на ваш форум. Так произошло моё первое знакомство с Ubuntu(Nautilus 2.30.1) и ещё прочетал некоторые главы "Руководство по переходу на Ubuntu 10.04 LTS «Lucid Lynx»"
В этой теме я что-то не заметил какую флешку надо брать(2,4,8 или 16Гб) для создания мультизагрузочной флэшки?
 Похоже для меня будет трудно создать мультизагрузочную флэшку.
Есть ли возможность скачать образ Live-USB, а потом записать на USB-Flash?
Можно как-то записать образ (runtu-lite_10.04-201107-i386.iso) на флешку, чтобы загрузиться с моего ноутбука?
Где-то вчера прочёл(жаль не сохранил), что достаточно загрузить runtu-lite с CD, а потом уже через меню записать образ на USB-Flash.
И ещё, если я сейчас качаю через Firefox и по умолчанию в папку "Загрузка", то эта папка "Загрузка" на жёстком диске или на какой-то вертуальной машине?
Спасибо.


Оффлайн FSnow

  • Global Moderator
  • *****
  • Автор темы
  • Сообщений: 689
Можно как-то записать образ (runtu-lite_10.04-201107-i386.iso) на флешку, чтобы загрузиться с моего ноутбука?
Где-то вчера прочёл(жаль не сохранил), что достаточно загрузить runtu-lite с CD, а потом уже через меню записать образ на USB-Flash.
Документация к Runtu LITE 10.04

В этой теме я что-то не заметил какую флешку надо брать(2,4,8 или 16Гб) для создания мультизагрузочной флэшки?
Главное, чтоб загрузчик + образы умещались на флешке.

И ещё, если я сейчас качаю через Firefox и по умолчанию в папку "Загрузка", то эта папка "Загрузка" на жёстком диске или на какой-то вертуальной машине?
Если вы загрузились с LiveCD, то папка находится в оперативной памяти, и всё скачанное будет потеряно после перезагрузки.

Оффлайн brahner

  • Прохожий
  • *
  • Сообщений: 2
а есть возможность загрузить через граб live cd windows,если так можно то объясните как.Нужно runtu lite,ubuntu 10.04,windows xp
HP G7030er Intel Celeron540 1.86GHz 1G, iconBIT nettab sky 3g duo

Оффлайн sfs

  • Местный
  • *****
  • Сообщений: 722
    • PuppyRus-Arch
В итоге у кого-нибудь получился persistent на runtu?

Оффлайн smik55

  • Местный
  • *****
  • Сообщений: 1111
Нашел хорошую статью Создание мультизагрузочной флешки с помощью SARDU здесь http://itshaman.ru/articles/408/sozdanie-multizagruzochnoi-fleshki-s-pomoshchyu-sardu. Но так и не нашел ссылку на закачку SARDU. Понял так, что за нее хотят денег ( может просто не сумел ). Но нашел хороший сайт, где еще можно выбрать разные программы для создания мультизагр. флешки . Здесь MultiSystem – Create a MultiBoot USB from Linux , но я ничего не понял в инструкции по установке.http://www.pendrivelinux.com/multiboot-create-a-multiboot-usb-from-linux/
 Там большой выбор для Виндовс (exe ), но мало для Линукс. Мне пока удалось скачать XBOOT – Multiboot ISO/USB Creator http://www.pendrivelinux.com/xboot-multiboot-iso-usb-creator/ 5.3.Мб. и YUMI – Multiboot USB Creator (Windows).  Они под Винду (exe ), но записывают и Линукс ИСО.. Пока еще не разбирался. Может кто найдет из этого списка что то подходящее под Линукс или есть опыт работы с ними, отпишите сюда свои результаты.
« Последнее редактирование: Апрель 01, 2012, 00:58:45 от smik55 »