Сегодня рассмотрим пример самостоятельного создания мультизагрузочного Live USB. Тема до недавнего времени сложная для человека не разбирающегося в программировании. Попробуем «запихнуть» на USB flash 64-битную операционную систему MenuetOS, маленький Damn Small Linux, а также поразмышляем над тем, как туда же поместить ещё какой-нибудь Live soft…

Есть такая операционная система — MenuetOS. Помещается она на 3.5″ дискету (помните такие?). С графической оболочкой, с приложениями, со всей своей многозадачностью… Вот её и попробуем загрузить с USB flash. Идём на сайт, скачиваем понравившийся образ. В моём случае это файл M64-090H.IMG. Установка на USB этой операционной системы с помощью UNetbootin выглядит так:

(Кстати, «Как сделать Live USB с помощью UNetbootin» можно узнать, прочитав предыдущую статью блога.)

Если мы попробуем загрузиться, то увидим такие картинки (кликабльно):

Большой скриншот

Скриншоты делал с помощью фотоаппарата. ;) Так быстрее и проще оказалось.

Полюбуемся на то, что легло на USB диск в процессе установки. Это всего пять файлов:
syslinux.cfg
ldlinux.sys
ubninit
ubnkern
vesamenu.c32

Очевидно, что syslinux.cfg — фал, в котором хранятся параметры загрузки. Откроем его и узнаем, что ubnkern является образом ядра, а ubninit - рамдиском. Остальные файлы — собственно загрузчик.

Я переименовал файлы, относящиеся к загружаемому образу. Добавил подчёркивание в конец имени. Исправил и файл syslinux.cfg (соответственно). Теперь он выглядит так:
default vesamenu.c32
prompt 0
menu title UNetbootin
timeout 100

label menuetOS
menu label menuetOS
kernel /ubnkern_
append initrd=/ubninit_

Теперь я уверен, что при установке другой ОС файлы ubninit и ubnkern не перезапишутся.

Сохраняю где-нибудь копию syslinux.cfg и приступаю к установке DSL:

Этот Линукс загружается не так быстро, как «Менуэт», зато более функционален (кликабельно):

Большой скриншот

Давайте посмотрим, как стал выглядеть файл syslinux.cfg:
default vesamenu.c32
prompt 0
menu title UNetbootin
timeout 100

label unetbootindefault
menu label Default
kernel /ubnkern
append initrd=/ubninit ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 nomce noapic quiet BOOT_IMAGE=knoppix

label ubnentry0
menu label dsl
kernel /boot/isolinux/linux24
append initrd=/boot/isolinux/minirt24.gz ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 nomce noapic quiet BOOT_IMAGE=knoppix
.....
.....
.....

Очевидно, что если мы скопируем из сохранённого syslinux.cfg в тот, что находится на «флешке» строки, посвящённые «Менуэту», то в меню загрузчика появится ещё одна запись. Файл syslinux.cfg будет выглядеть примерно так:
default vesamenu.c32
prompt 0
menu title UNetbootin
timeout 100

label menuetOS
menu label menuetOS
kernel /ubnkern_
append initrd=/ubninit_

label unetbootindefault
menu label Default
kernel /ubnkern
append initrd=/ubninit ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 nomce noapic quiet BOOT_IMAGE=knoppix

label ubnentry0
menu label dsl
kernel /boot/isolinux/linux24
append initrd=/boot/isolinux/minirt24.gz ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 nomce noapic quiet BOOT_IMAGE=knoppix
.....
.....
.....

А при загрузке мы увидим такую картинку:

Что и требовалось доказать. В меню (см. картинку выше) первый пункт относится к микроскопическому MenuetOS, а второй и последующие — к маленькому Damn Small Linux.

Но на этом предлагаю не останавливаться! В меню операционных систем, которые предлагает UNetbootin, есть Smart Boot Manager. Он тоже маленький, не имеет файлов или папок, которые пересекаются с файлами и папками DSL. Можно, например, сохранить файлы DSL (ubninit и ubnkern), а также сохранить копию syslinux.cfg; затем установить Smart Boot Manager на USB flash. Ну а потом привести в соответствие названия файлов-образов с записями в syslinux.cfg.

Теперь у вас появится ещё и универсальный загрузчик, позволяющий загружаться с SD ROM, жёсткого диска или какого-либо другого устройства. Это полезно во время экспериментов, когда в BIOS жёстко установлена «загрузка с USB», чтобы постоянно не «перетыкать» «флешку», а загружаться всегда с неё и выбирать нужную альтернативу.

Поделиться своими впечатлениями можно как здесь, в комментариях, так и на Нашем форуме в ветке UNetbootin и другие программы для создания Live USB.