Краткая инструкция по созданию мультизагрузочной флешки, содержащей SYSLINUX (на русском), Grub4dos (на русском), Debian x86/amd64 netinstall, Gentoo x86/amd64, Clonezilla, 4DOS, Windows XP/2k/2.003k (экспериментально, для установки Windows рекомендуется пользоваться другим средством), SystemRescueCd (memtest86, ntpasswd, FreeDOS, GAG, Ranish, HDT, DBAN, mhdd, Netboot, Grub2, Xfce, Gparted). С течением времени список будет пополняться.
Инструкция создана в личных интересах, для экономии времени и дабы избавиться от прочтения длинных руководств, а быстро иметь готовый результат.

ШАГИ:
  1. Бэкап данных на флешке (cp/tar/rsync).
  2. под Windows: скачиваем образ SystemRescueCD-Installer.exe и следуем инструкции по приведённой ссылке;
    под Linux: Монтируем образ SystemRescueCd-x86-x.x.x.iso с опцией exec и выполняем от суперпользователя скрипт usb_inst.sh, пример команды (iso_path заменить на относительный путь к скачанному образу):
    iso_path=/path/to/systemrescuecd-x86-x.x.x.iso; mkdir iso_dir && sudo mount -o loop,exec "$iso_path" iso_dir && sudo iso_dir/usb_inst.sh && echo "Установка SystemRescueCD успешна\! =)" || echo "Установка прошла с ошибкой\!" ; sudo umount iso_dir ; rmdir iso_dir
  3. Указываем правильный тип файловой системы, чтобы DOS>=7.1 увидел её, пример под Linux (под Windows хз - как):
    sudo fdisk /dev/sdX (вместо X подставить своё), нажать t, b, w, Enter.
  4. Добавляем пункты меню в флешка/syslinux/syslinux.cfg до первого вхождения LABEL
    LABEL Debian netinstall 32 bit
    	MENU LABEL Debian netinstall 32 bit
    	KERNEL vmlinuz-debian32
    	initrd initrd-debian32.gz
    
    LABEL Debian netinstall 64 bit
    	ENU LABEL Debian netinstall 64 bit
    	KERNEL vmlinuz-debian64
    	initrd initrd-debian64.gz
    
    LABEL Grub 4 Dos
    	MENU LABEL 0) Grub 4 DOS
    	KERNEL grub.exe
    
    # во-первых, не находит файлы, ищет их в корне /, а не /I386 флешки,
    # копирование оных в корень всё равно не спасает, пишет, что другой файл не найден в WTMP..что-то...бла-бла...бла...
    #LABEL winxp
    #	MENU LABEL Boot Windows 2000/XP/2003 (SETUPLDR.BIN) from CD/DVD
    #	COM32 chain.c32
    #	APPEND ntldr=/I386/SETUPLDR.BIN
    #LABEL win7
    #	MENU LABEL Boot Windows Vista/2008/7 (bootmgr) from CD/DVD
    #	COM32 chain.c32
    #	APPEND ntldr=/bootmgr
    
    # ВЫХОД: грузить dos 7-ой версии (6-ая не видит fat32), и из него устанавливать
    LABEL 4dos
    	MENU LABEL 4DOS MS-DOS 7.1 RUS
    	kernel memdisk
    	append initrd=/bootdisk/4dos.ima floppy
    
    # нужно найти и скачать, если нужно... =)
    LABEL dos622
    	MENU LABEL DOS 6.22
    	kernel memdisk
    	append initrd=/bootdisk/dos622.img floppy
     
  5. Извлекаем из архива Grub4dos файл grub.exe на флешку в директорию /syslinux/
  6. Для сетевой установки Debian, нужно скачать образы ядра 32bit, initrd 32bit, ядра 64bit, initrd 64bit
  7. и поместить их на флешку в директорию /syslinux/, переименовав их в vmlinuz-debian32, initrd-debian32.gz, vmlinuz-debian64, initrd-debian64.gz соответственно.
    Под Linux это можно сделать одной командой (path - путь к примонтированному накопителю, release=stable|testing|sid):
    path=/mnt/flash ; release=testing; ftp_url="ftp://ftp.debian.org/debian/dists/$release/main/installer" ; ftp_path="current/images/netboot/debian-installer" && p="$ftp_url-i386/$ftp_path/i386" && wget "$p/linux" -O "$path/syslinux/vmlinuz-debian32" && wget "$p/initrd.gz" -O "$path/syslinux/initrd-debian32.gz" && p="$ftp_url-amd64/$ftp_path/amd64" && wget "$p/linux" -O "$path/syslinux/vmlinuz-debian64" && wget "$p/initrd.gz" -O "$path/syslinux/initrd-debian64.gz" && echo "Скачивание образов успешно\! =)" || echo "Скачивание или запись образов прошли с ошибкой\! =("
    Создать файл флешка/menu.lst для Grub4dos примерно такого содержания:
    color black/cyan yellow/cyan
    timeout 30
    default /default
    
    splashimage=/splash.xpm.gz
    foreground=AB82FF
    background=191970
    
    # map + Contig/WinContig выдаёт синий экран во время установки в конце определения
    # оборудования, после того, как модули драйверов загружены XP
    # map --mem вообще висит долго в чёрном экране, потом может быть что-то и появляется, забил
    #title WinXP iso
    #find --set-root /winxp.iso
    #    map /winxp.iso (hd32)
    #    map --hook
    #    root (hd32)
    #    chainloader (hd32)
    
    # РАБОЧИЙ ВАРИАНТ ДЛЯ УСТАНОВКИ Windows XP, 2003, 2000, 98, 95 и восстановления загрузчика SYSLINUX после затирания его ntldr
    # скачиваем в /mnt/flash/bootdisk/ 4dos.ima или отсюда
    # !!! убедитесь, что тип файловой системы на флешке указан, как W95 FAT32, а не Linux. Для этого выполните
    # sudo fdisk /dev/sdX что там для Вашей флешки, нажмите p, вывод должен быть примерно таким:
    # /dev/sdb1   *           1    15224831     7612415+   b  W95 FAT32
    # если же вывод такой:
    # /dev/sdb1   *           1    15224831     7612415+  83  Linux
    # , то нажмите t, затем b, это укажет правильный тип файловой системы, в противном случае
    # DOS не увидит этого диска.
    # Для установки Windows XP требуется выбрать в начальном меню загрузки Grub 4 Dos,
    # затем пункт, что приведён ниже для загрузки Dos 7.1 Rus, после чего выполнить
    # smartdrv ; c: ; cd c:\install\windows\i386 ; winnt.exe - запустится установка Windows.
    # для Windows 98 емнип setup.exe
    # соответственно, директорию i386 нужно скопировать на флешку с Вашего честно купленного диска с вендой.
    
    title 4DOS MS-DOS 7.1 RUS
    	map --mem /bootdisk/4dos.ima (fd0)
    	map --hook
    	chainloader (fd0)+1
    	rootnoverify (fd0)
    
  8. Для установки Gentoo из stage3 помещаем архивы portage-latest.tar.bz2, stage3-i686-xxx.tar.bz2 и stage3-amd64-xxx.tar.bz2 на флешку в /install/gentoo/, предварительно создав эту директорию.
    Под Linux как всегда рулит shell (path - путь к примонтированному накопителю):
    path=/mnt/flash ; full_path="$path/install/gentoo" ; url_path="http://mirrors.kernel.org/gentoo/releases" ; mkdir -p "$full_path" && fname=`wget $url_path/x86/autobuilds/latest-stage3-i686.txt -O - 2>/dev/null | tail -n1 | cut -d/ -f2` && wget "$url_path/x86/autobuilds/current-stage3-i686/$fname" -O "$full_path/$fname" && fname=`wget $url_path/amd64/autobuilds/latest-stage3.txt -O - 2>/dev/null | tail -n1 | cut -d/ -f2` && wget "$url_path/amd64/autobuilds/current-stage3/$fname" -O "$full_path/$fname" && wget "$url_path/snapshots/current/portage-latest.tar.bz2" -O "$full_path/portage-latest.tar.bz2" && echo "Скачивание stage3 и portage завершилось успешно\! =)" || echo "При скачивании stage3 или portage произошла ошибка\! =("
  9. Для возможности работы в DOS 7.1, скачиваем образ дискеты отсюда или оттуда и помещаем на флешку в /bootdisk/
    В Linux снова рулит однострочник (path заменить на своё):
    path=/mnt/flash ; wget http://www.backbone.ws/share/dist/os/dos/4dos.ima -O "$path/bootdisk/4dos.ima" && echo "Успех\! =)" || echo "Неудача\! =("
  10. Внимание! Установка Windows приведённым в этом пункте способом 100% затрёт загрузчик SYSLINUX и может сделать флешку вообще незагружаемой, т.к. Windows ставит загрузчик через раз.
    Если всё же удалось поставить Windows таким образом, можно используя уже загрузчик NTLDR, перейти в grub4dos, выбрать DOS 7.1, выполнить c:, после чего выполнить syslinux.com c: (syslinux.com должен быть распакован на флешку из флешка/bootprog/syslinux-x.xx.zip/dos/), это восстановит загрузчик SYSLINUX. Всё же рекомендуется для установки Windows использовать другие средства и другую флешку.
    Для установки Windows XP необходимо поместить в корень флешки файлы ntdetect.com (из директории установки Windows /I386/) и grldr (из Grub4dos).
    Нужно создать файл флешка/boot.ini:, пример:
    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
    C:\grldr="Grub4Dos"
    
  11. Clonezilla.
    Скачайте с оф.сайта ISO-образ последней стабильной или тестируемой версии.
    Скопируйте из образа (предварительно распаковав или смонтировав его) 3 файла из директории live так, чтобы на флешке получилась следующая структура:
    флешка
    ├── live
    │   ├── filesystem.squashfs
    │   ├── initrd.img
    │   └── vmlinuz
    
    Скопируйте из файла clonezilla-live-xxx.iso/syslinux/syslinux.cfg строки от первого MENU TITLE до первого MENU END включительно и вставьте их перед первым вхождением LABEL в файле флешка/syslinux/syslinux.cfg

  12. Ещё примеры пунктов меню для флешка/menu.lst загрузчика Grub4dos:
    title find and load NTLDR of Windows
    	NT/2K/XP
    	fallback 1
    	find --set-root /ntldr
    	chainloader /ntldr
    	savedefault --wait=2
    
    title find and load CMLDR, the Recovery
    	Console of Windows NT/2K/XP
    	fallback 2
    	find --set-root /cmldr
    	chainloader /cmldr
    
    #.....................................
    # write string "cmdcons" to
    memory 0000:7C03 in 2 steps:
    #.....................................
    # step 1. Write 4 chars "cmdc"
    at 0000:7C03
    write 0x7C03 0x63646D63
    # step 2. Write 3 chars "ons"
    and an ending null at 0000:7C07
    write 0x7C07 0x00736E6F
    savedefault --wait=2
    
    title find and load IO.SYS of Windows
    	9x/Me
    	fallback 3
    	find --set-root /io.sys
    	chainloader /io.sys
    	savedefault --wait=2
    
    title find and boot Mandriva with
    	menu.lst already installed
    	fallback 4
    	find --set-root /etc/mandriva-release
    	savedefault --wait=2
    	configfile /boot/grub/menu.lst
    
    title find and boot Linux with menu.lst
    	already installed
    	fallback 5
    	find --set-root /sbin/init
    	savedefault --wait=2
    	configfile /boot/grub/menu.lst
    
    title commandline
    	savedefault --wait=2
    	commandline
    
    title floppy (fd0)
    	chainloader (fd0)+1
    	rootnoverify (fd0)
    	savedefault --wait=2
    
    title back to dos
    	savedefault --wait=2
    	quit
    
    title reboot
    	savedefault --wait=2
    	reboot
    
    title halt
    	savedefault --wait=2
    	halt
    
    title memdrive duplicated from floppy
    	image file (hd0,0)/sbm.bin
    	map --mem (hd0,0)/sbm.bin (fd0)
    	map --hook
    	chainloader (fd0)+1
    	rootnoverify (fd0)
    	savedefault --wait=2
    
    title memdrive based on win98 partition
    	(hd0,6)
    	map --mem (hd0,6)+1 (hd0)
    	# map --mem (hd0,0)/win98.gz (hd0)
    	map --hook
    	chainloader (hd0)+1
    	rootnoverify (hd0)
    	savedefault --wait=2
    
    title Boot Windows XP
    	root (hd0,1)
    	chainloader +1
    	savedefault
    
    title Boot Options
    	lock
    	find --set-root /submenu.lst
    	configfile /submenu.lst
    
    title Find “hdd.tag” and chainload
    	partition
    	find --set-root /hdd.tag
    	chainloader +1
    
    title Find and load “ntldr”
    	find --set-root /ntldr
    	chainloader /ntldr
    
    title debian-6.0.0-i386-netinst.iso
    	(hd32 --mem)
    	map --mem
    	(hd0,0)/debian-6.0.0-i386-netinst.iso (hd32)
    	map --hook
    	root (hd32)
    	chainloader (hd32)
    	boot
    
    title debian-6.0.0-i386-netinst.iso
    	(0xFF --mem)
    	map --mem
    	(hd0,0)/debian-6.0.0-i386-netinst.iso (0xFF)
    	map --hook
    	root (0xFF)
    	chainloader (0xFF)
    	boot
    
    title debian-6.0.0-i386-netinst.iso
    	(hd32)
    	map
    	(hd0,0)/debian-6.0.0-i386-netinst.iso (hd32)
    	map --hook
    	root (hd32)
    	chainloader (hd32)
    	boot
    
    title debian-6.0.0-i386-netinst.iso
    	(0xFF)
    	map
    	(hd0,0)/debian-6.0.0-i386-netinst.iso (0xFF)
    	map --hook
    	root (0xFF)
    	chainloader (0xFF)
    	boot
    
    title debian-6.0.0-i386-netinst.iso
    	(--mem maxblast)
    	map --mem
    	(hd0,0)/debian-6.0.0-i386-netinst.iso (hd32)
    	map --hook
    	map --mem (hd32)/images/maxblast.igz
    	(fd0)
    	map --hook
    	root (fd0)
    	chainloader +1
    	boot
    
    title debian-6.0.0-i386-netinst.iso
    	(--mem maxblast --mem floppy)
    	map --mem
    	(hd0,0)/debian-6.0.0-i386-netinst.iso (hd32)
    	map --hook
    	map --mem (hd32)/images/maxblast.igz
    	(fd0)
    	map --hook
    	map --mem (fd0)/floppy.img.gz (fd1)
    	map --hook
    	root (fd1)
    	chainloader +1
    	boot