Поддержка > Руководства и инструкции
[How-To] Делаем мультизагрузочную флэшку из ISO-образов с помощью Grub2.
FSnow:
Задача: Сделать мультизагрузочную флэшку с дистрибутивами 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-образа.
l_l_lblTHuK:
А для grub4dos параметры загрузки Рунту не подскажете? А то смутно помню, что там не совсем тривиально было...
kompilainenn:
нужно добавить, что далеко не все образы с линуксом позволяют себя грузить таким образом
vmf:
Я делал мультизагрузочную флешку несколько по другому - просто установил систему на флешку, отформатировав ее в 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, и подкорректировать параметры загрузки для формируемых пунктов меню.
FSnow:
--- Цитата: l_l_lblTHuK от Июль 14, 2011, 18:47:50 ---А для 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
--- Конец кода ---
--- Цитата: remderbauer от Июль 14, 2011, 19:44:47 ---нужно добавить, что далеко не все образы с линуксом позволяют себя грузить таким образом
--- Конец цитаты ---
К сожалению, это так. Добавил.
Навигация
Перейти к полной версии