Создание мульти загрузочного USB

Исходные данные ...
есть флешка на 8 Гиг ... нужно сделать её максимально удобной для работы ...
все делается из под Linux на загрузчике Grub4dos и на разных разделах
* есть два минуса в этом
1 - придется раз монтировать все разделы
2 - место ограничено разделом и следовательно расходуется не оптимально. Но зато файлы не смешиваются и "заливать" обновленные дистрибутивы просто ...

Для начала нужно распланировать какие разделы и с чем будем создавать. У меня получилось 5 разделов.
Название Раздел Размер ISO Размер раздела Fs Описание
SAMLAB Основной 5366 ??? Fat32 Сборник драйверов
Hirens Основной 500 ??? Fat32 mini XP с тучей утилит
WinowsXP Основной 603 ??? Fat32 установщик
Dr.Web Расширенный 183 ??? ext3 для лечения компьютера
Knoppix Расширенный 700 ??? ext3 для полноценной работы
первые три это основные остальные два (и более) это логические. Хотелось бы еще: System Rescure, Puppy, и под данные ... но места не хватает ... может когда приобрету флешку на 16 или 32 Гб ...
скачиваем образы iso и складываем их в одну папочку (необязательно, но удобно). Можно подготовить образы используя команду

dd if=/dev/cdrom of=/home/user/CreateLiveCD/imageCD.iso
разбиваем на разделы GParted. Первый желательно fat32 и Windows видит и GRUB ставиться. Не забываем указывать загрузочный (обычно первый)

Установка загрузчика

У меня был выбор из трех загрузчиков GRUB, GRUB2, и Grub4dos. Остальные не рассматривались. GRUB2 не установлен на моей SuSE, и может автоматически искать и прописывать загрузочные разделы, что не всегда есть хорошо. С GRUB долго мучался, но пришлось отказаться от него, так как не разобрался с загрузкой из файлов и основные конфиги все под Grub4dos да и есть расширенный функционал в последнем. Вообшем остановился на Grub4dos установка которого будет описана ниже.

Установка GRUB


Копируем каталог /boot/grub в раздел который мы установили GParted как загрузочный и файл /boot/message, так для красоты: по поводу красоты можно найти в интернете красивую заставку на сайте этом или этом используя слова gfx и message и скопировать её в каталог /boot на котором установлен GRUB. Имя её существенной роли не играет. В файле menu.lst нужно в глобальном раздле её прописать ...
как-то так:

#gfxmenu (hd0,0)/boot/message gfxmenu (hd0,0)/boot/suse.elegant #gfxmenu (hd0,0)message.c4n
Или делаем сами на основании хорошего описания или вот этого описания ...

Размонтируем все разделы
df - смотрим на то какие у нас диски и как они соотносятся Метка - Название

umount /dev/sdc1
устанавливаем GRUB из дистрибутива на котором уже установлен GRUB или из LiveCD c GRUB

grub grub> device (hd0) /dev/sdc // или что там у вас есть grub> root (hd0,0) grub> setup (hd0) grub> quit
главная проблема с которой я столкнулся, что все пути в файле menu.lst нужно указывать только маленькими буквами. Это противоречит принципам Linux и ввергло меня в ступор ...

Установка Grub4dos

скачиваем архив Grub4dos и распаковываем в нужный нам каталог
Ссылки на закачку Grub4dos
запускаем команду

sudo путь/к/bootlace.com --no-backup-mbr /dev/sdX
для установки Grub4dos в MBR. Описание различных вариантов установки
Копируем в корень файлы grlbr и menu.lst и далее редактируем menu.lst под наши нужды
-------------------------------------------------------------------------------------------------------------

Добавляем DrWeb

Оригинальная статья
Шаг 1: Редактируем menu.lst

Если отредактировать файл menu.lst и пропустить всего лишь два параметра (ID и CONSOLE) LiveCD откажется загружаться. Первый — уникальный номер для каждой сборки DrWeb LiveCD, второй — явное указание на какой физической консоли запускается Gentoo.

Чтобы получить «правильные» значения ID и CONSOLE необходимо, вытащить с диска из папки /boot/isolinux/ файл isolinux.cfg:

Нас интересуют два абзаца заканчивающихся на:

* Graphic Mode
* Safe Mode or Snapshots

Дальше необходимо перевести их в вид понятный для G4D (в нашем случае для GRUB):

- Меняем label на title
- Удаляем пробелы в началах строк
- Удаляем ключевое слово append и переносим всю строку начинающуюся с ID к параметрам ядра
- initrd=/boot/initrd переносим на следующую строку, а все что шло после него переносим к параметрам ядра

В итоге у Вас должно получиться как-то так:

title Default Mode
kernel ID=I2tR7pfYJbC2mPKo /boot/vmlinuz root=/dev/ram0 init=/linuxrc init_opts=4 quiet vga=791 splash=silent,theme:drweb CONSOLE=/dev/tty1
initrd=/boot/initrd

title Safe Mode
kernel /boot/vmlinuz ID=I2tR7pfYJbC2mPKo root=/dev/ram0 init=/linuxrc init_opts=3 quiet CONSOLE=/dev/tty1 text help
initrd=/boot/initrd

Эти строки можно смело добавлять в menu.lst ! (я еще после строки title добавил root (hd0,6))

Шаг 2: Потрошим диск

* В корень флешки кладем папку boot из диска
* В дирректории boot будет достаточно оставить папку module и файлы config, initrd, vmlinuz

Я создавал отдельный раздел под DrWeb LiveCD в который и скопировал содержание образа тоесть каталог /boot и все его содержимое. Файловую систему делал ext3 потому как где то вычитал что ext4 еще DrWeb не поддерживается (сам не проверял)

Шаг 3: Обновление

* Скачать свежайший DrWeb LiveCD
* Заменить ID в строках menu.lst на свежий
* Повторяем Шаг 2


Интересная [URL=http://www.chapaty.org/kasha/software/usb-hdd-install-iso-win-7-xp-ubuntu.html]дискусия[/URL] с примерами в том числе есть пример загрузки Windows 7

Заметки:


Примонтировать образ ISO
mount -t iso9660 -o loop /место/где/лежит/образ/image.iso /media/cdrom/
Форматирование флешки
mkfs.vfat -n "Ubuntu" /dev/sdb1