Мультизагрузочная флешка — создание


Мультизагрузочная флешка о которой я мечтал: просто копируем нужные образы на флешку

Наконец сделал мультизагрузочную флешку своей мечты. Признайтесь, вы тоже хотели просто скопировать нужные ISO-файлы на флешку и получить возможность установки различных версий Windows — семёрку, десятку, 64 и 32-битные, всевозможные дистрибутивы Linux и запускать реанимационные сборки типа WinPE Sergei Strelec. Теперь у меня есть такая универсальная флешка, функционал которой легко расширяется добавлением новых образов. Сейчас расскажу как такое стало возможным и как сделать себе такую же универсальную флешку, а может и лучше.

Меню моей мультизагрузочной флешки Ventoy

Не буду вас больше томить, проект называется Ventoy ( ссылка на проект), с полностью открытым исходным кодом и распространяется совершенно бесплатно. Ventoy основан на Grub2 и поддерживает одновременно загрузку в режимах Legacy BIOS и UEFI (с включенным Secure Boot) с одной флешки.

Если ранее вы пользовались RUFUS (о ней я рассказывал ранее ) или другими инструментами создания загрузочных флешек , то с Ventoy они становятся неактуальны. Такой простоты и гибкости, позволяющей путем обычного копирования на накопитель ISO-образов я ещё не встречал. Ventoy самостоятельно находит все ISO-файлы на флешке и отображает их в меню загрузки. То есть, просто докидываем нужный образ и у вас появляется ещё один вариант загрузки.

Кроме того, можно безболезненно обновлять как сам загрузчик Ventoy, так и дистрибутивы, находящиеся на накопителе. Это позволяет поддерживать мультизагрузочную флешку в актуальном состоянии, так как загрузчик и ISO образы дистрибутивов независимы друг от друга.

Стоит упомянуть и о скорости создания такой флешки. Тут вы ограничены исключительно скоростью записи самого устройства, ведь один ISO-файл копируется в десятки раз быстрее разрозненных мелких файлов. А насколько быстро это будет, если использовать внешний SSD-накопитель типа моего любимого ORICO с Aliexpress . В общем, как вы поняли, я в полном восторге от Ventoy, он полностью работоспособен даже без дополнительных настроек, а ведь его ещё и кастомизировать под себя.

Тот самый ORICO NVMe NGFF M.2 SSD накопитель, о котором я писал

Хотя проекту Ventoy чуть больше года (появился в 2020 году), он активно развивается и к нему уже существует масса всевозможных настроек и модификаций. Вы можете при желании всё настроить под свои вкусы и предпочтения. Мне же хватает и базовой функциональности, что называется из коробки, ведь это в первую очередь рабочий инструмент.

Как создать мультизагрузочную флешку в Ventoy

Скачайте архив программы с официального сайта https://ventoy.net и распаковав, запускаем исполняемый файл (есть вариант для Windows и Linux).

В окне программы выбираем нужную флешку или внешний накопитель. Программа дважды предупредит вас, что все данные с флешки будут удалены, соглашаемся и нажимаем кнопку «Установить». Весь процесс занимает около минуты.

Единственное что я изменил, это включил в настройках Ventoy поддержку Secure Boot (по умолчанию отключена, но куда сейчас без неё), а стиль разметки разделов оставил MBR без изменений, для совместимости со старыми компьютерами и установки Windows 7.

Добавляем поддержку Secure Boot на флешку

Я не стал дополнительно разделять накопитель на разделы, хотя такая возможность присутствует. Нужно это для того, чтобы помимо образов хранить на флешки и обычные файлы и дистрибутивы. У меня флешка полностью выделена под работу с образами, а для всего остального лучше завести дополнительную.

Остаётся только скопировать необходимые загрузочные файлы ISO, при желании можно разбить их по отдельным каталогам. Лично я считаю это бестолковым занятием, так как выбирать необходимый образ из одного списка удобнее, чем лазить по папкам. Впрочем, у каждого своё мнение, знаю любителей разбить жесткий диск на много разделов и считающих что это фантастически удобно.

Образы дисков Windows 7/10, Deepin Linux и WinPE Sergei Strelec на одной мультизагрузочной флешке

Я уже упоминал, что Ventoy предоставляет возможность кастомизировать настройки меню, изменить тему оформления, добавить иконки и другие параметры с помощью файла конфигурации ventoy.json (находится в папке ventoy\ventoy.json). Подробнее ознакомиться со всеми опциями файла конфигурации можно на официальном сайте.

Чуть не забыл про один крайне важный момент. Для корректной работы загрузчика, не стоит использовать русские символы и пробелы в именах ISO-файлов.

Подписывайтесь на канал и узнавайте первыми о новых материалах, опубликованных на сайте.

ЕСЛИ СЧИТАЕТЕ СТАТЬЮ ПОЛЕЗНОЙ,
НЕ ЛЕНИТЕСЬ СТАВИТЬ ЛАЙКИ И ДЕЛИТЬСЯ С ДРУЗЬЯМИ.

Ventoy. Мультизагрузочная флешка

Так выглядит загрузочный интерфейс Ventoy

Утилит для создания мультизагрузочных флешек много, а для чего такие флешки или диски на хабре я думаю, объяснять не требуется. До последнего момента я пользовался WinSetupFromUsb и Rufus пока не узнал про Ventoy. В коментах указали про такие тулзы как YUMI, E2B etc. Не знал про них, спасибо за наводку.

Итак, скачать можно утилиту в виде zip архива с github страницы проекта (Windows/ Linux). Распаковываем и запускаем.

Интерфейс утилиты

Как этим пользоваться?

  • Вставляем наш флеш диск в ПК
  • В опциях выбираем стиль разметки диска MBR/GPT
  • Включаем SecureBoot если нужно
  • Нажимаем Установить, Ventoy установлен, он больше не нужен.
  • Если необходимо установить утилиту на иной накопитель (SD, NVMe, HDD, SSD, CD/DVD) в опциях выбираем «показать другие устройства».
Новые статьи:  Компьютер зависает - что делать?

Утилита разбивает диск на два раздела — загрузочный GRUB/Syslinux и основной. По умолчанию файловая система основного раздела exFAT — но можно отформатировать FAT32, NTFS, UDF, XFS, Ext2, 3, 4. С основным разделом мы уже работаем в проводнике, файловом менеджере, в общем где хотите. Перетаскиваете туда новые образы (ISO/WIM/IMG/VHD(x)/EFI) и удаляете старые, проще говоря, работаете как с обычными файлами.

Основной раздел под образы можно ещё подразбить на дополнительный. Зачем? Дело в том, что после загрузки в режиме live usb, раздел с образами становится недоступен. На дополнительный раздел можно сохранить необходимые файлы для работы с live usb.

По умолчанию Ventoy сканирует все образы на диске и выводит их списком алфавитном порядке. Это удобно если их не очень много, однако проще всего будет поместить в папки. Режим TreeView включается клавишей F3, так можно увидеть все каталоги, подкаталоги и сами файлы. Нажимая Esc, можно выйти из режима TreeView. Если поместить файл .ventoyignore в какую либо папку, Ventoy ее сканировать не будет.

И основное отличие Ventoy от YUMI — в поддержке множества файловых систем, как то FAT32 / exFAT / NTFS / UDF / XFS / Ext2, 3,4. У YUMI с этим все грустно, пока всего лишь NTFS и FAT32, а exFAT все еще в разработке.

Про плагины

Как любезно указал в коментах @Oxyd,в статье не хватает слов про плагины. Извольте. Итак, плагины и файл конфигурации ventoy.json хранятся в основном каталоге с образами. Для этого создадим папку / ventoy и поместим туда ventoy.json.

Пример json файла

< "control": [ < "VTOY_DEFAULT_MENU_MODE": "1" >, < "VTOY_FILT_DOT_UNDERSCORE_FILE": "1" >], "theme": < "file": "/ventoy/theme/blur/theme.txt", "gfxmode": "1920x1080" >, "auto_install" : [ < "image": "/ISO/cn_windows_server_2012_r2_vl_x64_dvd_2979220.iso", "template": "/ventoy/script/windows_unattended.xml" >, < "image": "/000/centos.iso", "template": "/ventoy/script/centos_kickstart.cfg" >] >

Подробнее про плагины можно узнать здесь. Лично мне они не нужны, так как хватает возможностей из коробки.

Начиная с версии 1.0.55 утилита научилась устанавливать Windows 11 на несовместимые устройства, для этого надо использовать специальный плагин. Создаем текстовый файл, вставляем код и переименовываем его в ventoy.json , размещаем в корне распакованной программы, а потом устанавливаем на диск.

Подытожим:

Плюсы:

  • Открытый исходный код GPLv3
  • Однокнопочный интерфейс
  • Скорость установки ограничена скоростью накопителя
  • Можно установить на любой подходящий диск — SD Card, NVme, HDD, флешка, оптический диск
  • Установка из ISO / WIM / IMG / VHD (x) / EFI без распаковки
  • Поддержка разметки MBR/GPT
  • Поддержка x86 Legacy BIOS, IA32 UEFI, x86_64 UEFI, ARM64 UEFI, MIPS64EL UEFI
  • Основной раздел можно форматировать в FAT32 / exFAT / NTFS / UDF / XFS / Ext2, 3,4
  • Поддержка более 730 файлов дистрибутивов и постоянно добавляются новые
  • Накопитель после установки Ventoy можно использовать как обычно (я вставил флешку в смартфон)
  • Обновлять Ventoy необязательно (если используете определенный набор дистрибутивов) но в новых версиях улучшается совместимость.
  • Поддержка плагинов
  • Обширная и исчерпывающая справка по программе.

Минусы:

  • Не все железо поддерживает
  • Не все образы корректно работают, так что это отнюдь не «серебряная пуля»
  • Нет автообновления утилиты.
  • ventoy
  • мультизагрузочная флешка.

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

Загрузочный USB Flash или HDD накопитель удобен тем, что можно отказаться от использования CD/DVD для установки ОС и использования диагностических программ типа Memtest, MHDD, Acronis TI.

«Мультизагрузочная» флешка или HDD хороши тем, что можно не форматировать весь диск для каждой программы, а один раз установить туда все необходимые программы и при загрузке с него выбирать нужную через красивое меню. В случае с HDD удобно создать для этого отдельный небольшой раздел.

Существует множество решений для флешек (например, http://eee-pc.ru/wiki/софт:usb_multiboot), но, как правило, они не работают с USB HDD. На хабре я нашел только статью об установке Win7 с USB HDD, но год назад попытки воспроизвести это не увенчались успехом. Для установки Windows 7 с флешки существует MS Win7 DVD Tool, но он опять же не работает с HDD. Поэтому давайте создадим свой мультизагрузочный USB HDD с помощью GRUB4DOS.

  • USB HDD (все описанное должно работать и для флешек).
  • ОС Windows (естественно можно аналогично сделать это и из ОС на базе Linux, но у меня сейчас нет возможности проверить работоспособность и наличие «подводных камней»).
  • Материнская плата (BIOS) с поддержкой загрузки с USB накопителей. Если загрузка с USB не поддерживается, можно использовать Plop, об этом ниже.
Начнем
  1. Скачиваем HP USBFW и форматируем наш накопитель. Обычно все, в том числе и я, пропускают этот шаг. Возможно, будет работать и без него, но лично я перепробовал все стандартные варианты форматирования из Windows 7, однако загрузка с моей 320ГБ Тошибы не работала (зависала сразу после выбора в Boot menu) до использования этой утилиты.
  2. Если воспользовались HP USBFW из прошлого пункта, то можно удалить созданный им на весь диск раздел и создать свой, поменьше (желательно FAT32, иначе могут возникнуть проблемы с некоторыми программами и ОС), а оставшееся место оставить для «файлопомойки».
  3. Устанавливаем загрузчик GRUB4DOS в MBR. Рекомендуется использовать первый вариант, чтобы не ошибиться с выбором диска или раздела.
    1. Можно воспользоваться GUI: для этого скачиваем grubinst-1.1-bin-w32-2008-01-01, запускаем grubinst_gui.exe, выбираем диск, жмем Refresh в Part list и выбираем нужный раздел. Остальные настройки можно не трогать.
    2. Либо в консоли командой:
    grubinst.exe hd(номер диска, номер раздела)

    Для проверки работоспособности многих программ необязательно каждый раз ребутать компьютер. Можно использовать виртуальные машины: MobaLiveCD или VirtualBox. Для VB выполняем в консоли:

    "C:\Program Files\Oracle\VirtualBox\VBoxManage" internalcommands createrawvmdk -filename "C:\USBHDD.VDI" -rawdisk \\.\PhysicalDrive1

    где число в PhysicalDrive — номер нашего загрузочного диска, и указываем полученный файл (C:\USBHDD.VDI) в качестве жесткого диска при создании машины. Однако некоторые ОС (например, Windows 7) могут не работать таким способом.

    Примеры установки некоторых ОС и программ
    Memters86+

    Скачиваем ISO образ с офф. сайта memtest.org/download/4.20/memtest86+-4.20.iso.zip и кидаем его на наш загрузочный HDD (не забываем распаковать .zip архив).

    Открываем Menu.lst текстовым редактором, добавляем туда следующее:

    title Memtest find --set-root /mt420.iso map /mt420.iso (hd32) map --hook root (hd32) chainloader ()

    И попробуем разобраться, что эти команды означают.
    title Memtest — название пункта (Memtest), которое будет отображаться в меню.
    map /mt420.iso (hd32) — загрузка ISO образа, находящегося в корне загрузочного диска (эмуляция CD-ROM).
    root (hd32)— делает виртуальный CD-ROM корневым.
    chainloader () — передает управление другому загрузчику (если в скобках ничего не указано, то используется корневой, в данном случае hd32).

    Ubuntu 10.4

    Также кидаем ISO образ с ubuntu.com на HDD и прописываем в Menu.lst (образ переименован в ubuntu1.iso):

    title Ubuntu map /ubuntu1.iso (hd32) map --hook root (hd32) kernel /casper/vmlinuz iso-scan/filename=/ubuntu1.iso boot=casper quiet splash -- locale=ru_RU initrd /casper/initrd.lz
    Windows 7

    А вот с Win 7 немного сложнее.

    Способ 1:

    Копируем все файлы с диска (образа) Windows 7 и добавляем в Menu.lst:

    title Install Windows 7 find --set-root /bootmgr chainloader /bootmgr

    В некоторых случаях работает, но могут возникнуть различные ошибки во время установки. К тому же таким способом будет работать только если на hdd находится одна Windows 7, иначе (например, если хотим поместить туда х86 и х64) запустится установка первой найденной.

    Способ 2:

    Небольшой скрипт автоматизирующий некоторые операции (в т.ч. добавление пункта в Menu.lst) по изменению образа. Источник — greenflash.su/forum/5-661-1, там же ссылки на подробное описание того, что он делает.

    Способ 3:

    Качаем imdisk, запускаем, копируем полученную папку imdisk на наш диск.
    Создаем в этой папке файлы со следующим содержанием:

    SetupImDisk.cmd

    @ECHO ON rundll32.exe setupapi.dll,InstallHinfSection DefaultInstall 132 .\imdisk.inf

    SetupCDROM7.cmd

    @ECHO ON Set fullname=%srcdrv%\win7.iso imdisk -a -f %srcdrv%\win7.iso -m #:
    @ECHO OFF for %%x in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%x:\imdisk\SetupImDisk.cmd set srcdrv=%%x: echo Find the USB in %srcdrv%\ echo. cd\ %srcdrv% cd imdisk echo Begin with SetupImDisk.cmd echo. call %srcdrv%\imdisk\SetupImDisk.cmd @ECHO OFF echo. echo Now going to SetupCDROM.cmd echo. pause echo. call %srcdrv%\imdisk\SetupCDROM7.cmd @ECHO OFF echo. echo Done. Have Fun. echo. pause for %%y in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%y:\look.win set install=%%y: cd\ %install% cd sources setup.exe exit 

    Либо берем здесь уже готовую папку.

    Кидаем образ Windows 7 в корень диска (не забываем переименовать его в win7.iso или соответственно изменить имена во всех файлах) и в Menu.lst добавляем:

    Title Install Win7 map /win7.iso (hd32) map --hook chainloader (hd32)

    И во время установки Win 7, когда попросит драйвер CD-ROM, открываем консоль (SHIFT+F10) и запускаем setup.bat:

    pushd E:\imdisk — вместо Е буква нашего раздела HDD setup.bat

    UPD: автоматизация этого способа: rghost.ru/20467691 либо greenflash.su/_fr/7/7487664.7z. Файлы из архива (кроме menu.lst и seven.iso) необходимо скопировать в корень раздела (либо соответственно изменить пути в Menu.lst).

    Возможные проблемы и ошибки

    Error 60: File for drive emulation must be in one contiguous disk area

    Решение: нужно дефрагментировать образ. Например, с помощью программы Contig от Марка Руссиновича. Использование: contig.exe g:\ubuntu1.iso в консоли.

    BIOS не поддерживает загрузку с USB, зависает, долго грузится и другие проблемы, связанные с загрузкой с USB HDD

    Решение: Plop boot manager. Вариантов использования много и на их описание не хватит места, поэтому инструкцию на русском можно найти, например, тут.

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

    Более подробный мануал по GRUB4DOS есть здесь (перевод на русский язык, местами кривой) либо в README_GRUB4DOS из архива с GRUB4DOS.

    UPD1: перезалит скрипт из 2 способа вин7: ошибся и выложил старую версию, в ней были проблемы с х64.
    UPD1.1: добавлен автоматизированный 3 способ вин7.

    • Компьютерное железо

    Multiboot, UEFI, NTFS или почти рецепт счастья

    Пост написан по мотивам публикации «Живительная флешка».

    Предисловие

    Доброго времени суток, Хабр. Совсем недавно, читая Хабр, наткнулся на статью Живительная флешка, где был описан способ создания мультизагрузочной флешки с набором полезных утилит, разнообразных систем и т.д. И все бы ничего, да вот и тут зарыта собака — обратим внимание на эту ветку комментариев, в которой обсуждается работоспособность мультизагрузки в системах с UEFI. Таким образом я начал собственное расследование искать универсальный способ решения этой проблемы.

    Далеко ходить не пришлось — еще со времен безумной популярности сборки Windows XP Zver Edition ее разработчики использовали набор утилит под названием RMPrepUSB для записи сборки на USB-накопитель. Сборка ушла из памяти людей, ну а сам проект пакета утилит продолжает развиваться и крепнуть. Ну а сама основа — проект Easy2Boot. Изучая их сайт я нашел универсальный способ создания мультизагрузочной флешки, которая может содержать в себе любой дистрибутив, LiveCD или образы дискет, которые Вы только захотите добавить. Итак, приступим к созданию такой чудо-флешки.

    Начинаем

    Идем на сайт и качаем последний архив с Install_RMPrepUSB_Full в названии. Распаковываем и устанавливаем.
    Внимание: для любителей переносимости — можно открыть установочник в 7-zip (к примеру) и распаковать его в папку без установки.
    Далее идем на сайт Easy2Boot и качаем архив с самим E2B, распаковываем в любую папку на ПК.

    Подготовка флешки

    Заходим в папку с E2B и запускаем файл _ISO\docs\Make_E2B_USB_Drive.cmd.
    Внимание: если Вы не устанавливали, а распаковывали RMPrepUSB, то на первом же этапе Вас попросят указать путь в папке RMPrepUSB.
    Нас попросят указать номер накопителя из приведенного списка, спросят, действительно ли мы хотим форматировать накопитель и попросят выбрать ФС.
    И вот тут внимание! Выбираем FAT32 — грузимся в UEFI без проблем, но нет поддержки файлов >4 Гб, и наоборот — NTFS без UEFI, но с поддержкой больших файлов. Если Ваши образы весять меньше 4 Гб каждый, то смело выбирайте FAT32. С NTFS немного сложнее, а именно — флешка в UEFI не загрузится, но если загрузить ее на обычном биосе, а потом выбрать образ для UEFI (об этом ниже), то Easy2Boot перепишет MBR флешки и она будет загружаться в UEFI, при условии, что в том образе есть его поддержка (наличие файлов efi\bootia32.efi и efi\boot\bootx64.efi)

    Идем по сложному пути — пишем N (то есть форматируем в NTFS), вылезет окошко с подтверждением, жмем ОК и ждем. После форматирования будут скопированы файлы E2B и на зеленом фоне появится надпись «Нажмите любую клавишу».

    Скриншоты


    Структура папок или куда же класть образы?

    • ANTIVIRUS — закидываем образы антивирусных LIveCD (Kaspersky, Dr.Web и иже с ними)
    • AUTO — кидаем любой образ в подпапку с нужным названием (к примеру, по пути Ubuntu\My_Ubuntu_Distro.iso)
    • LINUX — соответственно любой Лунксовый образ закидываем в эту папку.
    • MAINMENU — закидываем образ в эту папку и он появится в главном меню Grub4DOS при загрузке (не в подменю, об этом позже)
    • UTILITIES — образы дискет кидаем сюда
    • UTILITIES_MEMTEST — то же самое, но, увы, точнее сказать не могу
    • WIN — сюда мы будем складывать образы, подготовленные для загрузки в UEFI. Об этом позже
    • WINDOWS — по структуре подпапок несложно понять, что для каждого семейства Windows нужно положить образ в соответствующую ему подпапку.

    Далее запускаем RMPrepUSB, выбираем накопитель в списке и жмем Ctrl+F2, соглашаемся и ждем пару секунд. Программа пошаманит с файлами и можно грузиться с флешки.

    Постой, а как же UEFI?

    Ах, ну да. То, ради чего мы здесь и собрались. Для подготовки образа к загрузке в UEFI, скачаем архив, распакуем его. Устанавливаем файл ImDisk\imdiskinst.exe из папки, после чего перетаскиваем файл образа на скрипт MakePartImage_AutoRun_FAT32.cmd в основной папке. Данный скрипт переделает образ в формат .imgPTN, при монтировании которого E2B будет переписывать MBR и монтировать образ как раздел FAT32. Подробнее Вы можете прочитать тут.

    Как все это выглядит?

    • _ISO\LINUX\linuxmint-17-xfce-dvd-64bit.iso
    • _ISO\WIN\ru-en_win7_sp1_x86-x64_18in1_activated_v2.imgPTN
    • _ISO\WIN\Boot_USB_Sergei_Strelec_2014_v.6.9.imgPTN
    • _ISO\WIN\ru_windows_8_1_pro_vl_x86_dvd_LITE_3.iso

    Скриншоты

    Главное меню флешки

    Подменю Linux

    Подменю с обычными ISO образами Windows

    Подменю с образами для UEFI

    При загрузки образа для UEFI нас спросят, действительно ли мы хотим переписать таблицу разделом флешки? Жмем Enter

    А вот так выглядит загрузчик любого образа для UEFI. Инструкция по возвращению в главное меню ниже.

    Грузимся в биосе, выбираем нужный UEFI образ, переключаем UEFI обратно и получаем флешку с одним разделом, содержащим файлы этого образа. Соответственно, если данный образ поддерживает загрузку в UEFI — он появится в списке устройств, с которых можно загрузиться.

    Внимание! Если Вы загружались с образов, подготовленных для UEFI, то Вы заметите, что при следующей загрузке с накопителя будет меню загрузки с того самого образа. А где же все те, что мы набросали на флешку? Да и файлы на флешке не те… Тут два варианта — из загрузчика выбрать верхний пункт EASY2BOOT или в ОС запустить с флешки скрипт e2b\RestoreE2B (run as admin).cmd.

    В сухом остатке

    Без минусов не обошлось и тут — приходится переключаться в биос для того, чтобы подключить нужный образ. Зато функционал данного набора утилит закрывает все мыслимые и немыслимые потребности в мультизагрузочной флешке.

    Информация с сайта разработчиков

    • www.easy2boot.com/faq-/how-e2b-works
    • www.easy2boot.com/make-an-easy2boot-usb-drive
    • www.easy2boot.com/add-payload-files
    • www.easy2boot.com/add-payload-files/makepartimage
    • www.easy2boot.com/add-payload-files/adding-uefi-images
    • www.easy2boot.com/add-payload-files/adding-windows-install-isos-without-needing-a-helper-flash-drive

Оставьте комментарий